- 152 Views
- Uploaded on
- Presentation posted in: General

CSE 246 Data Structures and Algorithms

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

CSE 246Data Structures and Algorithms

Spring2012

Lecture#1

- What is the importance of data structures?
- How data structures effects on the performance of an algorithms?
This course attempt to answer these question.

- Data Structures: Arrangement of data in computers memory. Such as list, stack, queues, trees, graph
- Algorithms: Manipulate the data in these structures in a variety of ways. Such as by sorting and searching the data.

Quratulain Rajput

- What sorts of problems can be solved with the knowledge of these topics?
- In general problems are categories as:
- Storage of real world data
- Data storage structure used by programs (not user’s data)
- Data modeling

Quratulain Rajput

- How would you store the data in your computer’s memory?
- Would your method work for a hundred records of data? A thousand? A million?
- Would your method permit quick insertion of new data and deletion of old ones?
- Would it allow for fast searching for a specified data?
- Suppose you wanted to arrange the cards in alphabetical order. How would you sort them?
- Computer example: Inventory records
- Non computer example: Arrange the students according to their heights.

Quratulain Rajput

- Some data structures are not use to store real world data, instead they used as programming tools.A programmer uses following structures as tools to facilitate some other operation.
- Stack
- Queues

Quratulain Rajput

- Some data structure directly model the real world situation such as list of student names (using list data structure).
- While some real world situation cannot directly model using data structures. Such as hierarchical data.

Quratulain Rajput

- Every piece of data that is stored in a computer is kept in a memory cell with a specific address.
- Computer memory is linear.
- Once the computer stores data in the memory cells, it can access the data by using the address of the data cells.

Quratulain Rajput

- But what happens when we try to represent our tree diagram of a company? It doesn't make sense to store the names one after the other because the tree is not linear.
- Now we have a problem. We want to represent a nonlinear data structure using computer memory that is linear.

Quratulain Rajput

- There is a famous saying by the renowned teacher and scholar, Nicolas Wirth that “Algorithms + Data Structures = Programs” (Wirth)
- “For many applications, the choice of the proper data structure is the only major decision involving the implementation: once the choice is made, the necessary algorithms are simple.” (Sedgwick)

Quratulain Rajput

- During this course, you will learn how data structures are created inside a computer.
- You will find there is quite a difference between your mental picture of a data structure and the actual way a computer stores a data structure in memory.
- You will also discover that there are many different ways of creating the same data structure in a computer.
- These various approaches are tradeoffs that programmers must consider when writing software.

Quratulain Rajput

- This course covers the following data structures.

Data Structures

Linear

Non-linear

Arrays

Linked lists

Stack

Queues

Trees

Graphs

Tables

Set

Quratulain Rajput