CSCI 385 Spring 2023
Advanced Data Structures and Algorithms
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework

Policies
College
    Policies
Advice

Notes
Programs
Tutorials

CSCI 125
CSCI 255
MATH 131 (01 and 02)
Others

Admin

Homework 12

Details

You may work in pairs on this assignment.

The following are from Grossman Homework. They will be equally weighted (10 points each).

  1. Write a program for Problem 1 but with some modifications-- Keep reading!.

    Have a parameter (to the constructor) that allows you to set the threshold for the sequential cutoff (where a value of 1 essentially means there is no cutoff) and run tests with various thresholds and array sizes. The constructor should be:

    public LongestSequence(int [] array, int lo, int hi, int val, int thresh)
    

    The code on page 27 of the Grossman notes is a good starting point.

    Have your main program run tests on arrays of various sizes. Run it on some "known" small arrays so you can test the correctness of the algorithm, and then it should run it on larger arrays. Make sure you output the array size, cutoff, and time taken for each test. If you can figure out how, run it on Loki so you can test it with 24 cores.

    Submit your results as a textfile or on paper.

    For a lot of helpful tips on implementing your algorithm using ForkJoin, see Beginner's Introduction to Java's ForkJoin Framework and/or examples from the book.

    Hand in your code using Webhandin 385-HW12

  2. Do Problem 3. Use Excel or a similar program to create the tabels of values and charts. Submit your Excel file using webhandin. If you use another program make sure you submit a printed copy of your tables and charts.
  3. Do Problem 4. Hand this one in on paper.