Data Structure and Algorithms-LAB
Data Structure and Algorithms-LAB
Week 1
Objectives / Learning Outcome 1. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Arrays, Functions and Pointers
• Array creation and implementation
• Array passing to function
• Function creation and implementation
• Pointers basic concepts
Week 2
Objectives / Learning Outcome 1. Apply the knowledge of data structure to other application
domains.
2. Analyze simple algorithms and determine their
complexities.
Contents / Sub Contents Complexity Analysis
• Asymptotic notations
• Types of complexities (Best, Average, Worst cases)
• Big oh
• Big omega
• Big theta
• Complexity analysis of code snippets
• Algorithm comparison
Week 3
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Analyze simple algorithms and determine their
complexities.
Contents / Sub Contents Searching & Sorting in Arrays
• Linear search
• Binary search
• Selection sort
• Insertion sort
• Bubble sort
• Quick sort
• Merge sort
• Comparison using asymptotic notations
Week 4
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Analyze simple algorithms and determine their
complexities.
3. Design new data structures and algorithms to solve
problems.
Contents / Sub Contents Linked Lists
• Introduction
• Types of Linked Lists (Singly, Doubly, Circular)
• Algorithms (Searching, sorting, insertion, deletion)
• Comparison
Week 5
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Stacks
• Basics of Stack data structure
• Algorithms (Push, Pop, Peek)
• Implementation using Arrays
• Implementation using Linked Lists
• Expression parsing using Stacks (infix, prefix, postfix)
Week 6
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Design new data structures and algorithms to solve
problems.
Contents / Sub Contents Queues
• Basics of Queues
• Types of Queues (Circular buffer, Double ended,
Priority)
• Algorithm of Queues (Search, Sort, Enqueue, Dequeue)
• Queue implementation using Arrays
• Queue implementation using Linked Lists
Week 7
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Hashing
• Basics of Hashing
• Components of Hashing
• Hash functions
• Problems with hashing (Collision)
• Load factor
• Applications of hashing
Week 8
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Project Discussion Week, Quiz
Week 9
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Recursion
• Introduction
• Properties
• Implementation
• Analysis of recursion
• Time complexity
• Space complexity
• Fibonacci series
• Tower of Hanoi problem
Week 10
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Tree Data Structure
• Basics of Tree data structure
• Types of Trees
• Propertise of trees
• Tree terminology
• Basic Algorithms
• Application of Trees
Week 11
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Tree Traversal
• Introduction
• Types
• Inorder
• Preorder
• Postorder
• Algorithm & Implementation
Week 12
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Binary Search Trees
• Basics
• Representation
• Implementation & Algorithms
• Traversals in BSTs
• Applications of BSTs
• Expression Trees
Week 13
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Tree Balancing
• AVL trees
• Red Black trees
• Algorithm & implementation
• Complexity analysis
Week 14
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Heap
• Basics
• Min Heap
• Max Heap
• Algorithms & Implementations
• Complexity analysis
Week 15
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Graphs
• Basics
• Graph Terminology
• Adjacency matrix
• Graph traversals/searches
• Breadth first search
• Depth first search
• Shortest path first
• Topological Order
• Algorithms & implementation
• Complexity analysis
Week 16
Objectives / Learning Outcome 1. Implement various data structures and their algorithms and
apply them in implementing simple applications
Contents / Sub Contents Project Evaluation
Curriculum Contents: Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists
and array implementations), Recursion and analyzing recursive algorithms, divide and conquer
algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix, bucket),
stacks, expression parsing using stacks, queue, dequeue, priority queues (linked and array
implementations of queues), linked list & its various types, sorted linked list, searching an unsorted array,
binary search for sorted arrays, hashing and indexing, open addressing and chaining, trees and tree
traversals, expression trees, binary search trees, heaps, M-way tress, balanced trees (AVL, Red Black),
graphs, breadth-first and depth-first traversal, topological order, shortest path, adjacency matrix and
adjacency list implementations.