This repository contains various data structure implementations and projects built from scratch as part of my coursework and personal development. Each project focuses on a specific data structure or algorithm and demonstrates its use in solving practical problems. The projects span a range of fundamental data structures and their applications.
- Description: Implemented a custom array list data structure that supports dynamic resizing, element insertion, deletion, and access by index.
- Key Concepts: Dynamic arrays, resizing, indexing.
- Description: Created a linked list data structure supporting various operations such as insertion, deletion, and traversal.
- Key Concepts: Singly and doubly linked lists, pointer manipulation, memory management.
- Description: Implemented a binary search tree (BST) with support for inserting, removing, and searching nodes, along with handling duplicate values in a multiset fashion.
- Key Concepts: Binary search trees, recursive algorithms, node manipulation.
- Description: Developed a priority queue for simulating the operations of the Green Line subway system, allowing efficient access to the highest priority items.
- Key Concepts: Priority queues, heaps, simulation.
- Description: Built a Reverse Polish Notation (RPN) calculator that evaluates mathematical expressions using a stack data structure.
- Key Concepts: Stacks, expression evaluation, algorithmic problem-solving.
- Description: Implemented a search tool similar to the
grepcommand that searches through text files using hash maps to optimize the search process. - Key Concepts: Hash maps, searching algorithms, file processing.