Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I'd like to address only the question "So what makes binary trees useful in some of the common tasks you find yourself doing while programming?"</p> <p>This is a big topic that many people disagree on. Some say that the algorithms taught in a CS degree such as binary search trees and directed graphs are not used in day-to-day programming and are therefore irrelevant. Others disagree, saying that these algorithms and data structures are the foundation for all of our programming and it is essential to understand them, even if you never have to write one for yourself. This filters into conversations about good interviewing and hiring practices. For example, <a href="http://steve-yegge.blogspot.com/" rel="noreferrer">Steve Yegge</a> has an article on <a href="http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html" rel="noreferrer">interviewing at Google</a> that addresses this question. Remember this debate; experienced people disagree.</p> <p>In typical business programming you may not need to create binary trees or even trees very often at all. However, you will use many classes which internally operate using trees. Many of the core organization classes in every language use trees and hashes to store and access data.</p> <p>If you are involved in more high-performance endeavors or situations that are somewhat outside the norm of business programming, you will find trees to be an immediate friend. As another poster said, trees are core data structures for databases and indexes of all kinds. They are useful in data mining and visualization, advanced graphics (2d and 3d), and a host of other computational problems.</p> <p>I have used binary trees in the form of <a href="http://en.wikipedia.org/wiki/Binary_space_partitioning" rel="noreferrer">BSP (binary space partitioning) trees</a> in 3d graphics. I am currently looking at trees again to sort large amounts of geocoded data and other data for information visualization in Flash/Flex applications. Whenever you are pushing the boundary of the hardware or you want to run on lower hardware specifications, understanding and selecting the best algorithm can make the difference between failure and success.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload