AVL Binary Tree Template Presentation

2002-01-12 : This is a presentation I created for a computer users group describing C++ pointers to members and how to use them to create a template for AVL binary trees.

This all started when I created my memory debugging library. I needed to keep a list of all the memory block allocated. A linked list is too slow for programs that allocate huge numbers of blocks, as I found out during a project my senior year of college.

When I was working in White Plains, they were having memory problems. I knew my memory debugging library would be the perfect solution, but I still needed to solve the linked list problem. I wanted to use a balanced binary tree, but I couldn't find a delete algorithm. Finally I found one on the web, so I implemented it. [Note: more recent versions are available here.] I the problem we were encountering at work as an excuse to add AVL binary trees to my memory debugging library and make it that more powerful. This happened around the end of July, 2000.

As new problems arose and I added more functionality to my library, I found I needed to use the AVL tree for more than one data structure. So, after studying the problem, I realized that a template over pointers to members would be perfect. Then I found out that MSVC6 didn't support them, so I hacked around it. This happened around December, 2000.

Then, about a year later (Jan 2002), a computer users group was asking people to bring in cool stuff they had done, so I packaged what I had learned into a tidy presentation and this is the result. Unfortunately, the most memorable comment I recieved on my presentation was, "I would hate to see a problem where this was the best solution." Um, yeah.

So here it is, my favorite bit of roadkill for you to gasp and gawk at.

  • the Powerpoint Presentation
  • the source code
    C o m m e n t s :    
    (nothing yet)