Amity Course Structurefor Data Strucutre 2015
Amity Course Structurefor Data Strucutre 2015
Credit units:-04
P/
S
SW/F
W
Course level:-UG
Course Type:-PC-Core
TOTAL
CREDIT
UNITS
4
Impart in-depth knowledge of data structure and its implementation in computer programs.
Make students understand the concepts of linear and non linear data structure.
Illustrate asymptotic notations and their usage.
Pre-requisites: - C language
Student Learning Outcomes:
After successful completion of this course, the student will be able to
Apply advance C programming techniques such as pointers, dynamic memory allocation, structures to developing solutions for particular problems.
Describe and implement abstract data types such as linked list, stack, queue and tree by using C for static and dynamic implementations.
Analyze, and evaluate appropriate abstract data types and algorithms to solve problems.
Weightage (%)
15
Definition, Types. Algorithm design, Complexity, Time-Space Tradeoffs. Use of pointers in data structures.
Array Definition and Analysis, Representation of Linear Arrays in Memory, Traversing of Linear Arrays, Insertion And
Deletion, Single Dimensional Arrays, Two Dimensional Arrays, Multidimensional Arrays, Function Associated with
Arrays, Character String in C, Character String Operations, Arrays as parameters, Implementing One Dimensional
Array, Sparse matrix.
Module II: Stacks and Queues
15
Definition, Array representation of stacks, Operations Associated with Stacks- Push & Pop, Polish expressions,
Conversion of infix to postfix, infix to prefix (and vice versa),Application of stacks recursion, polish expression and
their compilation, conversion of infix expression to prefix and postfix expression, Tower of Hanoi problem.
Queue: Definition, Representation of Queues, Operations of queues- Insert, Delete, Priority Queues, Circular Queue,
Deque.
Module III : Programming with Linked Lists
Introduction to Singly linked lists: Representation of linked lists in memory, Traversing, Searching, Insertion into,
Deletion from linked list, Garbage collection and compaction, doubly linked list, operations on doubly linked list,
circular linked list, operations on circular linked list, generalized list. Applications of Linked List-Polynomial
representation using linked list and basic operation. Stack and queue implementation using linked list.
20
Module IV :Trees
20
Trees: Basic Terminology, Binary Trees and their representation, expression evaluation, Complete Binary trees,
extended binary trees, Traversing binary trees, Searching, Insertion and Deletion in binary search trees, General trees,
AVL trees, Threaded trees, B trees.
15
Insertion Sort, Bubble sort, Selection sort, Quick sort, Merge sort, Heap sort, Partition exchange sort, Shell sort,
Sorting on different keys, External sorting. Linear search, Binary search, Hashing:,Hash Functions, Collision Resolution
Techniques.
Module VI: Graph and Their Applications
Introduction, Graph Theory Terminology, Sequential Representation of Graph (Adjacency and Path Matrix), Warshall
Algorithms, Linked Representation of Graph, Different Operations on Graphs, Traversing A Graph(DFS, BFS).,
Spanning Trees-Introduction .Representation of Spanning tree, Constructing A Spanning Tree(Prims Algorithm,
Kruskals Algorithm).
15
Pedagogy for Course Delivery:- Subject will be taught based on class room lectures and practical. Particular emphasis will be given on practical
explaining use case scenario for various algorithms. Focus will be on students involvement while imparting the course contents.
.
List of Experiments:
1. Write a program to search an element using Linear Search.
2. Write a program to search an element using Binary Search.
3. Write a program to sort the given array using Bubble Sort.
4. Write a program to sort the given array using Selection Sort.
5. Write a program to sort the given array using Insertion Sort.
6. Write a program to sort the given array using QuickSort.
7. Write a program to sort the given array using MergeSort.
8. Write a program to insert a new element in the given unsorted array at kth position.
9. Write a program to delete an element from given sorted array.
10. Write a program to merge to given sorted arrays.
11. Write a program to implement Stack using array, also show overflow and underflow in respective push and pop operations.
12. Write a program to implement Queue using array, which shows insertion and deletion operations.
13. Write a program to implement Circular Queue using array, which shows insertion and deletion operations.
14. Write a program to implement Linear Linked List, showing all the operations, like creation, display, insertion, deletion and searching.
15. Write a program to implement Stack, using Linked List. Implement Push, Pop and display operations.
16. Write a program to implement Queue, using Linked List. Implement Insertion, deletion and display operations.
17. Write a program to count the number of times an item is present in a linked list.
18. Write a program to increment the data part of every node present in a linked list by 10. Display the data both before incrimination and after.
19. Write a program to implement Doubly Linked List, showing all the operations, like creation, display, insertion, deletion and searching.
20. Write a program to create a Binary Search Tree and display its contents using recursive preorder, postorder and inorder traversal.
21. Write a program to implement deletion of a node in binary search tree.
22. Write a program to implement Binary tree and display the contents using non-recursive preorder, postorder and inorder traversal techniques.
23. Write a program to sort the given array using HeapSort.
24. Write a program of Graph traversal-Depth first serach and Breadth first search.
25. Write a program to implement Prims algorithm
26. Write a program to implement Kruskal algorithm.
Lab/Practical/Studio (%)
Total
75
25
100
Components (Drop
down)
Weightage (%)
Assignments
Mid Term
Presentation
Attendance
End Term
Examination
EE
10
10
70
Attendance
5
Mid term
Lab Record
10
10
Continuous
Assessment
10
Viva
5
Text:
References:
Robert L Kruse, Data Structure and Program Design in C, Prentice Hall (1991).
Noel Kalicharan ,Data Structure in C ,Ist Edition Create space publisher, 2008.
Mark Allen Weiss,Data Structure and algorithm Analysis in C,2nd Edition AddisonWesley,1996.
E. Balagurusamy, Problem Solving through C language, TMH publication, Fourth Edition, 2008.
R.S Salaria ,Data Structures & Algorithms using C,Khanna Publication,4th Edition,2009
E.Horowitz and S.Sahni,Fundamentals of Data Structures in C ,2nd Edition,Universities Press,2008.
Practical
Viva
40
20