Download Data structure analysis and more Exercises Data Structures and Algorithms in PDF only on Docsity!
Data Structures and Algorithms
LECTURE 1 - Introduction
Outline
- (^) Define Algorithm and Data Structure
- (^) How Data Structure and Algorithms are correlated to each other
- (^) Qualities of a good Algorithm
- (^) What this course is about and why is it important
Algorithm - Definition
- (^) Algorithm is well defined, step by step procedure to solve a problem.
- (^) It takes some input , performs a sequence of computations, produces output. Instance of input Required Output Algorithm
Example H C
C H H B B H H A A H C E E C E B B E
.. .. E U
- Find places adjacent to home.
- Keep record of the distance covered.
- For each place in adjacent places, find next adjacent nodes, until you get to the destination.
- Compare the distance of multiple paths.
- Path with the shortest distance is solution.
Algorithm - Definition
- Algorithm is well defined, step by step procedure to solve a problem.
- It takes some input , performs a sequence of computations, produces output. Instance of input Required Output Algorithm
In this Course
- (^) Data Structures
- (^) Algorithm
- (^) Analysis
Data Structures – in this course
- (^) Linked list ( single, double, circular)
- (^) Stack
- (^) Queue
- (^) Tree
- (^) Graph
- (^) Hash Table
- (^) Heap Analyze DS’s for basic operations
Why learn Data Structures and Algorithms?
- (^) Thinking beyond the data structures provided by a language
- (^) You’ll come across some very interesting, non intuitive ways of solving problems
- (^) Better hardware is not solution
- (^) Learn some interesting design paradigms
- (^) It’s a skill
- (^) Inefficient solution - without the knowledge of algorithms
- (^) It will teach you the science of evaluating the efficiency of an algorithm.
Textbooks
Mark A. Weiss, Data Structures and Algorithm Analysis in C++, Fourth Edition (2013) T. H. Cormen, Charles E. Leiserson, R. L. Rivest, Clifford S. Introduction to Algorithms, Third Edition (2009) Steven S Skiena. The Algorithm Design Manual, Second Edition (2008)
Theory
- (^) Assignments 10%
- (^) Quizzes 10%
- (^) OHT-1 15%
- (^) OHT-2 15%
- (^) Final Exam 50% Lab
- (^) Lab Assignments 70%
- (^) Semester Project 30%
Instructor : Amna Ali Ahmed Contact: [email protected]