4. Books and chapters of books
Permanent URI for this collection
Browse
Browsing 4. Books and chapters of books by Author "Peretyat'kin M.G."
Now showing 1 - 1 of 1
Results Per Page
Sort Options
Item Open Access Fundamental Structures OF Computer Science (Part-2)(SÜLEYMAN DEMIREL UNIVERSITY, 2002) Peretyat'kin M.G.This book describes data structures, methods of organizing large amounts of data, and algorithm analysis, the estimation of the running time of algorithins. As computers become faster and faster, the need for prograns that can handle large amounts of input becomes more acute. Paradoxically, this requires more careful attention to efficiency, since inefficiencies in programs become most obvious when input sizes are large. By analyzing an algorithm before it is actually coded, students can decide if a particular solution will be feasible. Therefore, no algorithm or data structure is presented without an explanation of its running time. As computers have become more powerful, the problems they must solve have become larger and more complex, requiring development of more intricate programs. The goal of this text is to teach students good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amount of efficiency. Chapters 1 and 2 give some general approach to investigate programs and describe main classes of algorithms. Chapter 3 covers lists, stacks, and queues. The emphasis here is on coding these data structures using abstract data types, fast implementation of these data structures, and an exposition of some of their uses. There are almost no programs (just routines), but the exercises contain plenty of ideas for programming assignments. Chapter 4 covers trees, with an emphasis on search trees, including external search trees (B-trees). The UNIX file system and expression trees are used as examples. AVL trees and splay trees are introduced but not analyzed. Seventy-five percent of the code is written, leaving similar cases to be completed by the student. Chapter 5 is a relatively short chapter concerning hash tables. Some analysis is performed, and extendible hashing is covered at the end of the chapter. Chapter 6 is about priority queues. Binary heaps are covered, and there is additional material on some of the theoretically interesting implementations of priority queues. Chapter 7 covers sorting. It is very specific with respect to coding details and analysis. All the important general-purpose sorting algorithms are covered and compared. Four algorithms are analyzed in detail: insertion sort, Shellsort, heapsort, and quicksort. The analysis of the average-case running time of heap sort is new to this edition. External sorting is covered at the end of the chapter. Abstract data types have helped greatly in organizing the subject matter, both by classifying and specifying data structures, and by removing them from the algorithms. They permeate the book, and there are whole chapters devoted to their implementation. By count- ing the number of times that a characteristic operation is performed, the analyses give quite precise results, without excessive detail. Exercises, provided at the end of each chapter, match the order in which material is presented. The last exercises may address the chapter as a whole rather than a specific section. Difficult exercises are marked with an asterisk, and more challenging exercises have two asterisks. References are placed at the end of each chapter. Generally the references either are historical, representing the original source of the ma- terial, or they represent extensions and improvements to the results given in the text. Some references represent solutions to exercises. This book is intended as a text for a one-semester second or third year course on algorithms and data structures. Chapters 1-7 of the book provide enough material for one-semester data structures courses. It aims to present the central topics of the subject under a coherent or- ganization, with emphasis more on depth of treatment than on broad survey.