Skip to main content

Week 10: The best BST experience

Hello my dear readers!

Last week in lecture, we talked about binary search trees (BST) and it was... really cool! 

http://www.jade-cheng.com/uh/ta/ics-211-spring-2010/faq/bst.png

A binary search tree, when populated with numbers, or anything that can be ordered really, is extremely easy to traverse and find what you need. That's because all the nodes are organized when put into the tree. In the tree displayed above, 20 is the root of this BST. This root has 2 children, 10 and 30. Note that 10 is on the left of 20 and 30 is to the right of 20. This is really important because that is how the tree is organized. If you keep looking at the children of 10 and 30, you'll notice that all nodes left of 10 and 30 are less than the respective nodes and anything to the right would be greater. This makes traversal amazingly quick and efficient. 

The lab for that week was on BST insertion and deletion which was quite straight forward since we have learned about trees before, so adding the extra feature of left and right nodes (since BInary trees will only have a maximum of 2 children) was not too hard at all.

That is all for this week, friends!
Lana :)

Comments

Popular posts from this blog

Week 12: Halting Problem Visualized

Hello readers! I'm sure you're all hard at work trying to finish assignment 3. I just wanted to take a few minutes to share with you a video I found on the halting problem. It may be a tad overdramatic (especially with the music) and corny, but it does explain the problem quite well. Here's part 1 (which can be skipped if you want): And part 2, which is where the real explanation of the halting function starts (skip to 2:33 if you don't like corny dialogue): Hopefully this helps with your endeavors (or at least is a bit entertaining)! Good luck with the assignment! Lana :)

Week 5: Tracing Recursion

Hello readers! How have you guys been recently? I have been bombarded with a myriad of tests, labs, and assignments, as usual, but I'll holding up alright! Today's blurb is on tracing recursion! As you all know, a recursive function is basically any function that is called within itself. You'll need it any time a bigger problem can be solved by solving smaller versions of a same type of problem until you get your answer to the big one. Kind of. At least that's how I see it. Anyhow, tracing recursion is not as bad as it sounds, it takes some bit of practice, of course, but all in all it will eventually click. Tracing recursion was on the test this week went successfully I should think. The quasi-solution I came out with with involved the function we needed to trace giving the maximum length of any lists that were fed into it, including the length of the overall list. If I am correct, then my tracing would have been successful. We shall see in due time! Bu...

Week 10: How to solve a problem

Hello my good friends! This week is the coveted fall reading break, and I hope you all are doing something useful with your time, like me, who is currently writing my SLOG. Now that the course is nearing its end, I would like to take it back to the beginning and try to solve one of those logic puzzles, using the Polya method we learned in class. I am, afterall, an amateur logician now, am I not? So here is the puzzle I have found from the problem solving wiki page. So without further ado, I present to you: Walk Tilings Suppose you have tiles that are 1x2 rectangles, and you have to tile a walk that is 2x3 units long. You've got three choices: 3 vertical tiles, 1 vertical tile followed by two horizontal tiles, or two horizontal tiles followed by one vertical tiles. How many choices do you have in tiling a 2x4 walk? How about a 2xn walk, where n is some natural number? Do you have a procedure that works for any n? Understanding the Problem Ultimately ...