1 / 11

CSE 246 Data Structures and Algorithms - PowerPoint PPT Presentation

CSE 246 Data Structures and Algorithms. Spring2012 Lecture#1. Introduction. What is the importance of data structures? How data structures effects on the performance of an algorithms? This course attempt to answer these question.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'CSE 246 Data Structures and Algorithms ' - kitra

An Image/Link below is provided (as is) to download presentation

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

Stack

Queues

Trees

Graphs

Tables

Set

Quratulain Rajput