Data Structure and algorithms
Asst. Lect. Zainab Mahmood Fadil
Computer Engineering Department
Second Class
University of Technology
Contents of Syllabus
➢ Math review, logs, series, recurrence relations, proof by
induction.
➢ Algorithm Analysis, max subsequence sum, longest
increasing subsequence,
➢ Euclid’s algorithm.
➢ Lists and garbage collection Multilinked structures and
dynamic storage allocation
➢
➢ Linked lists
➢ Stacks,
➢ Queue
➢ priority queues
➢ Trees, balanced trees, AVL Trees, B-Trees, Red-Black
References
1. C++ Programming : Program Design Including Data Structures by D.S.
MALIK ,fourth Edition ,2009 .
2. C++ Plus Data Structures by N. Dale ,fourth Edition,2010,Jones and Bartlett
Publishers
3. Data Structures and Algorithms in C++ by Adam Drozdek , Second
Edition, 2001.
Data Structure and algorithms
Lecture 1
Mathematical Review
Lecture outline
• Logarithms
• Arithmetic Series
• Proof by induction
End of Lecture 1
Data Structure and algorithms
Lecture 2
INTRODUCTION TO DATA STRUCTURE
Lecture outline
• Introduction
• Abstract Data Type (ADT)
• Containers
• Introduction to Data Structure
• Linear List
End of Lecture 2
Data Structure and algorithms
Lecture 3
Link List
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture outline
• Linked Lists Definition
• ADVANTAGES AND DISADVANTAGES
• TRAVERSING A LINKED LIST
• Item insertion
• Item deletion
• Linked List as an ADT
• Ordered Linked Lists
• Print Link List in reverse order
• Doubly Link list
• Circular Link List
End of Lecture 3
Data Structure and algorithms
Lecture 4
Stack
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Stack definition
• Stack operations
• Stack main functions
• Stack ADT
• Postfix calculator
End of Lecture 4
Data Structure and algorithms
Lecture 5
Queue
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Queue definition
• Queue operations
• Linked Queue
• Linear Queue
• Circular Queue
• Double-Ended Queue
• Priority Queue
End of Lecture 5
Data Structure and algorithms
Lecture 6
Search
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Sequential search
• Binary search.
End of Lecture 6
Data Structure and algorithms
Lecture 7
Sorting Algorithms
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Selection Sort
• Bubble Sort
• Insertion Sort
• Quick Sort
• Merge Sort
End of Lecture 7
Data Structure and algorithms
Lecture 8
Tree Data Structure
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Tree data structure
• Binary tree
• Binary Search Tree
End of Lecture 8
Data Structure and algorithms
Lecture 9
Hash Table
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Hash Table data structure.
• Hash Function.
• Collision Resolution.
End of Lecture 9
Data Structure and algorithms
Lecture 10
Algorithm Analysis
REF: C++ PROGRAMMING: PROGRAM DESIGN
INCLUDINGDATASTRUCTURES ,FIFTH EDITION, D.S. MALIK
Lecture Outline
• Algorithms
• Algorithm Complexity
• Big Oh Notation, Ο
• Growth Rate of Various Functions
• Worst Case, Average Case
End of Lecture 10
End of Course