Fibonacci Plans

Developing Fibonacci Methods

  • Method 1: Recursive Approach
    • Develop a recursive function to calculate the nth Fibonacci number.
    • Implement caching/memoization to optimize performance.
  • Method 2: Iterative Approach
    • Create an iterative solution that uses a loop for calculation, optimizing for time and space complexity.
  • Testing:
    • Write unit tests for both methods to ensure accuracy and efficiency.

Sort Project Plans

We use the spotify api and sort the songs it outputs alphabetically using the algorithms below Outputs array of resorted words with each algorithm as well as the stats on how long it took, and the most efficient algorithm.

Algorithms we will use:

Bubble sort, insertion sort, merge sort, selection sort Create a Base Sort Class (Parent Class): > This class will serve as the foundation for all specific sorting algorithm classes. > Key features to include:A method to count iterations, comparisons, and merges/swaps. > A method for timing the duration of each sorting algorithm. > A method to generate random elements for the data structure to be sorted. Develop Child Classes for Each Sorting Algorithm: > Create separate classes for each sorting algorithm (Bubble, Insertion, Selection, and Merge sort). > These classes should extend the base Sort class and inherit its properties and methods. > Each class should have:An init method to initialize the class. > A sort method that contains the specific algorithm for sorting. > Utilize the inherited properties/methods from the parent class for counting and timing.

image