Data Structures Lecture-1:Introduction
Download
Report
Transcript Data Structures Lecture-1:Introduction
Data Structures
Lecture-1:Introduction
Books
Data Structures Using C and C++
By Y. Langsam, M. J. Augenstein, A. M.
Tenenbaum
Data Structures and Algorithms
By A. V. Aho, J. E. Hopcroft, J. D. Ullman
Schaum's Outline Series, Theory and problems
of Data Structures
By Seymour Lipschutz
Some topics will be covered from other books.
Material will be provided for these topics.
Course Contents
Introduction
Complexity Analysis
Simple Data Types and Abstract Data Types
Arrays and Lists
Elementary Data Structures
Stack and Queues
Recursion and Time Complexity of Recursive Algorithms
Trees and Graphs
Set structure
Searching techniques
Hashing
Sorting techniques
What is a Computer Program?
To exactly know, what is data structure?
We must know:
What is a computer program?
Input
Some mysterious
processing
Output
Definition
An organization of information, usually in
memory, for better algorithm efficiency
such as queue, stack, linked list, heap,
dictionary, and tree,
3 steps in the study of data structures
Logical or mathematical description of the
structure
Implementation of the structure on the
computer
Quantitative analysis of the structure,
which includes determining the amount of
memory needed to store the structure and
the time required to process the structure
Data may be organized in many ways
E.g., arrays, linked lists, trees etc.
The choice of particular data model
depends on two consideration:
It must be rich enough in structure to mirror the
actual relationships of data in the real world
The structure should be simple enough that one
can effectively process the data when
necessary
Example
Data structure for storing data of students:Arrays
Linked Lists
Issues
Space needed
Operations efficiency (Time required to complete
operations)
Retrieval
Insertion
Deletion
What data structure to use?
Data structures let the input and output be represented in a way
that can be handled efficiently and effectively.
array
Linked list
tree
queue
stack