Individual Project

0 comments

Your company has been researching ways to improve the efficiency the mobile devices that it produces. Your group is tasked with finding a way to reduce media retrieval time from a playlist that is in alphabetical order. Your Algorithm Group has recently been reviewing the divide-and-conquer paradigm and has decided to test a divide and conquer approach.

Assignment

Part 1

  • In C++, code a search algorithm that searches a list of strings for a particular song. The searching algorithm will have two inputs: the playlist, which is a string array that contains a list of songs in alphabetical order; and a particular song, which is a string. If the song is found in the list, the algorithm will return the index of the song, and it will return -1 otherwise.
  • This searching algorithm will employ a divide-and-conquer approach similar to that in binary search, but with a slight variation. In binary search, a list is split in 2 sublists during each step; however, for your assignment, you will build and algorithm that splits the list into 3 sublists during each step.

Part 2

  • What is the time complexity (in Big-O notation) of your algorithm with respect to the size of the playlist?
  • How does this time complexity compare to the time complexity of binary search (in terms of Big-O)?

About the Author

Follow me


{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}