06 / PROGRAMMING
Java Data Structures
Getting closer to the fundamentals with an unsorted singly linked list and complexity analysis.
The objective
Implement an unsorted singly linked list in Java and examine its operations, algorithms, and complexity. The project connects an abstract data structure to an implementation and its computational cost.
My contribution
- Implemented an unsorted singly linked list in Java as a university programming project.
- Worked with list operations and algorithms.
- Analysed the complexity of the data structure's operations.
Technical challenges & approach
From a list abstraction to linked nodes
I implemented an unsorted singly linked list in Java. In this structure, each node refers to the next, so operations must preserve the chain. Empty lists, the first node, and the end of the chain are important cases when reasoning about correctness; individual test cases are not published here.
Understanding the cost of an operation
I analysed operations in terms of how much of the list they need to visit. For an unsorted singly linked list, finding a value can require traversing all n nodes: O(n) in the worst case. This explains a property of the data structure, rather than a measured benchmark of my implementation.
Learning focus
The project explores how linked structures represent data, how operations work with that structure, and how to reason about their computational complexity.
Project scope
University coursework. The overview describes the implemented structure and the concepts behind it. Source code, an operation-by-operation review, and test results are not available in this portfolio. Complete assignment material is not published.