[MUSIC] This week we're going to talk about trees. No, not the kind that grow in the ground, but rather trees from a computer science perspective. They kind of look like this. >> Wow Scott, you really spent a lot of money on that didn't you there. [LAUGH] >> I broke the bank. [LAUGH] Okay. Trees get used all over the place in computer science, they have numerous applications. Roy, you want to give us some information on one? Sure, I my research area is in computation of biology and we look at threes in biology because over 150 years ago Charles Darwin sketched a tree in his, book Origin of Species. What he depicted how species evolve and diversify and diverge from each other. And ever since, trees have been a main model in biology that depict how genes proteins and, and, and species evolve and diversify. >> Let's go back to our expensive picture here. Dwight can you help me hold that up? Joe, you want to explain why trees are interesting? >> Yeah, so we, we just talked about recursion. So trees are really a very nice example of a recursive data structure. So say here we have a tree, it has a root. It has two children who themselves are sub trees. And we can just simply apply that definition over and over. Here we have this tree. It has a root. It has two subtrees, this has two sub, has a subtree and so forth. In fact, the only thing that really bothers me about this diagram is somehow that, while the root's up here and, what's going on back here Roy? What's the problem? The root is at the bottom, actually. >> We need to get grounds keeping to fix this immediately. [LAUGH]. >> Yeah, we've had some problems with our trees here on campus. Okay, so trees are interesting for a variety of reasons. And so this week we're going to investigate trees and recursion. We've already told you that recursion is a powerful technique in computer science. When we combine that with recursive data structures it becomes even more interesting, because recursion is a natural way of processing these data structures. And we're not going to talk about, genetic trees here this week, rather, we're going to game trees. So we're going to think about, how do you play a game? And how do you represent it as a tree, where you start with the current state of the game and there are many possible moves you can make. And that moves the game say to a different, level of the tree. And then once you're here you can make more moves, and move down, and so on. And then you search the tree to find the best set of moves that you can make. This week we're going to use these trees to apply them to games, but there are a lot of other applications that we can use. And hopefully you'll get an insight as to why trees are interesting