You are on page 1of 3

University of Gujrat

Department of Information Technology

Title Data Structures and Algorithm

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, 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  Abstract Data Types, Characteristics and Types of DS

3  Arrays and Pointers (Revision)


2
4  Functions, Templates (Revision)

5  Stack ADT and its Applications, Array Based Implementation


3
6  Stack Based Expression Conversion and Evaluation

7  Queue ADT, its Types and Applications, Array Based Implementation


4
8  Recursion (Definition and Processes), Usage and Benefits

9  Recursion Implementation (Conversion from Iterative to Recursive)


5
10  Linked List Concepts and All Possible Operations, Single Linked List

11  Stack with Linked List (Implementation and Benefits over Array Based)
6
12  Queue with Linked List (Implementation and Benefits over Array Based)

13  Circular Linked List, Double Linked List


7
14  Circular Double Linked List

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

23  Sorting Techniques: Bubble Sort, Selection Sort, Insertion Sort

12
 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

You might also like