Java implementations of linked list–based data structures and algorithms completed as part of a data structures assignment.
This repository contains Java programs developed as part of a coursework assignment focused on linked list data structures and related algorithms.
-
LLList.java
Implements a generic singly linked list with basic operations such as add, remove, get, and iteration. Supports tracking the last item for efficient access. -
LLBag.java
Implements a bag (multiset) using a linked list. Provides methods to add, remove, check for containment, grab a random element, and convert to an array. -
Palindrome.java
Contains a method to check whether a string is a palindrome. Uses a stack-based approach to efficiently handle characters, ignoring case and non-letter characters.
- Singly linked list implementation
- Node-based data structures
- Iterators and list traversal
- Stack usage for algorithmic checks
- Algorithmic thinking and complexity
- Defensive programming (null checks, bounds checking)