Coding Challenge #65.1: Binary Search Tree
This multi-part coding challenge is part of the first week of my course: "Intelligence and Learning." Here I attempt to implement a classic data structure: The Binary Search Tree. Code: https://thecodingtrain.com/challenges/65-binary-tree
p5.js Web Editor Sketches:
๐น๏ธ Binary Search Tree: https://editor.p5js.org/codingtrain/sketches/pLFI8gCU9
๐น๏ธ Visualizing a Binary Tree: https://editor.p5js.org/codingtrain/sketches/UBGpfubd1
Other Parts of this Challenge:
๐บ Visualizing a Binary Tree: https://youtu.be/KFEvF_ymuzY
๐ฅ Previous video: https://youtu.be/xXjRlEr7AGk?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
๐ฅ Next video: https://youtu.be/MLtAMg9_Svw?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
๐ฅ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
๐ Intelligence and Learning (Spring 2017): https://github.com/shiffman/NOC-S17-2-Intelligence-Learning
๐ Grokking Algorithms book: http://amzn.to/2mMCK7Z
๐ด Live Stream Archive #87.3: https://youtu.be/hVSHlFjTeqg?t=9310s
Related Coding Challenges:
๐ #68 Breadth-First Search: https://youtu.be/piBq7VD0ZSo
๐ #98 Quadtree: https://youtu.be/OJxEcs0w_kE
Timestamps:
0:00 Introducing today's topic: Binary Trees
1:18 Why would you use a binary tree?
3:36 What is a data structure?
4:47 Nodes with children
8:27 Algorithm for how the tree is sorted
11:36 Node object
12:17 Tree object
12:39 Use prototype to add an addNode function
18:58 Use recursion to add nodes
20:42 Deal with the case when two values are equal
22:50 How do you traverse the tree?
25:00 What does it mean to visit a node?
27:39 Add random values
28:58 Add a function to search the tree
37:57 Conclusion and suggested variations
Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound
๐ Website: http://thecodingtrain.com/
๐พ Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide
๐ฉ Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
๐ก GitHub: https://github.com/CodingTrain
๐ฌ Discord: https://thecodingtrain.com/discord
๐ Membership: http://youtube.com/thecodingtrain/join
๐ Store: https://standard.tv/codingtrain
๐๏ธ Twitter: https://twitter.com/thecodingtrain
๐ธ Instagram: https://www.instagram.com/the.coding.train/
๐ฅ Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
๐ฅ Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
๐ p5.js: https://p5js.org
๐ p5.js Web Editor: https://editor.p5js.org/
๐ Processing: https://processing.org
๐ Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecodingtrain.com/issues/new
#binarysearchtree #datastructure #intelligenceandlearning #javascript #p5js