Lecture - 1 - Introduction - Ahsan
Lecture - 1 - Introduction - Ahsan
Lecture 1: Introduction
Assistant Professor
Department Of Computing (DOC),
School of Electrical Engineering & Computer Science (SEECS),
National University of Sciences & Technology (NUST)
Who am I?
Academic Profile
2009 2017
COMSATS, Islamabad, Macquarie University, Sydney,
Pakistan Australia
Computer Engineering PhD Engineering
Double Gold Medalist Macquarie University Scholarship
Intel Scholarship
NUST, Islamabad,
Pakistan
Electrical Engineering
2013
Macquarie University,
Western Sydney University,
Sydney, Australia
Sydney, Australia
2014 2018
▪ Objectives:
▪ Text books:
▪ Reference books:
RESPECT
▪ Attendance (75% mandatory)
▪ Quizzes
► Anytime
▪ “Don’t cheat”
► You may try BUT if caught NO MERCY!
► Will NOT accept phrases like:
- “… by chance we had the same variable name”
▪ Assignments & lab exercises
▪ Plagiarism
► No copying
Join to Learn – Not for attendance ☺
▪ Assignments : 10%
▪ Quizzes : 10% 75%
▪ OHT-1 & OHT-2 : 30 %
▪ Final : 50%
▪ How many cities with more than 250,000 people lie within
500 km of Islamabad?
▪ Processor Speed
► Processor speed although being very high, falls limited if the
data grows to billion records
▪ Multiple Requests
► As thousands of users can search data simultaneously on a
web server, even the fast server fails while searching the data
https://www.geeksforgeeks.org/why-data-structures-and-
algorithms-are-important-to-learn/
▪ Interface
► Represents the set of operations that a data structure
supports &
► Only provides the list of supported operations, type of
parameters they can accept and the return type of these
operations
▪ Implementation
► Provides the internal representation of a data structure &
► The definition of the algorithms used in the operations of the
data structure
▪ Issues
► Space needed
► Operations efficiency (Time required to complete operations)
- Retrieval
- Insertion
- Deletion
array
Linked list
queue
tree stack
▪ Algorithm
► Definition
▪ Examples
► sort a list of numbers
► find a route from one place to another (cars, packet routing,
phone routing, ...)
► find the longest common substring between two strings
► microchip wiring/design (VLSI)
► cryptography
► compression (file, audio, video)
► Does it terminate?
https://www.geeksforgeeks.org/abstract-data-types/
▪ Ordering
► Put keys into some order so that we know something about where
each key is relative to the other keys.
► Phone books are easier to search because they are alphabetized.
▪ Linking
► Add pointers to each record so that we can find related records
quickly.
► E.g. The index in the back of book provides links from words to the
pages on which they appear.
▪ Partitioning:
► Divide the records into 2 or more groups, each group sharing a
particular property.
► E.g. Multi-volume encyclopedias (Aa-Be, W-Z)
► E.g. Folders on your hard drive