CPSC 670/IR/Fall 2003/Leggett/Programming Lab 2/Due October 8

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. You should design a web page for the lab that contains links to: 1) the output from part I, 2) your source code for part I, 3) the web page for part II, and 4) your source code for part II.

   4. When you have completed the lab, send an email which includes your full name, userid, and complete URL for the web page mentioned in #3 above. The lab grade will be emailed sometime after receiving your email.