chap data structures and algorithms this three-step approach to selecting data structure operationalizes datacentered view of the design process the first concern is for the data and the operations to be performed on themthe next concern is the representation for those dataand the final concern is the implementation of that representation resource constraints on certain key operationssuch as searchinserting data recordsand deleting data recordsnormally drive the data structure selection process many issues relating to the relative importance of these operations are addressed by the following three questionswhich you should ask yourself whenever you must choose data structureare all data items inserted into the data structure at the beginningor are insertions interspersed with other operationscan data items be deletedare all data items processed in some well-defined orderor is search for specific data items allowedtypicallyinterspersing insertions with other operationsallowing deletionand supporting search for data items all require more complex representations costs and benefits each data structure has associated costs and benefits in practiceit is hardly ever true that one data structure is better than another for use in all situations if one data structure or algorithm is superior to another in all respectsthe inferior one will usually have long been forgotten for nearly every data structure and algorithm presented in this bookyou will see examples of where it is the best choice some of the examples might surprise you data structure requires certain amount of space for each data item it storesa certain amount of time to perform single basic operationand certain amount of programming effort each problem has constraints on available space and time each solution to problem makes use of the basic operations in some relative proportionand the data structure selection process must account for this only after careful analysis of your problem' characteristics can you determine the best data structure for the task example bank must support many types of transactions with its customersbut we will examine simple model where customers wish to open accountsclose accountsand add money or withdraw money from accounts we can consider this problem at two distinct levels( the requirements for the physical infrastructure and workflow process that the