The Study of data structure and algorithm design has continued. Out of this world-acclaimed work has come many good ideas which we believe should be presented to students of computer science. It is our purpose in writing this book to emphasize those trends which we see as especially valuable and long lasting. This book also seeks to teach the art of analysing algorithms but not at the cost of undue mathematical sophistication. The value of an implementation ultimately relies on its resource utilization: time and space. This implies that the student needs to be capable of analysing these factors. The basic audience for this book is either the Computer Science major with at least one year of courses or a beginning graduate student with more than one semester's worth of material and several of its chapter may be skipped without harm. The following are two scenarios which may help in deciding what chapters should be covered. Contents: 1. Introduction, 2. Arrays, 3. Stacks and Queues, 4. Unked Lists, 5.Trees, 6. Graphs, 7. Internal Sorting, 8. External Sorting, 9. Symbol Tables, 10.Files. Appendix.