COURSE SUMMARY
Course Title: 
Data Structures & Algorithms 1
Course Code: 
19AIE111
Year Taught: 
2019
Semester: 
2
Degree: 
Undergraduate (UG)
School: 
School of Engineering
Campus: 
Bengaluru
Coimbatore
Amritapuri

'Data Structures & Algorithms 1' is a course offered in the second semester of  B. Tech. in Computer Science and Engineering (Artificial Intelligence) program at the School of Engineering, Amrita Vishwa Vidyapeetham.

Course Objectives

This course aims at introducing the concept of data structure hierarchy. It will also expose the students to the basic and higher order data structures. Further the students will be motivated to apply the concept of data structures to various engineering problems.

Course Outcomes

CO1 To choose an appropriate data structure as applied to a specified problem
CO2 To introduce various techniques for representation of the data in the real world
CO3 To develop application using data structures.
CO4 To improve the logical ability

 

  PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 3 2 2 3       3 2 3 3
CO2 3 3 3 3 3       3 2 3 3
CO3 3 2 3 3 3       3 2 3 3
CO4 3 3 3 2 3       3 2 3 3

Course Evaluation Pattern:

Internal – 75%

  • Assignments – 50% (20 assignments with equal credit)
  • Quiz- 25% (5 Quizzes with equal credit)

External – 25%

  • Project – 25%

Data Structure Hierarchy – Primitive – datatypes and their representations, Interger, 2;s complement, IEEE756 Floating point-single and double precision – String and character representation types-Unicode and UTF-8 encodings- Predefined – Arrays and Structures- Records types-Class and Objects as Types- User Defined- Linear structures-, Array subscripting and indexing- Concept of pointers- pointers as array names, self-referential structure, List, Linked implementation- array implementation. Variations on basic List, Doubly linked list, indexed List, Skip lists, Vectors, Sets, Maps and Dictionaries as application of basic list. Higher order Concept Data Structures. Stacks- stack invariants-push and pop- invariant variables, stack array, stack list, applications of stack- nested bracket validation, postfix expression evaluation. Stack uses in Computers-recursion-some recursion examples-factorial and Fibonacci- Queue- invariants-enqueue and queue- invariant variables- circular queue array, queue list- applications of queue- job scheduling- variations on basic queue- Double ended Queue and Priority queue – Nonlinear structures – Binary tree- Binary search Tree (BST) and lexicographic orderingarray and list implementations -Complete binary tree array - Set using a BST list- applications of Binary Trees – Binary Heap Data structure-Heap order and Heapsort- heap as a priority queue- balanced binary trees and AVL self-balancing trees. some more tree based structures. Traversals of Binary trees Depth traversals- in-order, pre-order and post-order Breadth traversal. Reconstructions of Binary trees from traversals.

  1. Alfred V Aho, John E Hopcroft, Jeffrey D Ullman. Data Structures & Algorithms, Pearson Publishers, 2002.
  2. ‘Maria Rukadikar S. Data Structures & Algorithms, SPD Publishers, 2011.