Introduction to Data Structures - Yola

Download Report

Transcript Introduction to Data Structures - Yola

CS212: DATA STRUCTURES
Lecture 1: Introduction
What is this course is about ?


Data structures : conceptual and concrete ways to
organize data for efficient storage and efficient
manipulation .
Employment of this data structures is the designed
of efficient algorithms
What is this course is about ? Con..
The data structures deal with the study of how the
data is organized in the memory , how efficiently it
can be retrieved and manipulated and possible
ways in which different data items are logically
related .
 They go hand by hand with a particular algorithm .
 Data structures can be classified into :
1- Primitive data structure
2-Non primitive data structure

Data structures classification
1- Primitive data structure
 These are data structures that can be manipulated
directly by machine instructions.
 In C language , the different primitive data
structures are integer , float ,character , double .
Data structures classification
con..
2-Non Primitive data structure
These are data structures that can not be manipulated
directly by machine instructions.
Arrays , linked list , files , etc are some of none
primitive data structures and are classified into linear
data structures and non-linear data structures .
Why do we need data them ?




Computers take on more and more complex tasks .
Imagine index of 8 billion pages (google)
Software implementation and maintenance is
difficult
Clean conceptual frame work allows for more
efficient and more correct code .
Why do we need data them ?
Requirements for a good software
 Clean design
 Easy maintenance
 Reliable
 Easy to use
 Fast algorithms
Efficient Data Structure
Efficient algorithm

Selecting a data structures
Select a data structure as follows:
1. Analyze the problem to determine the
resource constraints a solution must meet.
2. Determine the basic operations that must
be supported.
3. Select the data structure that best meets
these requirements.
Data Structure philosophy





Each data structure has costs and benefits .
Rarely is one data structure better than another in
all situations .
A data structure requires:
Space for each data item it stores .
Time to perform each basic operation programming
effort .
What you need ?
Programming experience with java
 Textbook Data structures and algorithms with java
Michael T.goodRich
4th Edition

Topics








Array
Linked list
Recursion
Stack
Queue
Tree
Graph
Hashing