Vous êtes sur la page 1sur 4

EE 231 Data Structures

Lecture
Schedule

See the Time Table

Semester

4th, Spring 2016 (Session 2014)

Credit Hours

Three

Pre-requisite

Introduction to Computing
EE 230- Programming
Fundamentals.

Instructor(s)

Dr Kashif Javed
Ms Ifrah Saeed

Contact

kashif.javed@uet.edu.pk

Office

Room # 210, first floor

Office Hours

TBA

Teaching
Assistant(s)

N/A

Lab Schedule

See the Timetable

Course
Description

The course will cover: Algorithm analyses in terms of their computing time. Various data
structures and their strengths and weaknesses. Various sorting techniques. Graphs.
Shortest-Path algorithms.

Expected
Outcomes

Upon completion of this course, students will be able to:


to analyze and compare algorithms in terms of their computing time.
to pick and choose among various data structures, the correct one according
to their application requirement
analyze applications based on Graphs

Textbooks

Grading
Policy

REQUIRED:
Mark Allen Weiss, "Data Structures and Algorithm Analysis in C", Addison- Wesley
OPTIONAL/REFRENCES:
1. Robert Sedgewick, Algorithms in C, 3rd Edition, Pearson Education
2. Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, McGraw-Hill
Class Participation:
Quizzes:
Mid Term:
Final Term:
Total:

10
20
30
40
100

Lecture Plan

Lecture
No.

Course Contents

Textbook Ref.

Week*

Introduction to Data Structures, Goals and Aims of the course

Ch.1

Mathematical Review, Review of Induction and Recursion

Ch.1

Asymptotic Analysis for analyzing Algorithms, Big Oh, Big-theta and


other asymptotic notations

Ch.2

Calculating the relative growth rate of two functions, Running Time


Calculations.

Ch.2

Max-Subsequence Problem, Analysis of Running Time.

Ch.2

Max-Subsequence Problem (continued), Binary Search Algorithm,


Analysis of Running Time.

Ch.2

Euclidean GCD Algorithm, Exponentiation Algorithm, Analysis of


Running time.

Ch.2

Abstract Data Types (ADT), The List ADT, Comparison of Arrays and
Linked Lists. Applications.

Ch.3

Quiz-1

Programming Implementation of The List ADT using Arrays.

Ch. 3

10

Programming Implementation of The List ADT using Linked Lists.

Ch. 3

11

The Stack ADT and its implementation using Arrays.

Ch. 3

12

The Stack ADT and its implementation using Linked Lists. Stack
Applications

Ch. 3

13

The Queue ADT, its implementation and applications

Ch. 3

14

Discussion of End Problems

Ch. 3

Mid Term Examination


15

Trees and their Traversals, Binary Trees.

8
Ch. 4

16

Binary Trees and their applications

Ch. 4

17

The Search ADT and its implementation

Ch. 4

10

18

Hashing, Hash Tables, their working and applications.

Ch. 5

10

19

Separate Chaining, Open Addressing with linear probing.

Ch. 5

11

20

Open Addressing with quadratic probing, Rehashing and Extendible


Hashing.

Ch. 5

11

21

Open Addressing with quadratic probing, Rehashing and Extendible


Hashing. (continued)

Ch. 5

12

22

Discussion of End Problems

Ch. 5

12

Quiz-2

12

23

Priority Queues and their applications.

Ch. 6

13

24

Binary Heaps and their applications.

Ch. 6

13

25

Sorting Algorithms, Insertion Sort.

Ch. 7

14

26

Shell Sort and it variants

Ch. 7

14

27

Merge Sort, Quick Sort.

Ch. 7

15

28

Graphs and their applications. Breadth First Search.

Ch. 9

15

29

Minimum Spanning Trees and shortest-path Algorithms.

Ch. 9

16

30

Discussion

16
Final Term Examination

Lab Schedule
Exp.
No.

Description

Week

Introduction to Microsoft Visual Studio/Eclipse and Revision of C concepts

Learning how to debug C programs

Measuring the running time empirically

Working with Lists

Lab Exam 1

Working with Stacks

Working with Queues

Mid Break

Working with Binary Trees

Lab Exam 2

10

Working with Binary Search Trees

11

Working with Hash Tables

12

10

Working with Sorting Algorithms

13

Lab Exam 3

14