Suggestions
Use up and down arrows to review and enter to select.Please wait while we process your payment
If you don't see it, please check your spam folder. Sometimes it can end up there.
If you don't see it, please check your spam folder. Sometimes it can end up there.
Please wait while we process your payment
By signing up you agree to our terms and privacy policy.
Don’t have an account? Subscribe now
Create Your Account
Sign up for your FREE 7-day trial
Already have an account? Log in
Your Email
Choose Your Plan
Individual
Group Discount
Save over 50% with a SparkNotes PLUS Annual Plan!
Purchasing SparkNotes PLUS for a group?
Get Annual Plans at a discount when you buy 2 or more!
Price
$24.99 $18.74 /subscription + tax
Subtotal $37.48 + tax
Save 25% on 2-49 accounts
Save 30% on 50-99 accounts
Want 100 or more? Contact us for a customized plan.
Your Plan
Payment Details
Payment Summary
SparkNotes Plus
You'll be billed after your free trial ends.
7-Day Free Trial
Not Applicable
Renews December 6, 2023 November 29, 2023
Discounts (applied to next billing)
DUE NOW
US $0.00
SNPLUSROCKS20 | 20% Discount
This is not a valid promo code.
Discount Code (one code per order)
SparkNotes PLUS Annual Plan - Group Discount
Qty: 00
SparkNotes Plus subscription is $4.99/month or $24.99/year as selected above. The free trial period is the first 7 days of your subscription. TO CANCEL YOUR SUBSCRIPTION AND AVOID BEING CHARGED, YOU MUST CANCEL BEFORE THE END OF THE FREE TRIAL PERIOD. You may cancel your subscription on your Subscription and Billing page or contact Customer Support at custserv@bn.com. Your subscription will continue automatically once the free trial period is over. Free trial is available to new customers only.
Choose Your Plan
For the next 7 days, you'll have access to awesome PLUS stuff like AP English test prep, No Fear Shakespeare translations and audio, a note-taking tool, personalized dashboard, & much more!
You’ve successfully purchased a group discount. Your group members can use the joining link below to redeem their group membership. You'll also receive an email with the link.
Members will be prompted to log in or create an account to redeem their group membership.
Thanks for creating a SparkNotes account! Continue to start your free trial.
Please wait while we process your payment
Your PLUS subscription has expired
Please wait while we process your payment
Please wait while we process your payment
Problem : In binary search, we split the data set in half at each recursive call. One could imagine an algorithm that split the data set up into three or four sets at each recursive call. Provide an argument why, in Big-O notation, binary search is as efficient as ternary search or quaternary search.
Ternary search would result in O(log3n) and quaternary search would result in O(log4n). (logxa)/(logya) = = x/y. Therefore the efficiency of ternary search and quaternary search are only a constant multiple of binary search, and thus in Big-O notation, they would all be O(logn).Problem : Why is linear search better implemented iteratively rather than recursively?
Linear search is just as easily implemented iteratively as it is recursively. The recursive version is also less efficient in terms of system resources, taking up a good deal of space on the call stack since the function is called once for every data element searched.Problem : You have an array of ints sorted in ascending order. Write a function that recursively does a ternary search (splits the data into three sets instead of two) on the array.
Problem : Your boss tells you to write a function to search for a number in an unbounded array (the array starts at index 0 but goes on forever). He tells you to use the standard binary search algorithm. Explain to him why you can't.
Binary search requires an upper bound. If there is no upper bound, ie. the set continues on forever, than there is no way to determine what half of the set is (half of infinity is still infinity).Problem : In a last attempt to show how smart he is, your boss tells you to implement linear search recursively as that is much more efficient than an iterative implementation. Explain to him why he is incorrect.
A recursive solution would require a relatively expensive function call for each data element examined, while the iterative version requires only one function call, which means a constant amount of stack space.Please wait while we process your payment