

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An overview of data structures, explaining what they are and their importance in organizing data. It covers various data structures such as arrays, graphs, trees, and heterogeneous linked lists, and discusses their applications in areas like compiler design, operating systems, and database management systems. The document also explains the use of data structures in recursion, expression evaluation, sorting, and hashing, and provides classifications of hashing functions and collision resolution techniques.
What you will learn
Typology: Exams
1 / 3
This page cannot be seen from the preview
Don't miss anything!
A data structure is a way of organizing data that considers not only the items stored, but also their relationship to each other. Advance knowledge about the relationship between data items allows designing of efficient algorithms for the manipulation of data.
2.1. Compiler Design, 2.2. Operating System, 2.3. Database Management System, 2.4. Statistical analysis package, 2.5. Numerical Analysis, 2.6. Graphics, 2.7. Artificial Intelligence, 2.8. Simulation
2.9. RDBMS = Array (i.e. Array of structures) 2.10. Network data model = Graph 2.11. Hierarchical data model = Trees
The heterogeneous linked list contains different data types in its nodes and we need a link, pointer to connect them. It is not possible to use ordinary pointers for this. So we go for void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.
Two. One queue is used for actual storing of data and another for storing priorities.
Stack. Because of its LIFO (Last In First Out) property it remembers its 'caller' so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls.
Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used.
Polish and Reverse Polish notations.
8.1. Prefix Notation: - * +ABC ^ - DE + FG 8.2. Postfix Notation: AB + C * DE - FG + ^ -
Sorting is not possible in Deletion. Using insertion we can perform insertion sort, using selection we can perform selection sort, using exchange we can perform the bubble sort (and other similar sorting methods). But no sorting method can be done just using deletion.
8.3. Straight merging, 8.4. Natural merging, 8.5. Polyphase sort, 8.6. Distribution of Initial runs.
8.7. The manipulation of Arithmetic expression, 8.8. Symbol Table construction, 8.9. Syntax analysis.
8.10. Sparse matrix, 8.11. Index generation.
Linked list is the suitable efficient data structure.
Backtracking.
If the 'pivotal value' (or the 'Height factor') is greater than 1 or less than -1.
One. If there is only one entry possible in the bucket, when the collision occurs, there is no way to accommodate the colliding value. This results in the overlapping of values.
8.12. Direct method, 8.13. Subtraction method, 8.14. Modulo-Division method, 8.15. (^) Digit-Extraction method, 8.16. Mid-Square method, 8.17. Folding method, 8.18. Pseudo-random method.