Tomes of Delphi:
Algorithms and Data Structures

The book on using algorithms and data structures in Delphi and Kylix has just been released. This page describes the book and has a list of errata for the book and the code.

The book

Although there are numerous books on algorithms in bookstores, few of them go beyond the standard Computer Science 101 course and approach algorithms from a practical perspective. Code is shown, usually merely to illustrate an algorithmic point, and generally no consideration is given to real-life, drop-in-and-use application of the technique in question. Even worse from the perspective of the commercial programmer, many are textbooks and hence some of the more interesting viewpoints are left as exercises for the reader, with little or no answers. Delphi programmers are even more isolated; more often than not they are obliged to use a book with code in C or C++ and translate. Even worse, they can look over at the C++ programmer with his Standard Template Library.

Tomes of Delphi: Algorithms and Data Structures (DADS) aims to bridge the gap for Delphi or Kylix programmers. Algorithms are introduced purely from a Delphi perspective, using the Object Pascal language. Delphi/Kylix standard classes, such as TList and the TStream family, are extensively used. Emphasis is given to drop-in-and-use units and classes.

The book is aimed at medium to advanced level programmers, those who would be looking at the standard algorithm texts and converting algorithms from them into Delphi. Little or no provision is made towards beginner programmers. The book and code is applicable to all versions of Delphi and to Kylix; it was not  written just for the latest compiler. Hence, the book will not 'age' as quickly as many other Delphi books--the code in it will still work with Delphi 6 and later.

The DADS book is divided into chapters tracing the standard algorithms from the simple to the more complex. Information and code introduced in earlier chapters is used extensively in later chapters; re-use of code is emphasized. The book does not delve too much into mathematics, especially with regard to efficiency calculations; the reader is referred to other textbooks for such coverage.

The errata

Chapter 1: What is an algorithm?

Chapter 2: Arrays

Chapter 3: Linked Lists, Stacks and Queues

Chapter 4: Searching

Chapter 5: Sorting

Chapter 6: Randomized Algorithms

Chapter 7: Hashing and Hash Tables

Chapter 8: Binary Trees

Chapter 9: Priority Queues and Heapsort

Chapter 10: State Machines and Regular Expressions

Chapter 11: Data Compression

Chapter 12: Advanced Topics


CD-ROM Source code

The reviews

There have been some reviews of the book. More...

Copyright (c) Julian M Bucknall, 2001 Last modified: 28-Nov-2001. email: Webmaster