CSE 246 Data Structures and Algorithms

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

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

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.

• 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

Introduction
• 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

Storage of real world data
• 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

Data storage structure used by programs
• 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

Data modeling
• 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

Data modeling
• 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

Data modeling
• 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

Data Structures and Algorithms
• 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

Data Structures and Algorithms
• 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

Overview of Data Structures
• This course covers the following data structures.

Data Structures

Linear

Non-linear

Arrays

Stack

Queues

Trees

Graphs

Tables

Set

Quratulain Rajput