Data Structures using C

Course Outline


Welcome to Data Structures using C. This course introduces the concepts of organizing and storing data efficiently using C programming. It covers fundamental data structures and algorithms such as arrays, linked lists, stacks, queues, trees, graphs, searching, and sorting techniques.

Module I: Arrays

  • Introduction to arrays
  • Declaration and initialization
  • Common array operations (accessing, traversal, searching, insertion, deletion, updating)
  • Applications, advantages and limitations

Module II: Linked Lists

  • Introduction and need for linked lists
  • Memory representation and node structure
  • Singly, doubly and circular linked lists
  • Linked list operations (traversal, searching, insertion, deletion)
  • Complexity analysis
  • Applications, advantages and limitations

Module III: Stacks

  • Introduction to stacks and LIFO principle
  • Stack operations (Push, Pop, Peek, isEmpty, isFull)
  • Overflow and Underflow
  • Array and Linked List implementation
  • Complexity analysis
  • Applications and real-life examples
  • Advantages and limitations

Module IV: Queues

  • Introduction to Queues and FIFO principle
  • Characteristics and components of Queues
  • Queue representation
  • Need for Queues
  • Queue operations (Enqueue, Dequeue, Peek, isEmpty, isFull)
  • Overflow and Underflow
  • Types of queues (Simple, Circular, Priority, Deque)
  • Array and Linked List implementations
  • Complexity analysis
  • Applications and practical examples
  • Advantages and limitations

Module V: Trees

  • Introduction to Trees and Terminology
  • Tree Characteristics and Components
  • Tree Representation
  • Types of Trees
  • Tree Traversal Techniques (DFS and BFS)
  • Preorder, Inorder, Postorder and Level Order Traversal
  • Tree Operations (Search, Insert, Delete)
  • Height, Node Count and Leaf Count
  • Binary Search Trees (BST)
  • Tree Implementation in C
  • BST Implementation in C
  • Complexity Analysis
  • Applications and Real-Life Examples
  • Advantages and Limitations

Module VI: Graphs

  • Graph representation
  • Breadth First Search
  • Depth First Search

Module VII: Searching

  • Linear Search
  • Binary Search

Module VIII: Sorting

  • Bubble Sort
  • Selection Sort
  • Insertion Sort