|
|
|
|
|
|
Ready-To-Run Delphi Algorithms: Table of Contents |
|
|
|
|
|
|
|
|
- 1. Fundamental Concepts
-
Chapter 1 introduces the complexity theory you need to know in order to evaluate the
performance of different algorithms. It also explains real-world runtime issues.
- 2. Lists
-
This chapter describes different kinds of list structures. Using these dynamic data
structures, you can rearrange complex list structures quickly and easily.
- 3. Stacks and Queues
-
Stacks and queues allow a program to manage items in first-in-first-out (FIFO) or
last-in-last-out (LIFO) order. Stacks and queues are used in many other algorithms
including several described later in the book. Chapter 3 explains how to build special
data structures like circular queues and how to run queue simulations.
- 4. Arrays
-
Delphi's normal arrays are useful but limited. This chapter describes several other
kinds of arrays that let a program manipulate data conveniently without paying a large
storage overhead. Special arrays include triangular, irregular, sparse, and very sparse arrays.
- 5. Recursion
-
Recursion is a powerful but confusing topic. This chapter describes the analysis of
recursive routines, multiple recursion, indirect recursion, tail recursion, and ways
you can avoid recursion. It demonstrates these techniques using several algorithms
including fractal routines that draw Hilbert and Sierpinski curves.
- 6. Trees
-
You can represent many types of data naturally in trees. Chapter 6
discusses tree representations, tree traversal, sorted trees,
threaded trees, tries, quadtrees, and octtrees.
- 7. Balanced Trees
-
By properly balancing a tree, you can guarantee that it remains efficient.
This chapter explains several kinds of balanced trees including AVL trees,
B-trees, and B+trees. It implements a B+tree application that is quite
efficient for managing large databases.
- 8. Decision Trees
-
Many kinds of decisions can be modeled using decision trees. Chapter 8
explains how you can use decision trees to solve difficult problems. The minimax strategy
lets a program search game trees to play games like tic-tac-toe or chess. Other techniques
described in this chapter include branch and bound, and search heuristics.
- 9. Sorting
-
Sorting is one of the most common tasks in computer programming. Because no single algorithm
is best under all circumstances, Chapter 9 describes a variety of sorting algorithms including
insertionsort, selectionsort, bubblesort, quicksort, mergesort, heapsort, countingsort,
and bucketsort. The chapter explains when each of these algorithms is appropriate and when it is not.
- 10. Searching
-
After your program has sorted a list, you may need to search it. This chapter explains how
to use exhaustive, binary, and interpolation search to locate items in a list.
- 11. Hashing
-
In some cases a program can store and locate items extremely quickly using hashing. This chapter
describes hashing techniques such as chaining, bucket hashing, and several different
open addressing techniques.
- 12. Network Algorithms
-
In recent years networks have become more and more common. You can use the algorithms described
in this chapter to help manage networks. Chapter 12 describes algorithms for network traversal,
minimal spanning trees, shortest paths, and maximum flow.
- 13. Object-Oriented Techniques
-
This chapter explains some useful object-oriented paradigms that you can implement using
Delphi's classes.
|
|
|
|
|
Ready-To-Run Delphi Algorithms: Table of Contents |
|
|
|
|
|
|
|
|
|