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
A major skill in computer programming is understanding how to work with data. The simplest way to store data is in a simple variable:
A slightly more complicated storage mechanism is the array:
Trees are simply another way of arranging and storing the data. Trees get their name because the general shape of the structure (if you draw it out) resembles a tree. All of the elements in the tree are called nodes. Just like a family tree, there is one node from which all the other nodes descend. This is the root node. Each of the descendents can also have descendents. In other words, each child of the root can be seen as the root of its own tree. It is in this way that a tree is naturally recursive. This means that at each level, we find essentially the same structure. If you pick any node in the tree and consider from it down, you still have a tree. Even if you pick a leaf, you have a tree, albeit a branchless one.
The next question is when and why you might want to use such a structure. There are situations in which the data itself can naturally be thought of as a tree. Such an example is a family genealogy, where each person is always a child of someone else and has the potential to have children. In addition, there are many situations where trees make implementing certain algorithms very simple. In the section on binary search trees we will see such an application. The fact that the data in a tree is arranged hierarchically makes it easier (quicker in terms of the number of branches between the root and any other node) to access nodes. This makes a tree a very appropriate structure for holding data that must be searched often.
Please wait while we process your payment