University of Engineering and Technology Peshawar
Department of Computer Science and Information Technology, Jalozai
Email: laeeq@[Link]
Data Structures & Algorithms
3rd Semester (Computer Science)
Instructor: Laeeq Ahmed
Fall 2022
Data Structures & Algorithms
Books
Text Books
1. (GTM) Data Structures and Algorithms in C++ by Michael T. Goodrich, Roberto
Tamassia, and David Mount (2nd Edition) •
2. (Weiss) Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss (2nd
Edition)
Grading Criteria
Grading Criteria:
o Class Participation: (25%)
Assignment/Project/Presentation: 10%
Quiz: 10%
Attendance: 5%
o Mid term: (25%)
o Final term: (50%)
Contact Timings
Monday to Friday from 8:00 Am to 2:00 Pm
email: laeeq@[Link]
Data Structures & Algorithms
Course Outline
Week 1
1.1 Introduction to Data Structures & Algorithms and their need
1.2 Data Structures as ADTs
1.3 Algorithm Efficiency/Complexity and role of Data Structures
1.4 A short introduction to Big-O notation
Week 2
2.1 Arrays
2.2 Basic Operations on Array along with algorithms, Types of Array
2.3 Array based Algorithms and Examples
Week 3
3.1 Lists
3.2 Linked Lists
3.3 Operations on Linked Lists along with algorithms
Week 4
4.1 Double Linked list and algorithms
4.2 Stack
4.3 Basic Operations on Stack along with Algorithms
Week 5
4.1 Queues
4.2 Types of Queues i.e. Deque, priority queue
4.3 Operations on Queues along with algorithms
Week 6
6.1 Algorithm Design Methods
6.2 Iterative algorithms vs Recursive Algorithms
6.3 Recursion
6.4 Divide and Conquer Methods
Week 7
7.1 Sorting, Insertion Sort Algorithm
7.2 Explanation of Insertion Sort with an Example
7.3 Explanation of Insertion Sort using dry Run method
Week 8
8.1 Selection Sort
8.2 Explanation of Selection Sort with the help of an Example
8.3 Explanation of Selection Sort using dry Run Method
Week 9
9.1 Bubble Sort
9.2 Explanation of Bubble Sort with the help of an Example
9.3 Explanation of Bubble Sort using dry run method
Week 10
10.1 Trees and terminologies (tree elements)
10.2 Traversal and search Methods
10.3 Representing tree in memory
a) With Array b) With Linked List
10.4 Types of Trees
Week 11
11.1 Introduction to Graphs along with graph terminologies
11.2 Graph representation in memory
11.3 Introduction to Shortest path Algorithms
Week 12
12.1 Memory Concepts related to Algorithms
12.2 Memory management
12.3 Heaps and Garbage Collection
Week 13
13.1 Searching Techniques: General Background, Sequential Search
13.2 Indexed Sequential Search
13.3 Binary Search, Tree Search
Week 14
14.1 Hashing: Basic Concepts
14.2 Hashing Function
14.3 Resolving Hash Clashes
14.4 Open vs Closed Hashing
Week 15
15.1 Important Topics in Data Structure
15.2 Compression and Huffman Encoding
Week 16
16.1 Revision