Documente Academic
Documente Profesional
Documente Cultură
3003
COURSE OBJECTIVES
• To analyze and to implement the basic data structures and algorithms.
• To select suitable data structures for software development.
• To know the different types of sorting and their efficiencies.
• To select a suitable search technique for the chosen problem.
• To solve problems using non-linear data structures.
Linear arrays: Representation of linear arrays, insertion and deletion in linear arrays -
Multidimensional arrays: Representation of n-dimensional arrays in memory – Linked list:
Representation in memory, List traversal, Insertions and deletions – Sorted linked list: Searching,
insertion and deletion – Introduction to doubly linked list, circular and header linked lists.
Stack: Representation of stack with arrays and linked lists, Simple applications, Recursive functions
and its implementations – Queues: Representation of queue with arrays and linked lists,
Implementation of Circular queue and Priority queue, Representation of double ended queues.
Binary Trees: Types of binary trees, Representation of binary trees in memory, Recursive and non-
recursive traversals – Binary Search Tree: Search, insertion and deletion – Representation of AVL
tree – Heap Tree: Search, insertion and deletion – Construction of a minimum weighted path length
tree – Conversion of general tree to binary tree representation – Thread representation in binary
trees.
UNIT IV GRAPHS 9
Definitions – Representation of graph with adjacency matrix and linked list – Path matrix: Shortest
path algorithms – Warshall’s algorithm, Dijkstra’s algorithm – Minimum spanning trees: Prim’s
algorithm and Kruskal’s algorithm – Graph traversal: Breadth first search tree and depth first search
and tree – Topological sorting.
Search: Binary search, Interpolation search – Hashing: Hash function, collision, rehashing, extendible
hashing – Collision resolution: Open addressing, Separate chaining – Sorting: Selection, Bubble,
Insertion, Merge, Quick and Heap sorting.
TOTAL : 45 PERIODS
69
COURSE OUTCOMES (COs)
At the end of the course, the student should have the ability:
1. To apply mathematics knowledge to represent different types of expressions.
2. To analyze and solve problems logically.
3. To develop software programs with relevant data representation.
4. To investigate complex problems with a suitable data structure.
5. To learn new programming concepts / data representation.
TEXT BOOKS:
1. Weiss, M. A., “Data Structures and Algorithm Analysis in C”, 2nd Edition, Pearson Education,
2011.
2. Lipschutz, S., “Data Structures with C (Schaum’s outline series)”, McGraw-Hill, 2011.
REFERENCES:
1. Weiss, M. A., “Data Structures and Algorithm Analysis in C++”, 4th Edition, Pearson Education,
2014.
2. Tanenbaum, A.M., Langsam, Y. and Augenstein, M.J., “Data Structures Using C”, 2nd Edition,
Pearson Education, 2009.
3. Horowitz, E., Sahni, S. and Anderson-Freed, “Fundamentals of Data Structures in C”, 2nd
Edition, University Press, 2011.
CO \ PO a B c d e f g h i j k l
1
2
3
4
5
70