Logo - springer
Slogan - springer

Computer Science - Theoretical Computer Science | Data Structures and Algorithms 1 - Sorting and Searching

Data Structures and Algorithms 1

Sorting and Searching

Mehlhorn, K.

Original German edition published by B.G. Teubner Verlag, 1977

Softcover reprint of the original 1st ed. 1984, XIV, 336 pp. 87 figs.

Available Formats:

Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.

You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.

After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.


(net) price for USA

ISBN 978-3-642-69672-5

digitally watermarked, no DRM

Included Format: PDF

download immediately after purchase

learn more about Springer eBooks

add to marked items


Softcover (also known as softback) version.

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.


(net) price for USA

ISBN 978-3-642-69674-9

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days

add to marked items

  • About this textbook

The design and analysis of data structures and efficient algorithms has gained considerable importance in recent years. The concept of "algorithm" is central in computer science, and "efficiency" is central in the world of money. I have organized the material in three volumes and nine chapters. Vol. 1: Sorting and Searching (chapters I to III) Vol. 2: Graph Algorithms and NP-completeness (chapters IV to VI) Vol. 3: Multi-dimensional Searching and Computational G- metry (chapters VII and VIII) Volumes 2 and 3 have volume 1 as a common basis but are indepen­ dent from each other. Most of volumes 2 and 3 can be understood without knowing volume 1 in detail. A general kowledge of algorith­ mic principles as laid out in chapter 1 or in many other books on algorithms and data structures suffices for most parts of volumes 2 and 3. The specific prerequisites for volumes 2 and 3 are listed in the prefaces to these volumes. In all three volumes we present and analyse many important efficient algorithms for the fundamental computa­ tional problems in the area. Efficiency is measured by the running time on a realistic model of a computing machine which we present in chapter I. Most of the algorithms presented are very recent inven­ tions; after all computer science is a very young field. There are hardly any theorems in this book which are older than 20 years and at least fifty percent of the material is younger than 10 years.

Content Level » Graduate

Keywords » NP-completeness - Structures - algorithms - computer - computer science - data structures - sorting

Related subjects » Theoretical Computer Science

Table of contents 

I. Foundations.- 1. Machine Models: RAM and RASP.- 2. Randomized Computations.- 3. A High Level Programming Language.- 4. Structured Data Types.- 4.1 Queues and Stacks.- 4.2 Lists.- 4.3 Trees.- 5. Recursion.- 6. Order of Growth.- 7. Secondary Storage.- 8. Exercises.- 9. Bibliographic Notes.- II. Sorting.- 1. General Sorting Methods.- 1.1 Sorting by Selection, a First Attempt.- 1.2 Sorting by Selection: Heapsort.- 1.3 Sorting by Partitioning: Quicksort.- 1.4 Sorting by Merging.- 1.5 Comparing Different Algorithms.- 1.6 Lower Bounds.- 2. Sorting by Distribution.- 2.1 Sorting Words.- 2.2 Sorting Reals by Distribution.- 3. The Lower Bound on Sorting, Revisited.- 4. The Linear Median Algorithm.- 5. Exercises.- 6. Bibliographic Notes.- III. Sets.- 1. Digital Search Trees.- 1.1 Tries.- 1.2 Static Tries or Compressing Sparse Tables.- 2. Hashing.- 2.1 Hashing with Chaining.- 2.2 Hashing with Open Addressing.- 2.3 Perfect Hashing.- 2.4 Universal Hashing.- 2.5 Extendible Hashing.- 3. Searching Ordered Sets.- 3.1 Binary Search and Search Trees.- 3.2 Interpolation Search.- 4. Weighted Trees.- 4.1 Optimum Weighted Trees, Dynamic Programming, and Pattern Matching.- 4.2 Nearly Optimal Binary Search Trees.- 5. Balanced Trees.- 5.1 Weight-Balanced Trees.- 5.2 Height-Balanced Trees.- 5.3 AdvancedTopicson(a,b)-Trees.- 5.3.1 Mergable Priority Queues.- 5.3.2 Amortized Rebalancing Cost and Sorting Presorted Files.- 5.3.3 Finger Trees.- 5.3.4 Fringe Analysis.- 6. Dynamic Weighted Trees.- 6.1 Self-Organizing Data Structures and Their Amortized and Average Case Analysis.- 6.1.1 Self-Organizing Linear Lists.- 6.1.2 Splay Trees.- 6.2 D-trees.- 6.3 An Application to Multidimensional Searching.- 7. A Comparison of Search Structures.- 8. Subsets of a Small Universe.- 8.1 The Boolean Array (Bitvector).- 8.2 The O(log log N) Priority Queue.- 8.3 The Union-Find Problem.- 9. Exercises.- 10. Bibliographic Notes.- IX. Algorithmic Paradigms.

Popular Content within this publication 



Read this Book on Springerlink

Services for this book

New Book Alert

Get alerted on new Springer publications in the subject area of Computation by Abstract Devices.