CSCI 311 Material – Spring 2012

Algorithms and Data Structures

Prerequisite: Grade of C- or better in CSCI 211 or equivalent

Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: http://www.ecst.csuchico.edu/~melody/courses/Fall2007CSCI311/bd14718_.gif

Your TA for this class is  -

Bonnie Varghese with email address bvarghese1@mail.csuchico.edu.  Bonnie is the TA for all lab sections.  Here are the times and locations for the lab sections.  You may attend either or both labs -

·         Section 2 -   Tuesday 5-6:50 pm in OCNL 251

·         Section 3 -   Thursday 5-6:50 pm in OCNL 251

Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: http://www.ecst.csuchico.edu/~melody/courses/Fall2007CSCI311/bd14718_.gif

Homework assignments for Spring 2012

1.   Hashing Homework – Due Tuesday, January 31, 2012 at beginning of class:

Hash the following values to a table indexed from 0 through 16 using the hash function: H(x)= x%17.  Draw two different hash results to the table:

a) draw the resultant table when you use linear probing to resolve collisions

b) draw the resultant table when you use quadratic probing to resolve collisions

Values to hash: 5, 22, 39, 56, 73, 6, 23, 40, 7, 24

2.   Dynamic Hashing Homework: Read about this homework at the end of the Dynamic Hashing Program description.  For your convenience, you may take this link to access a grid to fill in to complete your homework: Link to Grid

3.   More Dynamic Hashing Homework: Due Tuesday, Feb. 14 at the beginning of class.  – Take the following link and scroll to problem 17.32 and then the diagram labeled #8.  This is an extendible hash structure.  Draw the equivalent Dynamic Hash tree structure.  Paper and pencil is fine.

http://www.ecst.csuchico.edu/~melody/courses/Fall2007CSCI311/Some_hashing_solutions.pdf

4.   Due Tuesday, February 21, 2012: Binary Tree Traversals and Insertion into a Binary Search Tree that is NOT an AVL tree:

a.   Write out the list of nodes as would be printed if you were to do a POSTORDER traversal of the tree in slide 11 of the tree slides:

http://www.ecst.csuchico.edu/~melody/courses/Spring2003CSCI151/Powerpoints_of_Lessons/TREES.htm

b.   Write out the list of nodes as would be printed if you were to do a INORDER traversal of the tree in slide 12 of the tree slides:

http://www.ecst.csuchico.edu/~melody/courses/Spring2003CSCI151/Powerpoints_of_Lessons/TREES.htm

c.    Draw the Binary Search Tree (not AVL tree) that would be created if you were to insert the following values, in the order given, left to right, in a Binary Search Tree without any rebalancing.

500, 550, 600, 700, 800, 840, 850, 860, 870, 900

5.   Due Tuesday, February 28, 2012: Building AVL Trees and Deleting from AVL Trees –

a.   Insert the following values into an initially empty AVL Tree: 500, 550, 600, 700, 800, 840, 850, 860, 870, 900, 660, 690, 670, 680

b.   Delete the following values (in the order given, left to right) from the Tree you built in part a of this assignment: 500, 550, 600, 700, 800, 840, 850, 860, 870

6.   Due Tuesday, April 24, 2012: Building and Deleting from B-trees:

a.   Insert the following values into an initially empty B-tree of order 3: 300, 400, 500, 200, 100, 50, 30, 10, 80, 90, 110, 120, 130, 140, 900, 800, 700, 600.  DO NOT ATTEMPT TO DELAY SPLITS ON INSERTS.

b.   Delete the values from the B-tree you built above in the exact same order that you inserted them.  That is, first delete 300, then 400, etc. until your tree is empty.

7.   Due Thursday, April 26, 2012: Building and Deleting from B+trees:

a.   Insert the following values into an initially empty B+tree of order 3: 300, 400, 500, 200, 100, 50, 30, 10, 80, 90, 110, 120, 130, 140

b.   Delete the values from the B+tree you built above in the exact same order that you inserted them.  That is, first delete 300, then 400, etc. until your tree is empty.  Here is the link to the solutions to the B+tree deletes (note: in this I did not insert 90, 110, 120 or 130 into the tree)

 

Old Homework from previous semesters (Take these links for review materials or to assist with current homework)

Homework on AVL Trees –  Just the inserts were assigned!

Solutions to the Homework on AVL Trees – again just the inserts!

 Old B Tree HW from a previous semester to assist you in studying

Homework for B-trees

Final Solution B-trees for the above Homework (for the Inserts only)

Homework on B Plus Trees – Inserts due Thursday, 9/29/2011,

Solutions to the Insert Homework for B+ Trees

Solutions to the Deletion Homework for B+ Trees

Heaps and Heapsort Homework

Materials to help you in studying for the Final Exam!

·        SOLUTIONS TO MANY SAMPLE PROBLEMS FROM PREVIOUS FINALS (Just to get some solutions up quickly)!!

·        Summary Algorithm for Patricia Tree Inserts!

·        Sample Final Exam – will provide solutions shortly!

·        SOLUTIONS TO THE SAMPLE MIDTERM PROBLEMS, PLUS AN EXAMPLE OF A CODING PROBLEM AND A SOLUTION!!

·        Some hashing problems to help you in studying for the final

·        Some Materials on Heaps, Heapsort and Dijkstra and Prim to Help in Studying for the Final:

·        Old Sample Midterm

·        Old Sample Final

 


Return to Melody's Home Page.