140 likes | 384 Views
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.
E N D
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 Linked lists Stack Queues Trees Graphs Tables Set Quratulain Rajput