COURSE SUMMARY
Course Title:
Introduction to Data Structures and Algorithms
Course Code:
18CSA304
Year Taught:
2019
Semester:
5
Degree:
Integrated Degree
School:
School of Arts and Sciences
Campus:
Mysuru

'Introduction to Data Structures and Algorithms' is a course offered at the School of Arts and Sciences, Amrita Vishwa Vidyapeetham, Mysuru campus.

#### Scope and Objectives

To enable the students to learn the Elementary Data Structures and algorithms and to understand the various design and analysis of the algorithms.

#### Syllabus

Unit I:
Introduction: Overview – How to create programs and analyze them. Arrays – Structures - Ordered List – Representation of arrays – Simple Applications.

Unit II:
Stacks and Queues: Fundamentals – Structures – Operations – Multiple stacks and queues – Applications - Evaluation of Expressions.

Unit III:
Linked Lists: Singly Linked List – Linked Stacks and Queues - The Storage Pool – Applications – Polynomial addition, Sparse Matrices – Doubly Linked List – Dynamic Storage Management – Garbage Collection and Compaction.

Unit IV:
Searching and Sorting: Binary, Sequential and Fibonacci Searching – Internal Sorting: Insertion, Quick, Merge, Heap, Radix sorts – External Sorting: Sorting with Disks – K-way Merging – Sorting with Tapes – Balanced Merge – Poly-phase Merge – Symbol Tables – Static tree – Dynamic Tree – Hash Tables.

Unit V:
Files: Files, Queries and Sequential organization – Indexed Techniques – File Organization: Sequential, Random, Linked Organization – Inverted Files – Cellular Partitions. Introduction to trees and types.

#### Text Books/References

##### Textbooks:
1. Fundamentals of Data Structures - Ellis Horowitz and Sartaj Sahni, Galgotia Book Source, 1999.

##### References:
1. Programming and Data Structures - Askok N Kamthane, Pearson Education, 2004.