Home
Search

What's New
Index
Books
Q & A
Banners

Bookstore...

Feedback
Tip Jar

MSDN Visual Basic Community

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.