Data Structures and Algorithms Syllabus | CT 552

Review the comprehensive syllabus for the Data Structures and Algorithms (CT 552) course, covering key topics like stacks, queues, trees, sorting, searching, and graph algorithms. Essential resource for students seeking to master data structures and algorithm design.

Data Structures and Algorithms (CT 552)

Course Objectives

  • To provide fundamental knowledge of various data structures and their implementation.
  • To provide the fundamental knowledge of various algorithms and their analysis.

1. Concept of Data Structure (2 hours)

TopicSub-Topic
IntroductionData types, data structures, and abstract data types
Introduction to AlgorithmsBasic concepts of algorithms

2. The Stack and Queue (6 hours)

TopicSub-Topic
Stack OperationsStack operations: Push, Pop, Top/Peek
Stack ApplicationsEvaluation of Infix, Postfix, and Prefix expressions
Queue OperationsEnqueue, Dequeue
Types of QueuesLinear queue, Circular queue, Priority queue

3. List (3 hours)

TopicSub-Topic
Definition of ListStatic and dynamic list structures
Array ImplementationArray-based implementation of lists
Queues as ListQueues implemented as lists

4. Linked Lists (5 hours)

TopicSub-Topic
Dynamic ImplementationLinked list structure and its dynamic nature
Operations in Linked ListInsertion, deletion, traversal
Linked Stacks and QueuesImplementing stack and queue using linked lists
Doubly Linked ListsOperations on doubly linked lists

5. Recursion (4 hours)

TopicSub-Topic
Principle of RecursionIntroduction to recursion
Applications of RecursionTOH (Tower of Hanoi), Fibonacci sequence
General ApplicationsUse of recursion in problems solving

6. Trees (7 hours)

TopicSub-Topic
Binary TreesBasic operations (insertion, deletion)
Tree TraversalsPre-order, Post-order, In-order traversals
Tree PropertiesHeight, level, and depth of a tree
Balanced TreesAVL Trees and balancing algorithms
Special Tree AlgorithmsHuffman algorithm, B-Tree, Red-Black Tree

7. Sorting (5 hours)

TopicSub-Topic
Types of SortingInternal and external sorting
Basic Sorting AlgorithmsInsertion sort, Selection sort, Exchange sort
Advanced SortingMerge sort, Radix sort, Shell sort, Heap sort
Sorting EfficiencyBig ‘O’ notation, Efficiency of sorting

8. Searching (5 hours)

TopicSub-Topic
Search TechniquesSequential search, Binary search, Tree search
General Search TreesHashing and hash tables
Hash FunctionsHashing techniques and collision resolution

9. Growth Functions (2 hours)

TopicSub-Topic
Asymptotic NotationsO, O (big-O), o, and their properties

10. Graphs (6 hours)

TopicSub-Topic
Graph RepresentationMatrix, adjacency list, and graph applications
Graph AlgorithmsTransitive closure, Warshall’s algorithm
Graph TraversalDepth-first search (DFS), Breadth-first search (BFS)
Minimum Spanning TreesPrim’s and Kruskal’s algorithms
Shortest Path AlgorithmsDijkstra’s Algorithm, Greedy algorithm

Practical Lab Exercises

S.NoExercise
1Implementation of Stack
2Implementation of Linear and Circular Queues
3Solutions for TOH (Tower of Hanoi) and Fibonacci sequence using Recursion
4Implementation of Linked Lists (Singly and Doubly Linked Lists)
5Implementation of AVL Trees and balancing
6Implementation of Merge Sort
7Implementation of Search Algorithms (Sequential, Binary, and Tree Search)
8Implementation of Graph Traversals (DFS, BFS)
9Implementation of Hashing
10Implementation of Heap

References

  1. Y. Langsam, M. J. Augenstein, and A. M. Tenenbaum, Data Structures using C and C++, PHI. View Book

  2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, PHI. View Book

  3. G.W. Rowe, Introduction to Data Structure and Algorithms with C and C++, PHI. View Book

  4. R. L. Kruse, B. P. Leung, C. L. Tondo, Data Structure and Program Design in C, PHI. View Book

  5. G. Brassard and P. Bratley, Fundamentals of Algorithms, PHI. View Book