Home

Previous Entry | Next Entry

question
Here are a few questions for computer science majors:
1. When did you first encounter balanced search trees and heaps for priority queues?
2. Which variations (red-black trees, heaps) did you cover?
3. Did you have you implement it from scratch?
4. If not, what did you do with existing code?
5. How many semesters total did you spend studying balanced search trees (among other topics)?

To be cross-posted to [info]compscibooks

--
Banazir

Comments

( 3 comments — Leave a comment )
[info]twinbee wrote:
Oct. 23rd, 2006 02:53 pm (UTC)
1. balanced search trees (red/black) junior year (algorithms). heaps freshman year (data structures)

2. red-black, B-trees, heaps

3. yes, all three from scratch, C++

4. also observed existing java applets for first-level understanding

5. two
[info]nikolasco wrote:
Oct. 23rd, 2006 11:51 pm (UTC)
AVL trees and binary heaps were covered in my freshman year (the class is sophmore year for people without the AP credit). Binary heaps were revisited sophmore year in the junior-level algorithms/data-structures course. In the senior data structures course we covered splay trees, skip lists, b-trees, b+-trees, red-black trees, binomial heaps, and fibonacci heaps. We also covered kd-trees (Bentley-style), quadtrees, PR quadtreees, and PM quadtrees.

Proper coverage of amoritized analysis (splay trees, skip lists, binomial heaps, and fibonacci heaps) isn't done until the first-year grad algorithms course. The geometric analysis of the spatial data structures is reserved for the computational geometry and GIS courses (both grad level).

Stuff implemented: AVL trees, binary heaps, PR quadtreees, PM quadtrees, b+-trees, fibonacci heaps. I also did the really painful implementation of an AVL tree and doubly-linked list combined data structure. The only thing done with existing code was using maps in C++/Java, which are red-black trees in libstdc++ and Sun JVM.

I'm still irritated that the C++ STL spec mandates binary heap implementation of the priority_queue class.
[info]zaimoni wrote:
Oct. 27th, 2006 01:33 am (UTC)
Crashing the party
It's 1990....
  1. Myron Calhoun, S90.
  2. Both, although Myron cauterized the course content upon discovering the general inability of students to reimplement a ring data structure.
  3. Balanced tree, yes. Priority heap, no.
  4. The priority heap assignments were removed from the syllabus :(
  5. While I only spent one semester of coursework on this, I have found it necessary to consider balanced search trees several times as a possible data structure. I also went ahead and translated the heapsort into an all-header C++ template function library. [While not a sorting panacea, O(nlog(n)) and in-place are redeeming features.]
( 3 comments — Leave a comment )

Latest Month

December 2008
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   

KSU Genetic and Evolutionary Computation (GEC) Lab

Teunciness

Breakfast

Science, Technology, Engineering, Math (STEM) Communities

Fresh Pages

Tags

Powered by LiveJournal.com
Designed by Naoto Kishi