our study of data structures thus far has focused primarily upon the efficiency of computationsas measured by the number of primitive operations that are executed on central processing unit (cpuin practicethe performance of computer system is also greatly impacted by the management of the computer' memory systems in our analysis of data structureswe have provided asymptotic bounds for the overall amount of memory used by data structure in this we consider more subtle issues involving the use of computer' memory system we first discuss ways in which memory is allocated and deallocated during the execution of computer programand the impact that this has on the program' performance secondwe discuss the complexity of multilevel memory hierarchies in today' computer systems although we often abstract computer' memory as consisting of single pool of interchangeable locationsin practicethe data used by an executing program is stored and transferred between combination of physical memories ( cpu registerscachesinternal memoryand external memorywe consider the use of classic data structures in the algorithms used to manage memoryand how the use of memory hierarchies impacts the choice of data structures and algorithms for classic problems such as searching and sorting memory management in order to implement any data structure on an actual computerwe need to use computer memory computer memory is organized into sequence of wordseach of which typically consists of or bytes (depending on the computerthese memory words are numbered from to where is the number of memory words available to the computer the number associated with each memory word is known as its memory address thusthe memory in computer can be viewed as basically one giant array of memory words for examplein figure of section we portrayed section of the computer' memory as follows in order to run programs and store informationthe computer' memory must be managed so as to determine what data is stored in what memory cells in this sectionwe discuss the basics of memory managementmost notably describing the way in which memory is allocated to store new objectsthe way in which portions of memory are deallocated and reclaimedwhen no longer neededand the way in which the python interpreter uses memory in completing its tasks