In Weeks 1-4, you were provided with the foundation for implementing data structures using pseudo code.

This week, you will finish the tasks and paper, including the incorporation of appropriate feedback that has been previously received. You will also complete some additional steps, outlined below.

Part 1 Tasks (Objectives from Weeks 1–4):

Review and revise your final paper, which should include the following content:

Section 1: Lists, Stacks, and Queues

Section 2: Hashing, Heaps and Trees

Section 3: Sorting Algorithms

Section 4: Searching

Part 2 Tasks (Objective(s) from Week 5): Finalize Your Key Assignment

In addition, include pseudo code for a routine that will prompt the user for a number. You will then calculate the factorial of that number, using recursion.

Week 5 Deliverables:

The following sections should be completed, including the collaboration of each section IP. Feedback received from the instructor and peers should be incorporated into the final paper.

Title Page

Table of Contents

Abstract

Project Outline/Project Background

Section 1: Lists, Stacks, and Queues

Section 2: Hashing, Heaps and Trees

Section 3: Sorting Algorithms

Section 4: Searching

Section 5: Recursion

Conclusion

References

New Content

Create a pseudo code routine that will ask the user for a number, and then using recursion, generate the factorial of that number.

Create fully documented pseudo code to prompt for a number and generate the factorial, including error and bound checking.

Create a test plan to show how the program runs and can be executed.

Name the document “IT265__Final.doc.”

The next structure you will investigate is the Hash table and its methods implemented in pseudo code when linked lists are used to handle collisions.

The task this week is to complete the pseudo code for the following hash table operations:

Insert

Remove

Assume Hashtable is a simple array of size 8, with indices 0..7. Numeric keys are mapped by a Hashfunction that gives the mod(8,n) value for any key “n” yielding the Hashtable index for that key (0..7). A Hashtable entry is null unless a key exists with that index as its hashed index; if so, the Hashtable entry points to the first node of a linked list of keys with that hash index. The last node on this linked list has a null reference for the next referenced node. Assume the occurrence of a linked list node is represented by the object “Node” and its “Data” and “NextRef” attributes.

Week 2 Deliverables:

1 pseudo code implementation of each Hash table operation: Insert and Remove

Fully documented pseudo code.

Add the completed pseudo code and the output to the Key Assignment template Section 2: Hashing, Heaps and Trees.

Name the document “IT265__IP2.doc.”

Sort algorithms have many trade-offs, in-fact even the sorted output sequences might differ.

Part 1: Your tasks for this assignment are the following:

Identify at least five (5) algorithm differences that might be considered when choosing a sort algorithm.

Offer examples of related sorts with the discussion of each difference considered.

Part 2: Rationalize:

You have formed a hypothesis that Big O analysis is not appropriate for comparing different sort algorithms, but rather for comparing the performance of a given sort algorithm as the number of sort keys change. (Hint: consider locality differences among sorts).

Week 3 Deliverables:

5 fully documented differences among sorting algorithms.

Support the differences with Sort algorithms that exemplify the related characteristics.

Generate a summary of Sort differences.

Include the Big O critique.

Name the document “IT265__IP3.doc.”

Key Assignment Draft: Include session changes

The first two Individual Projects used linked lists for stacks, queues, and hashing implementations. With this task, searching performance with linked lists will be addressed.

Part 1: Your tasks for this assignment are the following:

Discuss the use of a binary tree when searching for keys in an array.

Discuss the use of a binary tree when searching for keys in a linked list.

Part 2: Complete the following program:

Describe a linked list structure to support binary searching.

Create pseudo code to describe a binary search with this linked list variation.

Week 4 Deliverables:

Summary of binary search with an array.

Summary of binary search with a linked list.

1 fully documented pseudo code implementation of a linked list useful for binary searches.

Part 3: Key Assignment Draft:

Once you have completed this section, submit the pseudocode and summary of binary searches from all of the following in your Key Assignment template:

Section 1: Lists, Stacks, and Queues

Section 2: Heaps and Trees

Section 3: Sorting Algorithms

Section 4: Searching

Name the document “IT265_yourname_IP4.doc.”

Key Assignment

In Weeks 1-4, you were provided with the foundation for implementing data structures using pseudo code.

This week, you will finish the tasks and paper, including the incorporation of appropriate feedback that has been previously received. You will also complete some additional steps, outlined below.

Part 1 Tasks (Objectives from Weeks 1–4):

Review and revise your final paper, which should include the following content:

Section 1: Lists, Stacks, and Queues

Section 2: Hashing, Heaps and Trees

Section 3: Sorting Algorithms

Section 4: Searching

Part 2 Tasks (Objective(s) from Week 5): Finalize Your Key Assignment

In addition, include pseudo code for a routine that will prompt the user for a number. You will then calculate the factorial of that number, using recursion.

Week 5 Deliverables:

The following sections should be completed, including the collaboration of each section IP. Feedback received from the instructor and peers should be incorporated into the final paper.

Title Page

Table of Contents

Abstract

Project Outline/Project Background

Section 1: Lists, Stacks, and Queues

Section 2: Hashing, Heaps and Trees

Section 3: Sorting Algorithms

Section 4: Searching

Section 5: Recursion

Conclusion

References

New Content

Create a pseudo code routine that will ask the user for a number, and then using recursion, generate the factorial of that number.

Create fully documented pseudo code to prompt for a number and generate the factorial, including error and bound checking.

Create a test plan to show how the program runs and can be executed.

Name the document “IT265__Final.doc.”