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