data structures using data structures are used in almost every program or software system some common examples of data structures are arrayslinked listsqueuesstacksbinary treesand hash tables data structures are widely applied in the following areascompiler design statistical analysis package numerical analysis artificial intelligence operating system dbms simulation graphics when you will study dbms as subjectyou will realize that the major data structures used in the network data model is graphshierarchical data model is treesand rdbms is arrays specific data structures are essential ingredients of many efficient algorithms as they enable the programmers to manage huge amounts of data easily and efficiently some formal design methods and programming languages emphasize data structures and the algorithms as the key organizing factor in software design this is because representing information is fundamental to computer science the primary goal of program or software is not to perform calculations or operations but to store and retrieve information as fast as possible be it any problem at handthe application of an appropriate data structure provides the most efficient solution solution is said to be efficient if it solves the problem within the required resource constraints like the total space available to store the data and the time allowed to perform each subtask and the best solution is the one that requires fewer resources than known alternatives moreoverthe cost of solution is the amount of resources it consumes the cost of solution is basically measured in terms of one key resource such as timewith the implied assumption that the solution meets the other resource constraints today computer programmers do not write programs just to solve problem but to write an efficient program for thisthey first analyse the problem to determine the performance goals that must be achieved and then think of the most appropriate data structure for that job howeverprogram designers with poor understanding of data structure concepts ignore this analysis step and apply data structure with which they can work comfortably the applied data structure may not be appropriate for the problem at hand and therefore may result in poor performance (like slow speed of operationsconverselyif program meets its performance goals with data structure that is simple to usethen it makes no sense to apply another complex data structure just to exhibit the programmer' skill when selecting data structure to solve problemthe following steps must be performed analysis of the problem to determine the basic operations that must be supported for examplebasic operation may include inserting/deleting/searching data item from the data structure quantify the resource constraints for each operation select the data structure that best meets these requirements this three-step approach to select an appropriate data structure for the problem at hand supports data-centred view of the design process in the approachthe first concern is the data and the operations that are to be performed on them the second concern is the representation of the dataand the final concern is the implementation of that representation there are different types of data structures that the language supports while one type of data structure may permit adding of new data items only at the beginningthe other may allow it to be added at any position while one data structure may allow accessing data items sequentiallythe other may allow random access of data soselection of an appropriate data structure for the problem is crucial decision and may have major impact on the performance of the program