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 11, 2023 December 4, 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 : Write a function that does a post-order traversal of a tree and returns the sum of the data in all the nodes it visits.
Problem : Write a function to find the minimum height of the tree, meaning the path from the root to a NULL child that passes through the fewest nodes.
Problem : Write a function that finds the largest value in a tree containing an unsigned integer as the data.
Problem :
Imagine that you were to draw a tree on a piece of paper, cut it out,
and then connect it together with wire and string like it was a mobile.
In more technical terms, the tree's right and left child would be
allowed to swap places, taking with them their children. Write a
function to compare two mobile trees to determine their equality.
The following are examples of mobile and non-mobile trees.
Problem : CHALLENGE: This question's difficulty represents the power of recursion. How would you write a function to do a pre-order traversal of a tree? Recursively, right? Now, can you think of a way to write a function that would do an iterative traversal of a tree? The catch: you can only use a constant amount of memory (this means you can't have a dynamic array of pointers or a linked list or anything like that), and when the function ends, the tree must be intact (in other words, if you modify the tree, you need to put it back to the way it was). Don't worry if you can't get this one right off the bat. Also, don't attempt to write the code for this function; you'll most likely use a good amount of ink.
The problem you most likely faced when thinking about this is how to get back up a path in the tree once you've gone down it; after all, with a constant amount of memory and without recursion you are unable to keep a stack of all the parents in order to traverse backwards. How do you overcome this? We modify the tree on the way down, and put it back the way it was on the way up. We use three pointers: a previous pointer, a current pointer, and a next pointer. On the way down, we set the current pointer's next field (which is the same as the next pointer) to be the value of the previous pointer. On our way down, this creates a linked list of nodes that goes back up the tree. On the way up, we change the tree back to the way it was. Draw this out and play with it to convince yourself that it works. The same principle can be used to traverse a singly-linked list in both directions.Please wait while we process your payment