As a subject, Data Structures and Algorithms has always fascinated me and it was a pleasure teaching this course to the Master's students at the Indian Institute of Science for six times in the last seven years. While teaching this course, I had prepared some notes, designed some programming assignments, and compiled what I thought were interesting problems. In April-95, Professor Srikant and I offered a course on Data Structures to the ITI engineers and followed it up with a more intensive AICTE-sponsored course on Object Oriented Programming and Data Structures in November-95. On both these occasions, I had prepared some lecture notes and course material. There was then a desire to put together a complete set of notes and I even toyed with the idea of writing the ideal book on DSA for Indian university students (later abandoned). Finally, encouraged by Professor Mruthyunjaya, past Chairman, CCE, Professor Pandian, current Chairman-CCE, and Prof. K.R. Ramakrishnan (QIP co-ordinator, CCE), and supported by some CCE funding, I embarked on the project of preparing a Web-enabled Lecture Notes.
At the outset, let me say this does not pretend to be
a textbook on the subject, though it does have some ingredients like examples,
problems, proofs, programming assignments, etc. The lecture notes offers
an adequate exposure at theoretical and practical level to important data
structures and algorithms. It is safe to say the level of contents will
lie somewhere between an undergraduate course in Data Structures and a
graduate course in Algorithms. Since I have taught these topics to M.E.
students with a non-CS background, I believe the lecture notes is at that
level. By implication, this lecture notes will be suitable for second year
or third year B.E./B. Tech students of Computer Science and for second
year M.C.A. students. It is also useful to working software professionals
and serious programmers to gain a sound understanding of commonly used
data structures and algorithm design techniques. Familiarity with C programming
is assumed from all readers.