BMC205

Data Structures & Analysis of Algorithms

L-T-P4-0-0 Credits4 Session2024-25 TypeTheory
Appears in 1 semester

MCA · Sem 2 (Core)

Syllabus

5 units · 40 lecture hours
Unit1

Unit 1: Introduction to data structure

8 hrs

Data, Entity, Information, Difference between Data and Information, Data type , Build in data type, Abstract data type, Definition of data structures, Types of Data Structures: Linear and Non-Linear Data Structure, Introduction to Algorithms: Definition of Algorithms, Difference between algorithm and programs, properties of algorithm, Algorithm Design Techniques, Performance Analysis of Algorithms, Complexity of various code structures, Order of Growth, Asymptotic Notations. Arrays: Definition, Single and Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column Major Order, Derivation of Index Formulae for 1-D,2-D Array Application of arrays, Sparse Matrices and their representations. Linked lists: Array Implementation and Pointer Implementation of Singly Linked Lists, Doubly Linked List, Circularly Linked List, Operations on a Linked List. Insertion, Deletion, Traversal, Polynomial Representation and Addition Subtraction & Multiplications of Single variable.

Unit2

Unit 2: Stacks

8 hrs

Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked Implementation of Stack in C, Application of stack: Prefix and Postfix Expressions, Evaluation of postfix expression, Iteration and Recursion- Principles of recursion, Tail recursion, Removal of recursion Problem solving using iteration and recursion with examples such as binary search, Fibonacci numbers, and Hanoi towers. Queues: Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, Array and linked implementation of queues in C, Dequeue and Priority Queue. Searching: Concept of Searching, Sequential search, Index Sequential Search, Binary Search. Concept of Hashing & Collision resolution Techniques used in Hashing.

Unit3

Unit 3: Sorting

8 hrs

Insertion Sort, Selection Sort, Bubble Sort, Heap Sort, Comparison of Sorting Algorithms, Sorting in Linear Time: Counting Sort and Bucket Sort. Graphs: Terminology used with Graph, Data Structure for Graph Representations: Adjacency Matrices, Adjacency List, Adjacency. Graph Traversal: Depth First Search and Breadth First Search, Connected Component.

Unit4

Unit 4: Trees

8 hrs

Basic terminology used with Tree, Binary Trees, Binary Tree Representation: Array Representation and Pointer (Linked List) Representation, Binary Search Tree, Complete Binary Tree, A Extended Binary Trees, Tree Traversal algorithms: Inorder, Preorder and Postorder, Constructing Binary Tree from given Tree Traversal, Operation of Insertion, Deletion, Searching & Modification of data in Binary Search Tree. Threaded Binary trees, Huffman coding using Binary Tree, AVL Tree and B Tree.

Unit5

Unit 5

8 hrs

Divide and Conquer with Examples Such as Merge Sort, Quick Sort, Matrix Multiplication: Strassen’s Algorithm Dynamic Programming: Dijikstra Algorithm, Bellman Ford Algorithm, All- pair Shortest Path: Warshal Algorithm, Longest Common Sub-sequence Greedy Programming: Prims and Kruskal algorithm.

Course Outcomes (COs)5 outcomes

After completion of the course student will be able to:

  1. CO1Explain the concept of data structure, abstract data types, algorithms, analysis of algorithms and basic data organization schemes such as arrays and linked lists.K2
  2. CO2Describe the applications of stacks and queues and implement various operations on them using arrays and linked lists.K3
  3. CO3Describe the properties of graphs and trees and implement various operations such as searching and traversal on them.K3
  4. CO4Compare incremental and divide-and-conquer approaches of designing algorithms for problems such as sorting and searching.K4
  5. CO5Apply and analyze various design approaches such as Divide-and- Conquer, greedy and dynamic for problem solving.K4

Suggested Readings

  1. Cormen T. H., Leiserson C. E., Rivest R. L. and Stein C., “Introduction to Algorithms”, PHI.
  2. Horowitz E., Sahni S. and Rajasekharan S., “Fundamentals of Computer Algorithms”, Universities Press.
  3. Dave P. H. and Dave H. B, “Design and Analysis of Algorithms”, Pearson Education.
  4. Lipschuts S., “Theory and Problems of Data Structures Schaum’s Series)”, Tata McGraw-Hill.
  5. Goyal K. K., Sharma S. and Gupta A., “Data Structures and Analysis of Algorithms”, HP Hamilton.
  6. Samanta D., “Classic Data Structures”, Prentice Hall India.
  7. Goodrich M. T. and Tomassia R., “Algorithm Design: Foundations, Analysis and Internet Examples”, John Wiley and sons.
  8. Sridhar S., “Design and Analysis of Algorithms”, Oxford Univ. Press.
  9. Aho A., Ullman J. and Hopcroft J., “Design and Analysis of algorithms”, Pearson Education.
  10. Neapolitan R. and K. Naimipour, “Foundations of Algorithms”, Jones and Bartlett Student Edition.

Official AKTU syllabus

This subject is on page 26, 27 of the original AKTU PDF.

Official AKTU syllabus PDF ↗