listsstacksand queues if your program needs to store few things -numberspayroll recordsor job descriptions for example -the simplest and most effective approach might be to put them in list only when you have to organize or search through large number of things do more sophisticated data structures usually become necessary (we will study how to organize and search through medium amounts of data in and and discuss how to deal with large amounts of data in - many applications don' require any form of searchand they do not require that any ordering be placed on the objects being stored some applications require processing in strict chronological orderperhaps processing objects in the order that they arrivedor perhaps processing objects in the reverse of the order that they arrived for all these situationsa simple list structure is appropriate this describes representations for lists in generalas well as two important list-like structures called the stack and the queue along with presenting these fundamental data structuresthe other goals of the are to( give examples of separating logical representation in the form of an adt from physical implementation for data structure ( illustrate the use of asymptotic analysis in the context of some simple operations that you might already be familiar with in this way you can begin to see how asymptotic analysis workswithout the complications that arise when analyzing more sophisticated algorithms and data structures ( introduce the concept and use of dictionaries we begin by defining an adt for lists in section two implementations for the list adt -the array-based list and the linked list -are covered in detail and their relative merits discussed sections and cover stacks and queuesrespectively sample implementations for each of these data structures are presented section presents the dictionary adt for storing and retrieving datawhich sets context for implementing search structures such as the binary search tree of section