Data Structure Notes
Introduction to Data Structures
A data structure is a way of organizing and storing data efficiently. Types: Linear (Array, Stack,
Queue, Linked List) and Non-linear (Trees, Graphs).
Arrays
Collection of elements stored at contiguous memory locations. Operations: Traversing, Insertion,
Deletion, Searching. Limitations: Fixed size.
Strings
Sequence of characters. Operations: Concatenation, Substring, Comparison, Reversal.
Stack
Linear data structure following LIFO (Last In First Out). Operations: Push (insert), Pop (delete).
Applications: Expression evaluation, Function calls, Undo mechanism.
Queue
Linear data structure following FIFO (First In First Out). Types: Simple Queue, Circular Queue,
Priority Queue, Deque.
Linked List
Collection of nodes, each containing data and a pointer to the next node. Types: Singly, Doubly,
Circular Linked List.
Trees
Hierarchical structure. Binary Tree: Each node has max 2 children. Traversals: Inorder (LNR),
Preorder (NLR), Postorder (LRN).
Graphs
Non-linear structure of nodes (vertices) connected by edges. Representation: Adjacency Matrix,
Adjacency List. Traversals: BFS, DFS.
Searching Algorithms
Linear Search: Sequential search. Binary Search: Divide and conquer, requires sorted list.
Sorting Algorithms
Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort. Used to arrange data in
ascending/descending order.
Hashing
Technique to map keys to values using a hash function. Collision handling: Chaining, Open
Addressing.