//*****************************************************************//
//**************Heaps (cont.) - February 10th, 2017********//
//***************************************************************//
-Another lecture, another late HB...wait, no, she's here today! :D
-SIDE NOTE: upcoming exams are fairly distracting when you're trying to pay attention in class (boo-hoo, multi)
- I need to write "Ode to Sleep Deprivation (poor realtime edition)"
-A single, dejected paper lays upon the floor beside the podium...and on top of the podium, a stack. Of similar - but not identical - paper. The color seems off, and the stack has a sticky note upon it. The paper has not fallen from the stack; no, it has not. It is alone. It will forever be alone. And when the time is come for the cleaning, it will, in its loneliness, die.
-...wow, I'm even worse off than I thought.
-Also, TESTS! We have to view them through something called "Gradescope," which is the program the TA's use to grade the exams
-So far, the median score is an 83% - not too bad!
-If you have an issue with the grade, you have 1 week from the time of receiving your test to file a regrade request
-Just a word of warning: test 2 has traditionally been the hardest (AVL trees give kids a wallop), so don't get too cozy
----------------------------------------------------
-So, with first building a heap from a set of data, we don't want to bother sorting the data before we put it into the heap; we just throw it in and "heapify" it as we go!
-Just "make" the tree, THEN start at index "size/2" (which should be the right-most node of the SECOND-TO-LAST level) and use the "heapify" function from size/2 to 0
-The cost of building the heap: O(nlog(n)) (???CHECK THIS)
-Best case is O(log(n)), if you magically make an in-order tree before sorting things
-REALITY CHECK #5-
1) Add the following the an empty BST in the left-to-right order: 100, 200, 50, 70, 75, 300, 25, 2, 20
My tree:
100
50 200
25 70 300
2 75
20
2) BRIEFLY, explain how to delete a value from a BST if the node has 1 child:
-Just sawp the node w/ it's child
3) What is the Big-O of searching in a BST?
O(log n)
4) Given the BST class, write the code for a printInOrder method; use only 5 lines of code max:
GIVEN: public class BST {
Node head;
private class Node{
private int data;
private Node left;
private Node right;
}
public void printInOrder() { //your code
printInOrder(head);
}
private String printInOrder(Node node) {
if(node == null) {return "";}
System.out.print(printInOrder(node.left) + this.data + printInOrder(node.right));
}
}