420 likes | 1.17k Views
Data Structures Lecture-1:Introduction. Books. Data Structures Using C and C++ By Y. Langsam, M. J. Augenstein, A. M. Tenenbaum Data Structures and Algorithms By A. V. Aho, J. E. Hopcroft, J. D. Ullman Schaum's Outline Series, Theory and problems of Data Structures By Seymour Lipschutz
E N D
Books • Data Structures Using C and C++ ByY. Langsam, M. J. Augenstein, A. M. Tenenbaum • Data Structures and Algorithms By A. V. Aho, J. E. Hopcroft, J. D. Ullman • Schaum's Outline Series, Theory and problems of Data Structures By Seymour Lipschutz Some topics will be covered from other books. Material will be provided for these topics.
Course Contents • Introduction • Complexity Analysis • Simple Data Types and Abstract Data Types • Arrays and Lists • Elementary Data Structures • Stack and Queues • Recursion and Time Complexity of Recursive Algorithms • Trees and Graphs • Set structure • Searching techniques • Hashing • Sorting techniques
What is a Computer Program? • To exactly know, what is data structure? We must know: • What is a computer program? Some mysterious processing Output Input
Definition • An organization of information, usually in memory, for better algorithm efficiency • such as queue, stack, linked list, heap, dictionary, and tree,
3 steps in the study of data structures • Logical or mathematical description of the structure • Implementation of the structure on the computer • Quantitative analysis of the structure, which includes determining the amount of memory needed to store the structure and the time required to process the structure
Data may be organized in many ways • E.g., arrays, linked lists, trees etc. • The choice of particular data model depends on two consideration: • It must be rich enough in structure to mirror the actual relationships of data in the real world • The structure should be simple enough that one can effectively process the data when necessary
Example • Data structure for storing data of students:- • Arrays • Linked Lists • Issues • Space needed • Operations efficiency (Time required to complete operations) • Retrieval • Insertion • Deletion
What data structure to use? Data structures let the input and output be represented in a way that can be handled efficiently and effectively. array Linked list queue tree stack