Data Structures using C - Detailed Notes
Unit 1: Introduction to Data Structures
Definition of data structure, types of data structures (linear and non-linear). Need of data structures.
Abstract Data Types (ADT). Complexity: Time and Space Complexity, Asymptotic notations (Big O,
Ω, Θ).
Unit 2: Arrays and Strings
Definition, Representation of arrays in memory, advantages and disadvantages. Operations:
Traversing, Insertion, Deletion, Searching. Multidimensional arrays. String handling in C: operations
like copy, concat, length, compare, reverse, substring. Applications of arrays (Matrix representation,
Polynomial representation).
Unit 3: Stacks and Queues
Stack: Definition, operations (push, pop, peek), implementation using array and linked list.
Applications: Expression conversion (infix, prefix, postfix), evaluation of postfix expression,
recursion. Queue: Definition, operations, circular queue, deque, priority queue. Implementation
using arrays and linked list.
Unit 4: Linked Lists
Definition, types of linked lists: singly, doubly, and circular linked list. Operations: creation, traversal,
insertion, deletion, searching. Applications of linked list (polynomial addition, dynamic memory
allocation).
Unit 5: Trees
Basic Terminology: node, degree, leaf, root, height. Binary tree representation (array and linked).
Binary tree traversals (inorder, preorder, postorder). Binary Search Tree (BST): insertion, deletion,
searching. Applications: Expression tree, Huffman coding (intro).
Unit 6: Graphs
Definitions: Graph, vertex, edge, directed, undirected, weighted, unweighted. Graph representation:
adjacency matrix, adjacency list. Graph traversal: BFS, DFS. Applications: shortest path (Dijkstra,
intro).
Unit 7: Searching and Sorting
Searching: Linear search, Binary search (with complexity). Sorting: Bubble sort, Insertion sort,
Selection sort, Merge sort, Quick sort, Heap sort (algorithms with complexity).
Unit 8: Hashing
Hash function, collision, collision resolution techniques: chaining, open addressing. Applications of
hashing in searching and indexing.