Data Structures & Algorithms

Text Book : –

Data Structure by Shamus Outline  [ Download ]

References : –

  • Data Structure in C++ by Aikman Series

Course Description : –

In this course we examine a number of data structures and associated algorithms that are fundamental to the study of computer science. Algorithm and data structure choices will be discussed.

The programming language of implementation is C++. For the most part, C++ will be introduced by example, as it is anticipated that students will have already been programming in C++ for at least one semester.

Pre-requisite : –

CS101 Introduction to Computing

  • Introduction .
    • 1.1: Definitions (Data, Entity, Information, Data types, Built-in Data types) .
    • 1.2: Concept of Data Structure .
    • 1.3: Overview of Data Structure .
    • 1.4: Algorithm → Simple and Complex .
    • 1.5: Linear DS and Non Linear DS .
    • 1.6: Implementation of DS .
    • 1.7: Data Structure Operations (Insertion, Deletions, Searching, Sorting, Updating) .
  • Arrays .
    • 2.1: Definition, Terminology.
    • 2.2: One Dimensional Array .
    • 2.3: Memory Allocation for an Array .
    • 2.4: Traversing in a Linear Array .
    • 2.5: Searching in a Linear Array .
    • 2.6: Insertion in a Linear Array .
    • 2.7: Deletion in a Linear Array .
    • 2.8: Two Dimensional Array .
  • Searching .
    • 3.1: Linear Search .
    • 3.2: Binary Search .
  • Linked lists .
    • 4.1: Definition .
    • 4.2: Single Linked List .
    • 4.3: Creating a Single Linked List .
    • 4.4: Accessing a Single Linked List .
    • 4.5: Insertion into a Single Linked List .
    • 4.6: Deletion into a Single Linked List .
    • 4.7: Circular Linked List .
  • Stack .
    • 5.1: Introduction, Definition .
    • 5.2: Representation of Stack .
    • 5.3: Operation on Stack PUSH & POP .
    • 5.4: Evaluation of Arithmetic Expression; Polish Notation, Infix, Postfix and Prefix .
  • Sorting .
    • 6.1: Bubble Sort (Algorithm), Insertion .
    • 6.2: Insertion Sort (Algorithm), Selection Sort, Quick Sort .
    • 6.3: Selection Sort .
    • 6.4: Quick Sort .
  • Queues .
    • 7.1: Introduction, Definition .
    • 7.2: Representation of Queues .
    • 7.3: Operation on Queues PUSH and POP .
    • 7.4: Deque .
  • Trees .
    • 8.1: Binary Tree Terminology .
    • 8.2: Representation of Binary Tree (Using Linked List, Sequential Representation) .
    • 8.3: Operation on Binary Tree .
      • Traversing ( Pre order,  In order,  Post order ) .
      • Insertion .
      • Deletion .
      • Searching .
  • Graphs .
    • 9.1: Graph Terminology .
    • 9.2: Representation of Graph .
    • 9.3: Operation on Graphs .
    • 9.4: Adjacency Matrix, Adjacency List .