1 / 11

CSE 246 Data Structures and Algorithms

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.

kitra
Télécharger la présentation

CSE 246 Data Structures and Algorithms

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 246Data Structures and Algorithms Spring2012 Lecture#1

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Overview of Data Structures • This course covers the following data structures. Data Structures Linear Non-linear Arrays Linked lists Stack Queues Trees Graphs Tables Set Quratulain Rajput

More Related