Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
University of Gujrat
Course Code: IT-204
Course Title: Data Structures and Algorithms
Credit Hours: 3
Lecture Duration: 1.5 hours
Pre-requisite: Object Oriented Programming
Text Books: 1. D. S. Malik, “Data structures using C++”.
Reference Books: 1. D. Samanta. “Classic Data Structures”, Prentice Hall, 2001
2. Tenenbaum, M. Augenstein, and Y. Langsam, “Data Structures using C and
C++” 2nd Ed., Prentice Hall, 1999 ISBN 0-13-529322-7
3. Hanly Koffman – Problem Solving & Program Design in C – Addison Wesley
3rd addition.
Course Provide understanding on the concepts of abstract data types and its implementations.
Objectives: Deliver various types of data structures such as linked list, tree, stack and queue and their
related basic operations.
Provide understanding on how these structures can be applied in problem solving.
Introduce the common and frequent-use basic algorithms i.e. sorting and searching and the
performance comparisons.
Class Policies:
Attendance for lectures is compulsory. Attendance for less than 75% of the lectures will result
in students being barred from taking the Final Exam.
If you are absent from the lecture due to: Sickness – Medical Certificate is required, in case of
emergency – letter of guardian is required.
There will be no makeup quiz.
Make-up for Mid Term will only be given to those with STRONG VALID reason by the prior
approval of the Head of department.
Cheating and Plagiarism will not be tolerated and will be penalized accordingly.
There will be 5-7 assignments besides on class exercises. Assignments need to be submitted
before the deadline. If you have questions or doubts contact us in our offices during visiting
hours or use our email address.
Course Outline:
pg. 1
Week Topics description
01 Course Introduction:
Course Policies/Overview/Course Contents/Course Objectives
Introduction to data structures and types
02 List as Simple Data Structure
Simple List as Array
Operation on list
Traversing, Searching, Inserting and Deleting data element
03 Linked List:
Concept of pointer and linked list
Static and dynamic variables
Types of Linked list
Implementation of linked list using pointer
04 Operations on Linked List:
Traversing and Searching data element
Inserting and Deleting data element
Doubly link list
Implement a doubly-linked list.
05 Stack:
Introduction to stack, definitions.
Abstract data types of stack and their implementations.
Applications of stack.
Evaluating an expression in postfix form, Converting infix expression to postfix
06 Operations on Stack:
Stack operation
Implementation of stack using array.
Implementation of stack using linked list.
Applications of stack.
07 Queues:
Introduction to queue, definitions.
Physical model, linear implementation, circular queue.
Abstract data types of queue and their implementations.
Applications of queue.
08 Operations on Queue:
Insertion and deletion
Traversing and searching
Applications of queue structure.
10 Tree:
Introduction to tree: definitions.
Tree size, level and depth in tree.
Binary tree.
Implementation of binary tree.
pg. 2
11 Operations on Tree:
Expression tree (Pre-order, In-order and Post-order)
Binary Search Tree
AVL Tree
12 Heaps:
Introduction
Max Heap
Min Heap
Min-Max Heap
13 Graphs:
Definition of graph
Graph traversals
Shortest path (greedy algorithm)
Graphs as data structures
14 Recursive Algorithms:
Base and general case
Applications such as recursive evaluation of the binomial coefficient and recursive
traversal of a linked list
Comparison of recursive and iterative algorithms
15 Searching and Sorting Algorithms:
Algorithms for sorting
Insertion sort, bubble sort, merge sort, quick sort, heap sort.
Sequential search: searching an ordered table, index sequential search.
Compare different sorting and searching algorithms.
16 Hash Table and Time efficiency of algorithms:
Hashing algorithms
Big-O notation and time-behavior
Simple examples
Final Examination
Grading Policy:
1 Assignments 10%
Assignm
2 Quizzes 5% entsQuizzes
Presenta
3 Presentations 10% Final
tion
3 Mid term 25% Exam Mid
Term
4 Final Exam 50%
Important notes:
4-5 numbers of quizzes will take place in the class to measure the learning progress of the students. These
quizzes will be announced or unannounced.
Plagiarism Policy:
During this course a strict no tolerance plagiarism policy will be adopted. While collaboration in this course is
highly encouraged, you must ensure that you do claim other people’s work/idea as your own. Plagiarism
occurs when the words, ideas, assertion, theories, figures, images, programming code of others is
presented as your own work. Failing to comply with plagiarism policy will lead to strict penalties including
zero marks in assignments.
_______________________________________________________________________________________
pg. 3