As You Begin To Look At Data Structures Using Java- This First Assignment Will Have You Look At The Implementation Of A Queue And A Stack.

As you begin to look at data structures using Java, this first assignment will have you look at the implementation of a queue and a stack. These two algorithms will be implemented using linked lists. You will complete 2 given program shells: one for a queue and the other for a stack.

In addition, you will establish your Key Assignment template that you will build in Week 1, and each week, you will add material to the appropriate section of the document.

Your Data Structures Using Java template document should be in the following format:

  • Data Structures Using Java document shell
  • Use MS Word
  • Title Page 
    • Course number and name
    • Project name
    • Student name
    • Date 
  • Table of Contents 
    • Use auto-generated TOC
    • Separate page for each section
    • Maximum of 3 levels deep
    • Be sure to update fields of TOC so it is up-to-date before submitting your project 
  • Abstract
  • Paper Topic Background
  • Section Headings (Create each heading on a new page with TBD as the content except for the sections you are currently working on.) 
    • Section 1: Lists, Stacks, and Queues
    • Section 2: Heaps and Trees
    • Section 3: Sorting Algorithms
    • Section 4: Searching
    • Section 5: Recursion 
  • Conclusion
  • References 

Each week, you will add to this document and submit for grading. As a preview, each section will contain the following:

  • Section 1: Lists, Stacks, and Queues 
    • Implement 2 programs for the following: 
      • Stacks
      • Queues 
  • Section 2: Heaps and Trees 
    • Implement pseudo code for a hash table and resolve collisions with a linked list. 
  • Section 3: Sorting Algorithms 
    • Compare sort algorithms. 
  • Section 4: Searching 
    • Implement pseudo code to search for values in a linked list or array. 
  • Section 5: Recursion 
    • Implement pseudo code to create a factorial of a number using recursion. 

Week 1: Assignment Details

The task this week is to complete the following 2 structures using a linked list:

  • Stack
  • Queue 

Assume the occurrence of a linked list node is represented by the object “Node” and its “Data” and “NextRef” attributes.

Part 1: Assume a “Head” node exists with the NextRef attribute pointing to the first node in the stack or being null if the stack is empty. Create pseudo code for the following 3 stack methods, showing the logic tied to the inverted list. Include a summary of these actions.   

push( item )
pop( )
display( )

Part 2: Assume “Front” and “Rear” nodes exist with the “NextRef” attributes pointing to the first and last nodes of the queue or being null if the queue is empty. Create pseudo code for the following 3 queue methods, showing the logic tied to the inverted list. Include a summary of these actions.

enqueue( item )
dequeue( )
display( )

Week 1 Deliverables:

  • Pseudo code implemented for both the stack and queue methods
  • Documented pseudo code
  • Add the completed pseudo code and discussion to the Key Assignment template Section 1: Lists, Stacks, and Queues.
  • Name the document “IT265__IP1.doc.”