University of Gujrat
Department of Information Technology
Title Data Structures
Code IT-209
Credit Hours 4.0
Prerequisite IT-108 (Object Oriented Programming)
Instructor
“An apprentice carpenter may want only hammer and saw, but a master
Aims and Objectives craftsman employs many precision tools. Computer programming
likewise requires sophisticated tools to cope with complexity of real
applications and only practice with these tools will build skill in their
use. (Robert L. Kruse Data Structure and Program Design)”. This
subject deals to make students convenient in building a memory and
time efficient data structures for the implementation of large-scale
(data intensive) computer systems.
Test Books 1. Classic Data Structures, Prentice Hall 2001, by D. Samanta
Reference Books 1. Data Structure and Algorithms in C++, Benjamin-Cummings
Publishing Co., by Mark Allen Weiss
Assessment Criteria Sessional 25% Mid 25% Final 50%
Quizzes 5%
Assignments 10%
Presentation 10%
Sixteen-week lecture plan
Week Lecture Topic
1 Introduction to Data Structures
1
2 Big-Oh notation, Complexity Analysis
3 Arrays and Pointers
2
4 Abstract Data Types
3 5 Linked list implementation using pointers
6 Elementary data structures: Stack and Queues
7 Elementary data structures: Stack and Queues
4
8 Recursion
9 Trees: Tree Data StructureDefinition and Basic Terminologies
5
10 Tree Traversal, Expression Trees
11 Binary Search Trees
6
12 AVL Trees
13 Huffman Coding
7
14 Red Black Trees
8 15, 16 MID Term Exam
17 B-Trees
9
Searching Techniques: Linear Search, Binary Search, Interpolation
18
Search
19 Hashing: Hash Function, Hash Table
10
20 Application of Hashing
21 Heap: Heap Data Structure, Min and Max Heap
11
22 Binary and Fibonacci Heaps, Priority Queue and Heap Sort
12 23 Sorting Techniques: Bubble Sort, Selection Sort, Insertion Sort
Sorting Techniques: Merge Sort, Quick Sort
24
Linear Time Sorting Techniques
25 Graphs: Basic Terminologies and Storing Graphs
13
26 Graphs: Breadth First and Depth First Traversal
27 Graphs: Minimum Spanning Trees (Prim’s and Kruskal’s Algorithm)
14
28 Graphs: Shortest Path Algorithms
29 Graphs: Shortest Path Algorithms
15
30 Graphs: Topological Ordering
16 31,32 Revision of the Course