Sunday, November 3, 2013

Week Eight



November 3, 2013.

Topic(s): [ Binary Search Trees and Algorithm Analysis]

This week the class took a brief look into binary search trees and introduced some mathematical forumulae on algorithm search types and their best and worst case scenarios. Having come from a background with nearly no prior computer programming experience other than basics in coding of HTML in high school, I was as good as lost when I was first introduced to algorithm analysis and the efficiency of running a program.

 Particularly in this course and CSC108, the class is using Python in learning the basis of computer functions, syntax and properties, I had no idea as to what the instructors were talking of during the first intro course. But as learning the basis of this topic on a intuitive level in another course, it helped me clear up my understanding on this topic further as the prof talked over the topic of efficiency. And as a person who is very interested in coding when it comes to her own interests such as HTML, phone OS and even gaming, I learned that this subject is a very practical to put to use in real life. That is one important thing which I have come to understand this week.

My only problem that I am facing is a lingering confusion on one part of the recursion topic which was covered several weeks ago. Over the weeks of practising through the exercises and on other files on my own time, this concept was as good as crystal clear. The only confusion I would have was a lingering thought in the exercise 5 that was given, where for the first part of the exercise we had to use recursion in order to take care of assigning instance variables properly according to what they were passed as a value.

If recursion takes care of anyalsis and forming a return value based on what the function/method/program told it to do, how would recursion, in this case, have taken care of assigning proper variable statements in this case?

For example, if the recursion was called in order to find the root of a tree, through searching the most inner-parts, then how would it take care of things such as:

self.root = Node(x)
self.root.left = Node(x, y)
self.root.left.left = ...
self.root.left.left.right = ...
self.right.left.left.left.root.left = ...

And so on. You catch my drift.
All-in-all, other than these confusions I have come to understanding quite a number of concepts as well. And as I am currently working on figuring out the second part of Assignment 2 due this Tuesday, I hope this will help me to understand more concepts, especially in binary strings and so on.

Peace out!
- [insert diagram here] traingle-angel man [/insert diagram]



No comments:

Post a Comment