CPSC 489/IR/Spring 2002/Leggett/Programming Lab 2/Due February 21

Fenwick Trees

This lab consists of two parts:

   Part I. Building a Fenwick Tree of cumulative frequency counts.

       Input:     A file containing a set of words and their frequencies as extracted from a document collection.

       Output:  A Fenwick Tree based on the input symbol frequencies.
                     Three vectors:
                         Symbol - sorted in ascending sequence
                         Count - frequency of symbol
                         Fenwick Value - symbol's entry in the Fenwick Tree

   Part II. Calculating the cumulative frequency bounds for a symbol.

       Input:     A single symbol drawn from the full-text of the collection and pasted into a text box.
                     The necessary data structures generated during Part I.
                     One button that produces the bounding cumulative frequency counts for the symbol.
                     One reset button.

       Output:  The low-bound and high-bound cumulative frequency counts for the symbol as calculated from the Fenwick Tree from Part I.

Notes:

   1. Input for Part I of this lab can be found at:
             /user/leggett/ir/fenwick.input

   2. Part II is to be delivered as an interactive web-based application. The web page should be well-designed. I will test several symbols of varying lengths.

   3. When you have completed the lab, you should turn in your output in three files:
             /pub/homework/489-501/fenwick.tree.output
             /pub/homework/489-501/fenwick.part1.code.listing
             /pub/homework/489-501/fenwick.part2.code.listing

   4. After placing the three files in the homework directory, send me an email which includes your full name, userid and the complete URL for testing Part II. I will check results in all named files, review your code, test Part II, and return the lab grade sometime after receiving your email.