chap data structures and algorithms example company is developing database system containing information about cities and towns in the united states there are many thousands of cities and townsand the database program should allow users to find information about particular place by name (another example of an exact-match queryusers should also be able to find all places that match particular value or range of values for attributes such as location or population size this is known as range query reasonable database system must answer queries quickly enough to satisfy the patience of typical user for an exact-match querya few seconds is satisfactory if the database is meant to support range queries that can return many cities that match the query specificationthe entire operation may be allowed to take longerperhaps on the order of minute to meet this requirementit will be necessary to support operations that process range queries efficiently by processing all cities in the range as batchrather than as series of operations on individual cities the hash table suggested in the previous example is inappropriate for implementing our city databasebecause it cannot perform efficient range queries the -tree of section supports large databasesinsertion and deletion of data recordsand range queries howevera simple linear index as described in section would be more appropriate if the database is created onceand then never changedsuch as an atlas distributed on cd-rom abstract data types and data structures the previous section used the terms "data itemand "data structurewithout properly defining them this section presents terminology and motivates the design process embodied in the three-step approach to selecting data structure this motivation stems from the need to manage the tremendous complexity of computer programs type is collection of values for examplethe boolean type consists of the values true and false the integers also form type an integer is simple type because its values contain no subparts bank account record will typically contain several pieces of information such as nameaddressaccount numberand account balance such record is an example of an aggregate type or composite type data item is piece of information or record whose value is drawn from type data item is said to be member of type