This repository contains comprehensive coverage of various Data Structures and Algorithms topics.
- List vs ADT List comparison
- List Operations:
- Initialize
- Insert
- Delete
- Member
- Locate
- Other operations
-
Array Implementation (4 versions)
- Version 1: List as structure with array and count
- Version 2: List as pointer to structure
- Version 3: List as structure with dynamic array
- Version 4: List as pointer to structure with dynamic array
-
Linked List Implementation (Singly Link)
-
Cursor-based Implementation
Time Complexity: O(1), O(N), and O(N²)
- Stack concept and principles
- Stack Operations:
- Top
- Pop
- Push
- Utility functions (initStack, isEmpty, isFull)
- Array Implementation (4 versions)
- Linked List Implementation
- Cursor-based Implementation
Time Complexity: O(1) and O(N)
- Queue concept and principles
- Queue Operations:
- Front
- Dequeue
- Enqueue
- Utility functions (initQueue, isEmpty, isFull)
-
Linked List Implementation
- Queue as pointer to dynamic node
- Queue as structure with front/rear pointers
-
Circular Array Implementation
- Solution 1: Counter-based
- Solution 2: MAX-1 elements approach
Time Complexity: O(1) and O(N)
Note: Stack and Queue cannot be traversed as per their definitions.
- Comparison with ADT List
- ADT UID Operations:
- Union
- Intersection
- Difference
- Array Implementation
- Linked List Implementation
- Cursor-based Implementation
- Bit-Vector Implementation
- Computer Word Implementation
- Shift operators (>>, <<)
- Bit-wise operators (&, ^, |, ~)
- Set-based ADT with Insert, Delete, and Member operations
- Open Hashing (External Hashing)
- Closed Hashing (Internal Hashing)
- Key concepts: Collision, Synonyms, Linear Probing
- Performance metrics: Load Factor, Average Search Length
- External Memory Implementation
- Tree concepts and terminology
- Traversals:
- Preorder
- Inorder
- Postorder
- Parent Pointer Implementation
- List of Children Implementation
- Binary Trees
- Expression Trees
- Huffman Code
- Implementation and operations
- Comparison with AVL trees
- Binary vs Sequential Search
- Min/Max Heap implementations
- Heap operations
- Heapsort algorithm
-
Graph Types
- Directed
- Undirected
-
Implementations
- Adjacency Matrix
- Adjacency List
-
Algorithms
- Shortest Path Algorithms
- Dijkstra's
- Floyd's
- Warshall's
- Graph Traversals
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Minimum Spanning Tree
- Prim's Algorithm
- Kruskal's Algorithm
- Shortest Path Algorithms
- Ma'am Christine Pena
- Data Structures by Aho, Hopcroft, and Ullman