Preface

As a student, programmer, and teacher of computer engineering, I find ‘Data Structures’ a core course of computer engineering and particularly central to programming process.

In fact in our day-to-day life, we are confronted with situations such as where I would keep a bunch of keys, a pen, coins, two thousand rupees, a chalk, and five hundred thousand rupees.

I would keep the bunch of keys and coins in the left and right pockets of my pants, respectively. The pen gets clipped to the front pocket of the shirt whereas two thousand rupees would go into my ticket pocket. I would definitely put the five hundred thousand rupees into a safe, i.e., under the lock and key. While teaching, I will keep the chalk in hand. The decision of choosing the places for these items is based on two factors: ease of accessibility and security.

Similarly, given a problem situation, a mature programmer chooses the most appropriate data structures to organize and store data associated with the problem. The reason being that the intelligent choice of data structures will decide the fate of the software in terms of effectiveness, speed and efficiency—the three most important much-needed features for the success of a commercial venture.

I have taught ‘Data Structures’ for more than a decade and, therefore, the demand to write a book on this subject was there for quite some time by my students and teacher colleagues.

The hallmark of this book is that it would not only help students to understand the concepts governing the data structures but also to develop a talent in them to use the art of discrimination to choose the right data structures for a given problem situation. In order to provide a hands-on experience to budding software engineers, implementations of the operations defined on data structures using ‘C’ have been provided. The book has a balance between the fundamentals and advanced features, supported by solved examples.

This book would not have been possible without the well wishes and contribution of many people in terms of suggestions and useful remarks provided by them during its production. I record my thanks to Dr Ashutosh Dixit, Anuradha Pillai, Sandya Dixit, Dr Komal Bhatia, Rosy Bhatia, Harsh, and Indu Grover.

I am indebted to my teachers and research guides, Professor J. P. Gupta, Professor Padam Kumar, Professor Moinuddin, and Professor D. P. Agarwal, for their encouragement. I am also thankful to my friends, Professor Asok De, Professor Qasim Rafiq, Professor N.S. Gill, Rajiv Kapur and Professor Rajender Sahu, for their continuous support and useful comments.

I am also thankful to various teams at Pearson who made this beautiful book happen.

Finally, I would like to extend special thanks to my parents, wife Suman and daughter Sagun for saying ‘yes’ for this project when both wanted to say ‘no’. I know that I have stolen some of the quality time which I ought to have spent with them.

Some errors might have unwittingly crept in. I shall be grateful if they are brought to my notice. I would also be happy to acknowledge suggestions for further improvement of this book.

 

A. K. Sharma

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.134.151