Course Name: Data Structures
Credit Hours: 4 (3-3)
Course Introduction:
The course is designed to teach students structures and schemes, which allow them to write programmer to
efficiently manipulate, store, and retrieve data. Students are exposed to the concepts of time and space
complexity of computer programs.
CLO No. Course Learning Outcomes Bloom PLOs
Taxonomy
CLO-1 Implement various data structures and their algorithms and apply C3 (Apply) 4, 5
them in implementing simple applications
CLO-2 Analyze and apply various algorithmic techniques to solve complex C4 (Analyze) 2, 3
computational problems efficiently.
CLO-3 Apply the knowledge of data structure to other application C2 (Discuss) 4
domains
Course Outline:
Data Structure, Types, Algorithm, Algorithm Notation, Data Structure Operations, Complexity of an
Algorithms, Big Oh notation, Arrays, Types of an Array and their Representation in Memory, Searching an
array, Binary search for sorted arrays, Linked list & its various types, Sorted linked list, Stacks (linked lists
and array implementations), Recursion and analyzing recursive algorithms, Queue, Double ended queue,
Priority queues (linked and array implementations of queues), Trees and tree traversals, Binary search trees,
Heaps, Balanced trees, Graphs, Breadth-first and depth-first traversal, Topological order, Shortest path, Graph
Representations, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix), Hashing
and indexing, Open addressing and chaining, Memory management and garbage collection.
Reference Materials: (or use any other standard and latest books)
• Data Structures and Algorithm Analysis in Java by Mark A. Weiss, Latest Edition
• Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M. Henry, Latest Edition
• Data Structures and Algorithms in C++ by Adam Drozdek, Latest Edition
• Data Structures and Algorithms Shaums Outline Series by Lipchautz, Latest Edition
• Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss, Latest Edition
Course Name: Data Structure and Algorithms
Week # Week wise distribution
1. Introduction to Data Structures and Algorithms, Basic Terminology, Algorithm Writing
Notation, Data Structure operations, Complexity Analysis.
2. Arrays (Linear, 2 Dimensional and Multi-Dimensional, Memory Representation of Array.
Page 15 of 109
3. Operations on Array (Traversing, Insertion, Deletion, Searching, Sorting)
4. Sorting: (Bubble Sort. Insertion Sort, Selection Sort, Shell Sort, Heap Sort
5. Quick Sort, Merge Sort, Radix Sort)
6. Linked Lists: Singly Linked Lists, Doubly Linked Lists, Circular Linked List, Implantation
of Linked List
7. Stacks, Queues, Priority Queue and their implementation.
8. Recursion: Function call and Recursion Non-tail Recursion, Indirect Recursion, Nested
Recursion, Backtracking, Implementation,
9. MID TERM EXAMS
10. Trees: Introduction, Representation in memory, Types, Implementation
11. Binary Heap, Binary Search Tree
12. Tree Traversal, Insertion, Deletion, and Balancing a Tree
13. Heap. B-Tree, B + Tree, Spanning Tree, Splay Trees, Huffman Coding
14. Graphs: Representation, Graph Traversal Algorithms, Shortest Path Algorithm.
15. Isomorphic Graphs. Hashing techniques,
16. Hashing and Hashing Techniques, Memory Management and Garbage Collection
17. Wrap up work and presentations
18. FINAL TERM EXAMS
Page 16 of 109