<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>data structures and algorithms Archives - NeuralLantern.com</title>
	<atom:link href="https://www.NeuralLantern.com/tag/data-structures-and-algorithms/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.NeuralLantern.com/tag/data-structures-and-algorithms/</link>
	<description></description>
	<lastBuildDate>Sat, 02 May 2026 23:55:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.NeuralLantern.com/wp-content/uploads/2025/04/cropped-2025-04-04-Lantern-03-32x32.png</url>
	<title>data structures and algorithms Archives - NeuralLantern.com</title>
	<link>https://www.NeuralLantern.com/tag/data-structures-and-algorithms/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Search in a Binary Search Tree (BST) &#8211; Step by Step Explanation with Examples</title>
		<link>https://www.NeuralLantern.com/how-to-search-in-a-binary-search-tree-bst-step-by-step-explanation-with-examples/</link>
					<comments>https://www.NeuralLantern.com/how-to-search-in-a-binary-search-tree-bst-step-by-step-explanation-with-examples/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Sat, 02 May 2026 23:54:59 +0000</pubDate>
				<category><![CDATA[Binary Search Trees]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[binary search tree]]></category>
		<category><![CDATA[binary search tree tutorial]]></category>
		<category><![CDATA[binary tree search]]></category>
		<category><![CDATA[BST explained]]></category>
		<category><![CDATA[BST search]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[data structures and algorithms]]></category>
		<category><![CDATA[log n time]]></category>
		<category><![CDATA[programming tutorial]]></category>
		<category><![CDATA[search in BST]]></category>
		<category><![CDATA[tree traversal]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=336</guid>

					<description><![CDATA[<p>Learn how to search in a Binary Search Tree. We demonstrate searching for existing and non-existing values, explain why BST search is O(log n) on average, and show how poor data ordering can turn your tree into a slow linear structure similar to a linked list. Includes discussion of tree height and balanced vs unbalanced BSTs.</p>
<p>The post <a href="https://www.NeuralLantern.com/how-to-search-in-a-binary-search-tree-bst-step-by-step-explanation-with-examples/">How to Search in a Binary Search Tree (BST) &#8211; Step by Step Explanation with Examples</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="How to Search in a Binary Search Tree (BST) - Step by Step Explanation with Examples" width="1380" height="776" src="https://www.youtube.com/embed/FCz9IbLywI4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">In this video we walk through how to perform searches in a Binary Search Tree. Starting with a perfectly balanced BST, we cover the search process step by step, including finding existing nodes like 73 and determining that numbers like 44 do not exist in the tree.</p>



<p class="wp-block-paragraph">We discuss time complexity for searches in BSTs &#8211; O(log n) on average for balanced trees and O(n) in the worst case when the tree becomes skewed like a linked list due to sorted or bad data. Learn why each comparison eliminates half the remaining data and how height affects performance.</p>



<p class="wp-block-paragraph">Perfect for students learning data structures and algorithms. If you&#8217;re studying BSTs, this clear explanation will help you understand searching, insertion paths, and why self-balancing trees matter.</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">00:00 Introduction to BST Search<br>00:31 BST Not Self-Balancing<br>00:40 Average Case Log Time<br>00:53 Linear Time in Worst Case<br>01:13 How BST Search Works<br>01:18 Search Path Example<br>02:08 Searching for Existing Node<br>02:35 Searching for Non-Existent Node<br>03:19 Tree Size and Height<br>03:30 Time Complexity O(h)<br>05:40 Bad Data Example<br>08:23 Skewed Tree Like Linked List<br>09:53 Linear Time in Worst Case<br>11:58 Why Log Time<br>12:36 Halving the Search Space<br>14:14 O(log n) Summary<br>14:28 Conclusion</p>



<p class="wp-block-paragraph">=-=-=-=-=-=-=-=-=</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>



<li>Twitter / X: https://x.com/NeuralLantern</li>



<li>Rumble: https://rumble.com/c/c-3696939</li>



<li>BitChute: https://www.bitchute.com/channel/pg1Pvv5dN4Gt</li>



<li>Daily Motion: https://www.dailymotion.com/neurallantern</li>



<li>Minds: https://www.minds.com/neurallantern/</li>



<li>Odysee: https://odysee.com/@NeuralLantern:5</li>
</ul>



<p class="wp-block-paragraph">Please show your support!</p>



<ul class="wp-block-list">
<li>Buy me a coffee: https://ko-fi.com/neurallantern</li>



<li>Subscribe + Sharing on Social Media</li>



<li>Leave a comment or suggestion</li>



<li>Subscribe to the Blog: https://www.NeuralLantern.com</li>



<li>Watch the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">hey there let&#8217;s perform searches in a binary search tree</p>



<p class="wp-block-paragraph">okay if you watch my previous videos you know how to define a binary search tree by now</p>



<p class="wp-block-paragraph">you know some terminology you know how to construct a tree and so now let&#8217;s just take</p>



<p class="wp-block-paragraph">a tree that&#8217;s already been constructed and let&#8217;s search through it first thing i want to say is</p>



<p class="wp-block-paragraph">first thing I want to say is this is a binary search tree this is not a self</p>



<p class="wp-block-paragraph">balancing tree so in the future this tree could get lopsided and messed up</p>



<p class="wp-block-paragraph">depending on what kind of data we add we can always expect that binary search</p>



<p class="wp-block-paragraph">trees have a search time or an insert time or removal time of log log base 2</p>



<p class="wp-block-paragraph">of n on average assuming that the data is random or in the worst possible case</p>



<p class="wp-block-paragraph">scenario linear time so these could get slower right now you can see this tree</p>



<p class="wp-block-paragraph">Right now you can see this tree is perfectly balanced.</p>



<p class="wp-block-paragraph">So if we say that our tree is currently perfectly balanced and it&#8217;s always going to be perfectly balanced,</p>



<p class="wp-block-paragraph">which is a fantasy, but let&#8217;s just say that it is,</p>



<p class="wp-block-paragraph">then we could just say it&#8217;s a log tree.</p>



<p class="wp-block-paragraph">It&#8217;s going to take log time to search through.</p>



<p class="wp-block-paragraph">So how do we perform searches?</p>



<p class="wp-block-paragraph">Again, if you saw my previous videos, you should know that it&#8217;s really easy to find out where a node belongs.</p>



<p class="wp-block-paragraph">Like for example, if I was going to add the number 14,</p>



<p class="wp-block-paragraph">I would first look at the root node and I&#8217;d say, okay, the root node is occupied.</p>



<p class="wp-block-paragraph">and I&#8217;d say, okay, the root node is occupied.</p>



<p class="wp-block-paragraph">And so where would 14 belong?</p>



<p class="wp-block-paragraph">Well, it would belong on the left of 37</p>



<p class="wp-block-paragraph">because it&#8217;s less than 37.</p>



<p class="wp-block-paragraph">It would belong on the left of 16</p>



<p class="wp-block-paragraph">because it&#8217;s less than 16.</p>



<p class="wp-block-paragraph">It would belong on the right of 9</p>



<p class="wp-block-paragraph">because it&#8217;s greater than 9.</p>



<p class="wp-block-paragraph">It would belong on the right of 11</p>



<p class="wp-block-paragraph">because it&#8217;s greater than 11.</p>



<p class="wp-block-paragraph">And so the 14 node that we just wanted to add,</p>



<p class="wp-block-paragraph">is that what I just said, 14?</p>



<p class="wp-block-paragraph">Would end up going there.</p>



<p class="wp-block-paragraph">So when you&#8217;re searching through a binary search tree,</p>



<p class="wp-block-paragraph">you really just have to go find</p>



<p class="wp-block-paragraph">have to go find where the node would belong as if you&#8217;re performing insert or you could think of it</p>



<p class="wp-block-paragraph">the other way around like insert is really thinking of a search first but basically we&#8217;re just going</p>



<p class="wp-block-paragraph">to start by saying you know pick a number and we&#8217;ll see if it exists so uh let&#8217;s pick the number</p>



<p class="wp-block-paragraph">67 or actually let&#8217;s pick the number 73 just to see if it exists in the tree so 73 i&#8217;m going to</p>



<p class="wp-block-paragraph">do like you know seven three with like a question mark we check the root node 73 belongs on the</p>



<p class="wp-block-paragraph">side we look at the 59 it belongs on the right side and we found our 73 so 73 exists in the tree</p>



<p class="wp-block-paragraph">and it only took us three examinations only three examinations let&#8217;s look for a number that doesn&#8217;t</p>



<p class="wp-block-paragraph">actually exist in the tree so maybe oh my thing is freezing what&#8217;s going on okay so maybe uh let&#8217;s</p>



<p class="wp-block-paragraph">The 37 here, 44 belongs on the right of 37.</p>



<p class="wp-block-paragraph">We look at the 59, it belongs on the left.</p>



<p class="wp-block-paragraph">We look at the 48, it belongs on the left.</p>



<p class="wp-block-paragraph">We look at the 43, it belongs on the right.</p>



<p class="wp-block-paragraph">The 44 would have been there, but it&#8217;s not because that right child pointer off the 43</p>



<p class="wp-block-paragraph">is null.</p>



<p class="wp-block-paragraph">So we only had to really examine one, two, three, four nodes in order to determine that</p>



<p class="wp-block-paragraph">our number 44 didn&#8217;t exist in the tree.</p>



<p class="wp-block-paragraph">Notice how we&#8217;re not doing a lot of examinations compared to the total size of the tree.</p>



<p class="wp-block-paragraph">compared to the total size of the tree.</p>



<p class="wp-block-paragraph">So let me just write this up here.</p>



<p class="wp-block-paragraph">How many nodes do we have?</p>



<p class="wp-block-paragraph">1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.</p>



<p class="wp-block-paragraph">We got 15 nodes up here.</p>



<p class="wp-block-paragraph">Someone say N is equal to 15.</p>



<p class="wp-block-paragraph">And what&#8217;s the height of the tree?</p>



<p class="wp-block-paragraph">Remember, the height of the tree is the number of nodes you must touch</p>



<p class="wp-block-paragraph">as you make your way down towards the deepest node.</p>



<p class="wp-block-paragraph">Or if you&#8217;ve already found the deepest node,</p>



<p class="wp-block-paragraph">you take its depth and you just add 1, assuming that depths start at 0.</p>



<p class="wp-block-paragraph">start at zero. So I&#8217;ll just say that the depth of the root node is zero and the 59 and the 16 are</p>



<p class="wp-block-paragraph">one. And then that third row is two. And that last row is three. And then I just add one to the</p>



<p class="wp-block-paragraph">deepest node that I can find, which is just going to have a depth of three. All of these on the</p>



<p class="wp-block-paragraph">bottom row have a depth of three. So the height of this tree is actually four, because we would</p>



<p class="wp-block-paragraph">so like 37 59 48 43 that&#8217;s four touches um or the or the depth of the deepest node plus one okay um</p>



<p class="wp-block-paragraph">all trees all binary search trees whether they&#8217;re actually avl trees or regular binary search trees</p>



<p class="wp-block-paragraph">or whether they&#8217;re balanced or imbalanced they&#8217;re always going to have a time complexity to search</p>



<p class="wp-block-paragraph">through of o of h meaning in the worst case scenario you&#8217;ll have to touch h number of nodes</p>



<p class="wp-block-paragraph">order to find a node by search query or to add a new node or even to delete a new node.</p>



<p class="wp-block-paragraph">So how does that compare to this tree in reality?</p>



<p class="wp-block-paragraph">Let me just open up a little calculator real fast.</p>



<p class="wp-block-paragraph">I just want to show you.</p>



<p class="wp-block-paragraph">So if we do log base two, because we have a binary search tree, not a trinary search</p>



<p class="wp-block-paragraph">nodes 15 it tells us that it should take us no more than four examinations to find the node that</p>



<p class="wp-block-paragraph">we&#8217;re looking for if the tree was perfectly balanced and if you if you if you notice that&#8217;s</p>



<p class="wp-block-paragraph">exactly what the height is telling us here if the tree was more imbalanced the height would get</p>



<p class="wp-block-paragraph">really bad compared to the number of nodes and it would no longer be considered a log tree it would</p>



<p class="wp-block-paragraph">just be you know somewhere in between linear time and log time um let&#8217;s see what else can i show you</p>



<p class="wp-block-paragraph">let&#8217;s do well we did that computation let&#8217;s do a search through the tree that</p>



<p class="wp-block-paragraph">through a tree that&#8217;s actually really really bad let&#8217;s pretend that we have a</p>



<p class="wp-block-paragraph">bunch of nodes here and you know I&#8217;ve got an old story that I love to tell</p>



<p class="wp-block-paragraph">about this when like when my grandma was alive she was kind of bitter towards the</p>



<p class="wp-block-paragraph">end you know I loved her but she used to call the cops on her neighbors for</p>



<p class="wp-block-paragraph">gossip and at some point in time she got into a feud with her neighbor who was</p>



<p class="wp-block-paragraph">with her neighbor who was also a bitter old lady.</p>



<p class="wp-block-paragraph">You know, towards the end, it kind of happens sometimes.</p>



<p class="wp-block-paragraph">It sucks, but it happened.</p>



<p class="wp-block-paragraph">And I guess the neighbor didn&#8217;t like my grandma&#8217;s tree</p>



<p class="wp-block-paragraph">that she had in her backyard.</p>



<p class="wp-block-paragraph">So they fought over it, they argued over it,</p>



<p class="wp-block-paragraph">and then one day my grandma said</p>



<p class="wp-block-paragraph">she was looking out the backyard window</p>



<p class="wp-block-paragraph">to yell at ducks who were jumping into her pool</p>



<p class="wp-block-paragraph">because she just hated when the ducks went into her pool.</p>



<p class="wp-block-paragraph">She was waiting for them to show up.</p>



<p class="wp-block-paragraph">She wasn&#8217;t even looking at ducks.</p>



<p class="wp-block-paragraph">even looking at ducks she was just waiting and she saw the other little old lady reach her arm over</p>



<p class="wp-block-paragraph">the fence and spray my grandma&#8217;s tree with some sort of poison then my grandma&#8217;s tree died and uh</p>



<p class="wp-block-paragraph">i guess you know my grandma never never got over it i always thought it was like a funny story it</p>



<p class="wp-block-paragraph">was a little sad but um she poisoned my grandma&#8217;s tree so we can kind of do the same thing with the</p>



<p class="wp-block-paragraph">binary search tree we can give bad data let me show you what happens here if i use this data set</p>



<p class="wp-block-paragraph">search tree. So we&#8217;re going to add this node right here. It&#8217;s going to be the 14.</p>



<p class="wp-block-paragraph">And then when we add the 19 node, I&#8217;m just going to duplicate it. The 19 is supposed to be on the</p>



<p class="wp-block-paragraph">right side of 14 because it&#8217;s greater than 14. So I&#8217;m just going to like, you know, draw a 19 right</p>



<p class="wp-block-paragraph">here and a little connecting line. Okay. Then when we add the 24, I&#8217;m going to duplicate this node</p>



<p class="wp-block-paragraph">the 24 go belongs on the right side of the 14 and also belongs on the right side of the 19</p>



<p class="wp-block-paragraph">because it&#8217;s greater than 19 so again we have a node that shows up on the right side let me</p>



<p class="wp-block-paragraph">remember to actually fix the 19 so it looks like 24. then when we add the uh 29 it&#8217;s gonna end up</p>



<p class="wp-block-paragraph">being the same thing right the 29 is gonna end up showing on the right the right the right it&#8217;s</p>



<p class="wp-block-paragraph">If we have bad data, we can end up with a tree that kind of looks like a straight line.</p>



<p class="wp-block-paragraph">And if you are watching this video from the future,</p>



<p class="wp-block-paragraph">after I&#8217;ve posted all of my data structures videos that I have,</p>



<p class="wp-block-paragraph">you might notice that this looks like another data structure.</p>



<p class="wp-block-paragraph">If you&#8217;re watching this right away, I haven&#8217;t posted those videos just yet.</p>



<p class="wp-block-paragraph">But just tilt your head to the right a little bit</p>



<p class="wp-block-paragraph">and tell me if that looks like something that you recognize.</p>



<p class="wp-block-paragraph">It looks like a linked list.</p>



<p class="wp-block-paragraph">looks like a linked list just like a straight line or even i guess you could kind of say maybe an array</p>



<p class="wp-block-paragraph">um just like a straight line of data there&#8217;s no uh you know there&#8217;s no splitting of the data</p>



<p class="wp-block-paragraph">so we have the 29 and then the 35 and then uh maybe i&#8217;ll just do one more node only and i&#8217;ll</p>



<p class="wp-block-paragraph">get rid of that 54 because that&#8217;s too many nodes so what happens is if you have you know bad data</p>



<p class="wp-block-paragraph">tree doesn&#8217;t actually search or add insert or remove or anything like that in log time anymore</p>



<p class="wp-block-paragraph">instead it operates in linear time just like a linked list would meaning we would have to scan</p>



<p class="wp-block-paragraph">through every single node in the entire tree to be sure that some value did not exist well</p>



<p class="wp-block-paragraph">not exactly but in the worst case scenario we&#8217;d have to scan through the whole entire tree</p>



<p class="wp-block-paragraph">for example let&#8217;s just look at the the number of nodes real fast we&#8217;ll say the</p>



<p class="wp-block-paragraph">number of nodes here is one two three four oh I put two 24s in there oh dearie</p>



<p class="wp-block-paragraph">let me get that says 14 19 24 29 and then I guess I got to make that a 35 oh</p>



<p class="wp-block-paragraph">okay and then there&#8217;s a 49 I guess I did add every single node okay so we added</p>



<p class="wp-block-paragraph">so there&#8217;s like seven uh items in the tree so i&#8217;m going to say n is equal to seven the height also</p>



<p class="wp-block-paragraph">is seven though so the height is seven notice how if we say that it&#8217;s always true that a binary</p>



<p class="wp-block-paragraph">search tree has a time complexity in the worst case of o of h meaning you&#8217;d have to go down</p>



<p class="wp-block-paragraph">in the worst case the number of levels that is equal to the whole entire height of the entire</p>



<p class="wp-block-paragraph">tree that&#8217;s also the number of nodes in the tree which means uh if i wanted to add let&#8217;s say the</p>



<p class="wp-block-paragraph">I don&#8217;t know, if you wanted to add the number 60,</p>



<p class="wp-block-paragraph">60 would end up going down here.</p>



<p class="wp-block-paragraph">And in order to find where 60 would go,</p>



<p class="wp-block-paragraph">we&#8217;d have to look at the 14, that&#8217;s 1, 19, 24.</p>



<p class="wp-block-paragraph">We&#8217;d have to look at all these nodes.</p>



<p class="wp-block-paragraph">That is seven nodes.</p>



<p class="wp-block-paragraph">We&#8217;d have to examine seven nodes</p>



<p class="wp-block-paragraph">just to figure out where the 60 would go.</p>



<p class="wp-block-paragraph">Or if we were searching for 60,</p>



<p class="wp-block-paragraph">then we&#8217;d have to go down that far</p>



<p class="wp-block-paragraph">to find out that 60 didn&#8217;t exist.</p>



<p class="wp-block-paragraph">So this is nowhere near a log tree.</p>



<p class="wp-block-paragraph">This is a linear tree, a linear time tree.</p>



<p class="wp-block-paragraph">year time tree and just to drive the point further if we did log base two of the number of nodes in</p>



<p class="wp-block-paragraph">this case seven notice how it&#8217;s telling us that we should if it was a log tree if it was perfectly</p>



<p class="wp-block-paragraph">balanced or a self-balancing tree we should have to touch no more than three nodes in order to find</p>



<p class="wp-block-paragraph">what we&#8217;re looking for to search through the tree or to insert a new node or even to delete a node</p>



<p class="wp-block-paragraph">but that&#8217;s not the case here because the tree is really really slow compared to a perfectly balanced</p>



<p class="wp-block-paragraph">slow compared to a perfectly balanced tree.</p>



<p class="wp-block-paragraph">So we call this a linear tree.</p>



<p class="wp-block-paragraph">It sucks.</p>



<p class="wp-block-paragraph">You want to try to avoid that.</p>



<p class="wp-block-paragraph">You don&#8217;t want your data to be poisoned.</p>



<p class="wp-block-paragraph">On average, your trees won&#8217;t really look like this if you just have totally</p>



<p class="wp-block-paragraph">random data, but if you think there&#8217;s a chance that your data might be skewed</p>



<p class="wp-block-paragraph">in some way, it&#8217;s probably a good idea to upgrade to a self-balancing tree,</p>



<p class="wp-block-paragraph">which we&#8217;re going to talk about later.</p>



<p class="wp-block-paragraph">Okay.</p>



<p class="wp-block-paragraph">What else can I tell you real fast?</p>



<p class="wp-block-paragraph">So we talked about searching.</p>



<p class="wp-block-paragraph">why are these trees considered log time? I mean, they&#8217;re really, really fast, but why?</p>



<p class="wp-block-paragraph">Let&#8217;s just duplicate this slide here and I&#8217;ll move it down one level. I just want to kind of</p>



<p class="wp-block-paragraph">show you why this ends up being a log time tree. Okay. So why, why is this a log time tree?</p>



<p class="wp-block-paragraph">Suppose for the sake of argument, we&#8217;re searching for the number 52. So if we&#8217;re searching for the</p>



<p class="wp-block-paragraph">node the root node and decide where would the 52 belong let me actually write that down so i don&#8217;t</p>



<p class="wp-block-paragraph">forget 52 question mark where would the 52 belong it would belong on the right side of the 37 because</p>



<p class="wp-block-paragraph">it&#8217;s greater than 37 right which means it&#8217;s actually impossible that the 52 would be in any</p>



<p class="wp-block-paragraph">of these other nodes on the left side there&#8217;s no need to check them we&#8217;re not going to scan the</p>



<p class="wp-block-paragraph">whole tree we&#8217;re just going to go left or right and ignore the whole other side of the tree</p>



<p class="wp-block-paragraph">we just did is with one examination we eliminated half of the remaining data set or i guess of the</p>



<p class="wp-block-paragraph">initial data set if we&#8217;re looking at the root node so then the next thing that we do is we just kind</p>



<p class="wp-block-paragraph">of say okay it belongs on the right side so we look at the 59 node and we do the same thing we</p>



<p class="wp-block-paragraph">say where would 52 be would it be on the left side or the right side of the 59 node it would be on</p>



<p class="wp-block-paragraph">the left side which means we&#8217;re going to eliminate from consideration the entire right subtree of the</p>



<p class="wp-block-paragraph">So again, we&#8217;re eliminating half of the remaining data set.</p>



<p class="wp-block-paragraph">Then we kind of go down here and we look at the 48.</p>



<p class="wp-block-paragraph">We do the same thing.</p>



<p class="wp-block-paragraph">52 belongs on the right side.</p>



<p class="wp-block-paragraph">So we eliminate half of the remaining data set, you know, and then eventually we do find</p>



<p class="wp-block-paragraph">the 52 and then that&#8217;s it.</p>



<p class="wp-block-paragraph">So if we&#8217;re eliminating half of the data set with every single, just one examination at</p>



<p class="wp-block-paragraph">a time, that&#8217;s why it ends up being log base two.</p>



<p class="wp-block-paragraph">getting twice as close to your destination at every step you took if you&#8217;re like in a car like</p>



<p class="wp-block-paragraph">running maybe you&#8217;re on the moon or something then it would be a log time you know uh progress</p>



<p class="wp-block-paragraph">towards your goal or eliminating half of the data set at every single step sometimes people see</p>



<p class="wp-block-paragraph">for loops on exams and stuff when we talk about this um like for i equals zero uh i is less than</p>



<p class="wp-block-paragraph">it would be like i times equals two.</p>



<p class="wp-block-paragraph">So i&#8217;s jumping twice as far each time.</p>



<p class="wp-block-paragraph">That&#8217;s the sort of thing that makes it log.</p>



<p class="wp-block-paragraph">So I&#8217;m just going to write down log here real fast</p>



<p class="wp-block-paragraph">to drive the point home a little bit more.</p>



<p class="wp-block-paragraph">O of log base two of n.</p>



<p class="wp-block-paragraph">Yeah, so I guess that&#8217;s all I wanted to tell you in this video.</p>



<p class="wp-block-paragraph">Hopefully you feel like an expert in searching now.</p>



<p class="wp-block-paragraph">If you want to see more searching videos,</p>



<p class="wp-block-paragraph">leave a comment or something like that.</p>



<p class="wp-block-paragraph">leave a comment or something like that. But yeah, thank you for watching. And I hope you</p>



<p class="wp-block-paragraph">learned a little bit of stuff and had a little bit of fun. I&#8217;ll see you in the next video.</p>



<p class="wp-block-paragraph">I&#8217;m going to go find a blueberry muffin.</p>



<p class="wp-block-paragraph">Hey, everybody. Thanks for watching this video again from the bottom of my heart. I really</p>



<p class="wp-block-paragraph">appreciate it. I do hope you did learn something and have some fun. If you could do me a please,</p>



<p class="wp-block-paragraph">subscribe and follow this channel or these videos or whatever it is you do on the current social</p>



<p class="wp-block-paragraph">media website that you&#8217;re looking at right now it would really mean the world to me and it&#8217;ll</p>



<p class="wp-block-paragraph">help make more videos and grow this community so we&#8217;ll be able to do more videos longer videos</p>



<p class="wp-block-paragraph">better videos or just i&#8217;ll be able to keep making videos in general so please do do me a kindness</p>



<p class="wp-block-paragraph">and uh and subscribe you know sometimes i&#8217;m sleeping in the middle of the night and i just</p>



<p class="wp-block-paragraph">It just wakes me up and I get filled with joy. That&#8217;s exactly what happens every single time</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me or you could you control me if you want to just wake me up in the middle</p>



<p class="wp-block-paragraph">And I just subscribe and then I&#8217;ll just wake up. I promise that&#8217;s what will happen</p>



<p class="wp-block-paragraph">Also, if you look at the middle of the screen right now</p>



<p class="wp-block-paragraph">You should see a QR code which you can scan in order to go to the website</p>



<p class="wp-block-paragraph">Which I think is also named somewhere at the bottom of this video and it&#8217;ll take you to my main website where you can just kind of like</p>



<p class="wp-block-paragraph">and the services and tutorials and things that I offer and all that good stuff and</p>



<p class="wp-block-paragraph">if you have a suggestion for</p>



<p class="wp-block-paragraph">Clarifications or errata or just future videos that you want to see please leave a comment or if you just want to say hey</p>



<p class="wp-block-paragraph">What&#8217;s up? What&#8217;s going on? You know, just send me a comment, whatever</p>



<p class="wp-block-paragraph">I also wake up for those in the middle of the night. I get I wake up in a cold sweat. I&#8217;m like this</p>



<p class="wp-block-paragraph">It would really it really mean the world to me. I would really appreciate it. So</p>



<p class="wp-block-paragraph">So again, thank you so much for watching this video and enjoy the cool music as I fade into the darkness, which is coming for us all.</p>



<p class="wp-block-paragraph">Thank you.</p>
<p>The post <a href="https://www.NeuralLantern.com/how-to-search-in-a-binary-search-tree-bst-step-by-step-explanation-with-examples/">How to Search in a Binary Search Tree (BST) &#8211; Step by Step Explanation with Examples</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/how-to-search-in-a-binary-search-tree-bst-step-by-step-explanation-with-examples/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Building a Binary Search Tree &#8211; Insertion Tutorial</title>
		<link>https://www.NeuralLantern.com/building-a-binary-search-tree-insertion-tutorial/</link>
					<comments>https://www.NeuralLantern.com/building-a-binary-search-tree-insertion-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[mike]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 05:12:30 +0000</pubDate>
				<category><![CDATA[Binary Search Trees]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[binary search tree]]></category>
		<category><![CDATA[binary search tree example]]></category>
		<category><![CDATA[binary search tree tutorial]]></category>
		<category><![CDATA[binary tree insertion]]></category>
		<category><![CDATA[BST depth]]></category>
		<category><![CDATA[BST from scratch]]></category>
		<category><![CDATA[BST height]]></category>
		<category><![CDATA[BST insertion]]></category>
		<category><![CDATA[build binary search tree]]></category>
		<category><![CDATA[computer science tutorial]]></category>
		<category><![CDATA[data structures]]></category>
		<category><![CDATA[data structures and algorithms]]></category>
		<category><![CDATA[in order traversal]]></category>
		<category><![CDATA[insert into binary search tree]]></category>
		<guid isPermaLink="false">https://www.NeuralLantern.com/?p=330</guid>

					<description><![CDATA[<p>In this tutorial we build a binary search tree together by inserting the numbers 73, 98, 12, 45, 67, 10, 43, 11, 99, and 32 one by one. Starting from an empty tree, each number is placed according to binary search tree rules: smaller values go left, larger values go right. We let the nodes fall where they belong without any rearranging, resulting in a realistic (and slightly lopsided) BST. The video explains tree depth, height, and confirms the final structure maintains all BST properties with a properly sorted in-order traversal.</p>
<p>The post <a href="https://www.NeuralLantern.com/building-a-binary-search-tree-insertion-tutorial/">Building a Binary Search Tree &#8211; Insertion Tutorial</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Building a Binary Search Tree - Insertion Tutorial" width="1380" height="776" src="https://www.youtube.com/embed/iuuUaa4CxoU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">In this hands-on video we build a binary search tree by inserting numbers one by one: 73, 98, 12, 45, 67, 10, 43, 11, 99, and 32. Watch exactly how each node finds its place following BST rules with no rearranging allowed.</p>



<p class="wp-block-paragraph">We discuss why the tree becomes lopsided, calculate its height, and verify the in-order traversal is sorted. Great practice for anyone learning binary search trees.</p>



<p class="wp-block-paragraph">Next videos will cover searching and deleting nodes.</p>



<p class="wp-block-paragraph">If you&#8217;re studying data structures, build along with me!</p>



<p class="wp-block-paragraph">00:00 Introduction to Building a Binary Search Tree<br>00:14 Plan for Inserting Numbers<br>00:30 First Node Becomes Root<br>02:26 Begin inserting from data set<br>12:29 Final insertion from data set<br>13:26 Final Tree Overview<br>13:29 Tree is Lopsided<br>14:00 Drawing Depths and Levels<br>14:50 Calculating Tree Height<br>15:08 Verifying Sorted Order<br>16:00 Confirming BST Properties<br>16:48 Time Complexity and Height<br>18:59 No Self-Balancing<br>19:07 End of Video and Thanks</p>



<p class="wp-block-paragraph">=-=-=-=-=-=-=-=-=</p>



<p class="wp-block-paragraph">Thanks for watching!</p>



<p class="wp-block-paragraph">Find us on other social media here:</p>



<ul class="wp-block-list">
<li>https://www.NeuralLantern.com/social</li>



<li>Twitter / X: https://x.com/NeuralLantern</li>



<li>Rumble: https://rumble.com/c/c-3696939</li>



<li>BitChute: https://www.bitchute.com/channel/pg1Pvv5dN4Gt</li>



<li>Daily Motion: https://www.dailymotion.com/neurallantern</li>



<li>Minds: https://www.minds.com/neurallantern/</li>



<li>Odysee: https://odysee.com/@NeuralLantern:5</li>
</ul>



<p class="wp-block-paragraph">Please show your support!</p>



<ul class="wp-block-list">
<li>Buy me a coffee: https://ko-fi.com/neurallantern</li>



<li>Subscribe + Sharing on Social Media</li>



<li>Leave a comment or suggestion</li>



<li>Subscribe to the Blog: https://www.NeuralLantern.com</li>



<li>Watch the main &#8220;pinned&#8221; video of this channel for offers and extras</li>
</ul>



<p class="wp-block-paragraph">hey there let&#8217;s build a binary search tree together if you&#8217;ve seen my previous videos</p>



<p class="wp-block-paragraph">you understand now how to define a binary search tree meaning what are the rules</p>



<p class="wp-block-paragraph">that you have to like adhere to if you want your thing to be a binary search tree</p>



<p class="wp-block-paragraph">also terminology we&#8217;re in previous videos so in this video we&#8217;re just going to take a bunch of</p>



<p class="wp-block-paragraph">random numbers and we&#8217;re just going to start dropping them into our tree and see how the</p>



<p class="wp-block-paragraph">tree builds itself out we have to build our tree in a specific way if it&#8217;s going to be valid we&#8217;re</p>



<p class="wp-block-paragraph">uh valid we&#8217;re not going to rearrange our tree and try to make it super pretty this is going to be</p>



<p class="wp-block-paragraph">like a real binary search tree it might not be pretty but it&#8217;ll be real let&#8217;s see if i can find</p>



<p class="wp-block-paragraph">those numbers that i was going to set up okay so for this particular video i think i&#8217;m going to do</p>



<p class="wp-block-paragraph">two videos i want to build a binary search tree using the following numbers they&#8217;re not special</p>



<p class="wp-block-paragraph">not not perfect but what I mean to say when I say inserting these numbers is one by one we&#8217;ll look</p>



<p class="wp-block-paragraph">at each number and we&#8217;ll drop it in the tree and we&#8217;ll see where it falls according to binary</p>



<p class="wp-block-paragraph">search tree rules of insertion then we&#8217;ll just go to the next number and then the next and the next</p>



<p class="wp-block-paragraph">when we&#8217;re done we should have a tree and if you follow along at home and you use the right rules</p>



<p class="wp-block-paragraph">to build your tree then if we use the same sequence of numbers to build the tree we should</p>



<p class="wp-block-paragraph">they won&#8217;t suddenly be different they&#8217;re deterministic okay so the first thing that</p>



<p class="wp-block-paragraph">we should try to understand is uh when we want to insert a node the 73 node right here the first</p>



<p class="wp-block-paragraph">thing we should ask ourselves is do we actually have a root node for our binary search tree yet</p>



<p class="wp-block-paragraph">right now the answer is no this is just a blank tree there&#8217;s nothing in it which means that first</p>



<p class="wp-block-paragraph">number is going to be the root node you might be tempted to say no that&#8217;s a sucky root node let&#8217;s</p>



<p class="wp-block-paragraph">do something else well i don&#8217;t know i mean you just have to let the numbers fall where they&#8217;re</p>



<p class="wp-block-paragraph">going to fall just because a number seems to suck as a root node doesn&#8217;t mean it&#8217;s not going to be</p>



<p class="wp-block-paragraph">the root node if it&#8217;s the first thing you added it&#8217;s going to be the root node don&#8217;t try to change</p>



<p class="wp-block-paragraph">it or you&#8217;re going to mess you&#8217;re going to end up with topology that doesn&#8217;t match whatever system</p>



<p class="wp-block-paragraph">or person is trying to grade your work or evaluate your work so we have no root node that means the</p>



<p class="wp-block-paragraph">node of the entire tree we&#8217;re now done with 73 i&#8217;m going to duplicate this slide real fast</p>



<p class="wp-block-paragraph">and we&#8217;ll say now it&#8217;s time to try to add the 98 you know what i can i think i can do better than</p>



<p class="wp-block-paragraph">that arrow i can make a nice cute arrow with this program i&#8217;m going to do this can i like yeah</p>



<p class="wp-block-paragraph">hang on one more one more try nice okay so now let&#8217;s add the 98 node</p>



<p class="wp-block-paragraph">the first thing we have to ask is do we have a root node uh yes we can&#8217;t actually put the 98 there</p>



<p class="wp-block-paragraph">we now have to make a decision uh if you recall in my previous videos the lesser values go on the</p>



<p class="wp-block-paragraph">left and the greater values go on the right uh in in these trees which we&#8217;re not going to support</p>



<p class="wp-block-paragraph">duplicate values with if you wanted to support duplicate values you could do something like</p>



<p class="wp-block-paragraph">less than or equal to would be on the left and greater than on the right there&#8217;s a bunch of</p>



<p class="wp-block-paragraph">other ways you can do it but i&#8217;m just going to say no duplicate values in our trees so we look at the</p>



<p class="wp-block-paragraph">So we look at the 73 node and we ask, you know, is that where our 98 is going to go?</p>



<p class="wp-block-paragraph">It can&#8217;t go there because 73 exists.</p>



<p class="wp-block-paragraph">Now we have to ask the question, does 98 belong on the left side or the right side of the 73?</p>



<p class="wp-block-paragraph">Well, because 98 is greater than 73, it belongs on the right side, which means I&#8217;m going to duplicate this node over here.</p>



<p class="wp-block-paragraph">And I&#8217;m going to try to draw this well, which means basically splitting the difference in terms of the empty space.</p>



<p class="wp-block-paragraph">empty space and trying to keep the same rank as we go down one level of</p>



<p class="wp-block-paragraph">descendancy or like one generation down at a time.</p>



<p class="wp-block-paragraph">So the next time I go down a level,</p>



<p class="wp-block-paragraph">let&#8217;s say I do a left child in the future,</p>



<p class="wp-block-paragraph">it should be at the same level as the new node I just added.</p>



<p class="wp-block-paragraph">So I did a duplicate and I forgot to change the number.</p>



<p class="wp-block-paragraph">And then I&#8217;m going to do a line to connect the 73 and the 98.</p>



<p class="wp-block-paragraph">98 so now the 73 has a right child which is 98 the 98 has a parent which is 73 and we&#8217;re done</p>



<p class="wp-block-paragraph">adding the 98 we have to just move on to the next number okay so i&#8217;m going to move on to the 12</p>



<p class="wp-block-paragraph">again we look at the root node it&#8217;s occupied we cannot put the 12 right there on the 73 we have</p>



<p class="wp-block-paragraph">to make a decision do we go to the left or the right of the 73 12 is less than 73 so it belongs</p>



<p class="wp-block-paragraph">is to jump to the left side. Notice how the left side there&#8217;s no child on the left that means that&#8217;s</p>



<p class="wp-block-paragraph">where the new node is going to go so I&#8217;m just going to like select this duplicate it real fast</p>



<p class="wp-block-paragraph">maybe stick it on the same vertical coordinate and then also try to split the difference on</p>



<p class="wp-block-paragraph">the screen just to make it look pretty. I&#8217;m going to update that 98 so that it is now the 12.</p>



<p class="wp-block-paragraph">child 12 and then we&#8217;re done adding the 12. Okay, no problem so far. We then are ready to try to</p>



<p class="wp-block-paragraph">add the 45. Maybe I should squish this a little bit. Nope, that looks gross. No, it&#8217;s okay.</p>



<p class="wp-block-paragraph">We&#8217;ll do that. We&#8217;re going to add the 45. Again, we look at the root node. It already exists,</p>



<p class="wp-block-paragraph">so we can&#8217;t put the 45 there. Instead, we will just kind of decide does the 45 belong on the</p>



<p class="wp-block-paragraph">Okay, well, belongs on the left because it&#8217;s less than 73.</p>



<p class="wp-block-paragraph">So that means I&#8217;m now going to make a little decision.</p>



<p class="wp-block-paragraph">I&#8217;m going to jump down to the left.</p>



<p class="wp-block-paragraph">If you&#8217;re in some code, you&#8217;re following the left child pointer down.</p>



<p class="wp-block-paragraph">But notice how the left child pointer or the left child, it already exists.</p>



<p class="wp-block-paragraph">So we can&#8217;t actually put 45 right there.</p>



<p class="wp-block-paragraph">We have to make another decision.</p>



<p class="wp-block-paragraph">Does 45 belong on the left or the right of the 12?</p>



<p class="wp-block-paragraph">Well, it&#8217;s greater than 12.</p>



<p class="wp-block-paragraph">So it belongs on the right side of 12.</p>



<p class="wp-block-paragraph">So I&#8217;m going to highlight this and duplicate it.</p>



<p class="wp-block-paragraph">and duplicate it. I guess I&#8217;ll just do it that way. Then I&#8217;m going to update that number</p>



<p class="wp-block-paragraph">with 45 and then I&#8217;m going to connect the 12 and the 45 with the line. So now 45 is the right child</p>



<p class="wp-block-paragraph">of 12 and 12 is the parent of 45. It&#8217;s at this point that a lot of people start to get frustrated</p>



<p class="wp-block-paragraph">with me and they say, well, how come, how come the 12 is like all the way to the left and the 45 is</p>



<p class="wp-block-paragraph">45 is like didn&#8217;t become like you know a level higher because it kind of seems like it&#8217;s closer</p>



<p class="wp-block-paragraph">to 73 shouldn&#8217;t the 12 be hanging off the left child of the 45 no no no no don&#8217;t rearrange the</p>



<p class="wp-block-paragraph">nodes as you&#8217;re building the tree just let the numbers let the nodes fall wherever they&#8217;re</p>



<p class="wp-block-paragraph">supposed to go another tip is if you&#8217;re building a tree that has other data types as as the t types</p>



<p class="wp-block-paragraph">inside of the nodes as the template types inside of the nodes for example right now I&#8217;m just using</p>



<p class="wp-block-paragraph">type is int, at least in my mind, if you wanted to put dinosaur objects in the tree, all you&#8217;d</p>



<p class="wp-block-paragraph">have to do is make sure that your code for your dinosaur class for your dinosaur object</p>



<p class="wp-block-paragraph">had its inequality operators implemented, you know, less than, greater than, and then the tree</p>



<p class="wp-block-paragraph">would still know where to put all the objects. So you could make any kind of custom object you want</p>



<p class="wp-block-paragraph">and they would all fall in their correct places in the tree as long as the operators actually</p>



<p class="wp-block-paragraph">just as a side note. Okay, so now we&#8217;re ready to add the next item. So I&#8217;m going to erase this</p>



<p class="wp-block-paragraph">stuff here, and I&#8217;m going to move the arrow from the 45 to the 67. So now we&#8217;re going to try to</p>



<p class="wp-block-paragraph">add the 67. We look at the root node, it&#8217;s occupied. We should go to the left because 67</p>



<p class="wp-block-paragraph">is less than 73. We look at the 12, that&#8217;s occupied. So we go left or right. We should go</p>



<p class="wp-block-paragraph">to the right because 67 is greater than 12. So we look at the 45. Again, it&#8217;s occupied. There&#8217;s a</p>



<p class="wp-block-paragraph">a node there so we have to make another decision do we go to the left or to the right well 67 is</p>



<p class="wp-block-paragraph">greater than 45 so it goes on the right side so i&#8217;m going to duplicate this off to the right side</p>



<p class="wp-block-paragraph">and down a rank and we&#8217;ll call that the right child of 45. let me update the number here</p>



<p class="wp-block-paragraph">to 67 and i&#8217;ll connect that as the right child okay</p>



<p class="wp-block-paragraph">Any questions? I&#8217;m just kidding. That was rude. Just know that my heart is with you if you&#8217;re</p>



<p class="wp-block-paragraph">asking questions. Send me a comment in the comments. So now I&#8217;m going to move over to the 10 here.</p>



<p class="wp-block-paragraph">Again, we look at the 67. The 10 belongs on the left. So we kind of go to the left.</p>



<p class="wp-block-paragraph">We look at the 12. The 10 belongs on the left of the 12 because it&#8217;s less than 12.</p>



<p class="wp-block-paragraph">available slot that&#8217;s an available child pointer so I&#8217;m going to say the 10 is going to be the</p>



<p class="wp-block-paragraph">left child of the 12 node maybe I&#8217;ll stick it all the way over there let&#8217;s see is there anything</p>



<p class="wp-block-paragraph">less than 10 in there nope okay so we&#8217;ll be good we have enough space on the screen</p>



<p class="wp-block-paragraph">so change that to a 10 do the connecting line so the 10 is now the left child</p>



<p class="wp-block-paragraph">whoops the left child of the 12 node and now we&#8217;re ready to add the next node</p>



<p class="wp-block-paragraph">node. Okay. So now the 43 is the next one we want to add. One more time, we look at the 73 node,</p>



<p class="wp-block-paragraph">the root node is occupied. So we have to go to the left because 43 is less. So oops, that&#8217;s a line.</p>



<p class="wp-block-paragraph">So now we look at the 12 node is 43 greater than or less than the 12. It&#8217;s greater than so that</p>



<p class="wp-block-paragraph">means we go down to the right. But the 45 is there. So we have to make another decision. 43 is less</p>



<p class="wp-block-paragraph">43 is less than 45 so we go to the left that means this 43 is going to be the left child of 45.</p>



<p class="wp-block-paragraph">And again don&#8217;t try to make the tree pretty or better just let the nodes fall wherever they&#8217;re</p>



<p class="wp-block-paragraph">supposed to fall according to the rules of less than or greater than. So now we got the uh whoops</p>



<p class="wp-block-paragraph">I forgot to change that to a 43. The 43 right there and we are now ready to add another node</p>



<p class="wp-block-paragraph">So I&#8217;m going to like erase this stuff here and I want to move the arrow to the 11.</p>



<p class="wp-block-paragraph">Now once again, we&#8217;re looking for the root node.</p>



<p class="wp-block-paragraph">It&#8217;s already occupied.</p>



<p class="wp-block-paragraph">We say that 11 is supposed to go on the left because it&#8217;s less than.</p>



<p class="wp-block-paragraph">We look at the 12.</p>



<p class="wp-block-paragraph">It&#8217;s occupied.</p>



<p class="wp-block-paragraph">So we have to go to the left because 11 is less than 12.</p>



<p class="wp-block-paragraph">We go to the 10 and that&#8217;s also occupied.</p>



<p class="wp-block-paragraph">So we have to make another decision.</p>



<p class="wp-block-paragraph">Is 11 greater than or less than 10?</p>



<p class="wp-block-paragraph">It&#8217;s greater than.</p>



<p class="wp-block-paragraph">why the 11 goes on the right side of the 10. So I&#8217;m going to duplicate this over here. Notice how</p>



<p class="wp-block-paragraph">I&#8217;m trying to keep same ranked children or same depth children physically at the same level. It&#8217;s</p>



<p class="wp-block-paragraph">a lot easier to debug your diagrams if you do things this way. Notice also, as I mentioned in</p>



<p class="wp-block-paragraph">a previous video, that every left descendant of a node should be physically on the left side in my</p>



<p class="wp-block-paragraph">diagram and every right descendant should be physically on the right side. That just makes</p>



<p class="wp-block-paragraph">right side that just makes the diagram way easier to debug what do I mean by this look at 73&#8217;s left</p>



<p class="wp-block-paragraph">descendants its left subtree they&#8217;re all physically on the left look at the 12 node all of its right</p>



<p class="wp-block-paragraph">descendants or its right subtree they&#8217;re all physically on the right so you if you follow</p>



<p class="wp-block-paragraph">that rule it&#8217;s just way easier to debug I think I forgot to update that number from 43 to 11 so</p>



<p class="wp-block-paragraph">I&#8217;m going to do that now and we are ready to add the next number the 99 so I&#8217;m going to do this</p>



<p class="wp-block-paragraph">So I&#8217;m going to do this. We&#8217;re looking at 99.</p>



<p class="wp-block-paragraph">So first we start off by looking at the root node.</p>



<p class="wp-block-paragraph">It&#8217;s 73, occupied. 99 belongs on the right side.</p>



<p class="wp-block-paragraph">So now we bounce to the right side and we look at the 98.</p>



<p class="wp-block-paragraph">Whoops, whoops, whoops. We look at the 98.</p>



<p class="wp-block-paragraph">That&#8217;s occupied, so we make another decision.</p>



<p class="wp-block-paragraph">The 99 belongs on the right side of 98. That slot is available.</p>



<p class="wp-block-paragraph">So now we can say that the 99 node is supposed to be</p>



<p class="wp-block-paragraph">a right child of 99.</p>



<p class="wp-block-paragraph">Sorry, sorry.</p>



<p class="wp-block-paragraph">The 99 is the right child of the 98 node.</p>



<p class="wp-block-paragraph">I&#8217;m getting a little confused.</p>



<p class="wp-block-paragraph">Okay, so I&#8217;m gonna do a little connecting line there.</p>



<p class="wp-block-paragraph">And we&#8217;re ready to add the final value into our tree.</p>



<p class="wp-block-paragraph">So I&#8217;m gonna do, let&#8217;s see.</p>



<p class="wp-block-paragraph">Oh, oh, I accidentally erased the arrow.</p>



<p class="wp-block-paragraph">Oh, there it is.</p>



<p class="wp-block-paragraph">We can add the 32 next.</p>



<p class="wp-block-paragraph">add the 32 next and if we look at the 73 it&#8217;s occupied 32 belongs on the left so then we just</p>



<p class="wp-block-paragraph">kind of like follow down to the left here we look at the 12 32 belongs on the right of 12 so we</p>



<p class="wp-block-paragraph">follow down to the right 32 belongs on the left of 45 so we follow down to the left 32 belongs on</p>



<p class="wp-block-paragraph">the left of 43 and so we will make 32 the left child of the 43 node so I&#8217;m going to like select</p>



<p class="wp-block-paragraph">this real fast we go down a full rank and I&#8217;m going to try to split the difference between 12</p>



<p class="wp-block-paragraph">And I&#8217;m going to try to split the difference between 12 and 43 here just to make the diagram easier to debug.</p>



<p class="wp-block-paragraph">Okay, so then I&#8217;m going to do…</p>



<p class="wp-block-paragraph">It&#8217;s looking a little gross, but at least we&#8217;re finished.</p>



<p class="wp-block-paragraph">I have to update that 11 to be the 32.</p>



<p class="wp-block-paragraph">And now we&#8217;re done building our tree.</p>



<p class="wp-block-paragraph">Okay, so some things to point out real fast.</p>



<p class="wp-block-paragraph">Notice how the tree is lopsided.</p>



<p class="wp-block-paragraph">to look at various parts of the tree you might be frustrated why didn&#8217;t we put the 98 over there</p>



<p class="wp-block-paragraph">why didn&#8217;t we put the right just it&#8217;s fine as long as we follow the rules of building a binary search</p>



<p class="wp-block-paragraph">tree then this is the valid tree that we would have built of course later on you&#8217;ll learn techniques</p>



<p class="wp-block-paragraph">to make the tree a little bit better looking a little bit faster but right now we&#8217;re just building</p>



<p class="wp-block-paragraph">a tree with no optimizations no self balancing no anything like that this is our binary search tree</p>



<p class="wp-block-paragraph">tree if we were to take all of the uh you know all the numbers that we added and sort them</p>



<p class="wp-block-paragraph">then that should be the numbers we see from left to right this is another good argument for why we</p>



<p class="wp-block-paragraph">should draw the diagram in this way again like uh same depth nodes let me just draw the the depths</p>



<p class="wp-block-paragraph">real fast just to kind of illustrate the point a little bit same depth nodes should be on the same</p>



<p class="wp-block-paragraph">y coordinate or the same uh horizontal plane notice how 73 is the root node and then 12 with 98 have</p>



<p class="wp-block-paragraph">with 98 have a depth of 1 and then 10 45 and 99 have a depth of 2 and then 11 43 and 67 have a</p>



<p class="wp-block-paragraph">depth of 3 and then 32 has a depth of 4 so the deepest node we can find has a depth of 4 that&#8217;s</p>



<p class="wp-block-paragraph">the 32 node which means the height of the tree um height is 4 sorry 5 the height is always the</p>



<p class="wp-block-paragraph">deepest nodes depth plus 1 or the number of nodes you would have to touch as you found your way</p>



<p class="wp-block-paragraph">you found your way down to the deepest node for example if we wanted to get to that 32 we would</p>



<p class="wp-block-paragraph">touch one two three four five nodes so the height of this tree is five</p>



<p class="wp-block-paragraph">okay um let&#8217;s debug the order of our numbers because this is kind of easy to get wrong</p>



<p class="wp-block-paragraph">so from left to right we should see a sorted list so let me just uh do little markings here</p>



<p class="wp-block-paragraph">to indicate that i&#8217;m seeing increasing or at least non-decreasing numbers</p>



<p class="wp-block-paragraph">If our tree supported duplicates, then it would be non-decreasing.</p>



<p class="wp-block-paragraph">But since we don&#8217;t allow duplicates, it should be increasing or an ascending list.</p>



<p class="wp-block-paragraph">So I&#8217;m going to do the 10.</p>



<p class="wp-block-paragraph">And as we look towards the right, we should see increasing numbers.</p>



<p class="wp-block-paragraph">So we got the 10 there.</p>



<p class="wp-block-paragraph">And then we got the 11 there.</p>



<p class="wp-block-paragraph">And then we got the 12 there.</p>



<p class="wp-block-paragraph">32, 43, 45, 67.</p>



<p class="wp-block-paragraph">So far, so good.</p>



<p class="wp-block-paragraph">It&#8217;s all increasing.</p>



<p class="wp-block-paragraph">73 increases, 98 increases, and 99 increases.</p>



<p class="wp-block-paragraph">and 99 increases. So from left to right, it was basically a sorted list, which is what we want.</p>



<p class="wp-block-paragraph">So we&#8217;ve created a valid ordering for the tree. Now maybe just think about all the rules of a</p>



<p class="wp-block-paragraph">binary search tree to make sure we did that right too. So is this a graph? Yeah. Is it a connected</p>



<p class="wp-block-paragraph">graph? Yeah. Is it a tree? You know, no cycles in the graph? Yeah. Is it a rooted tree? Yeah. The 73</p>



<p class="wp-block-paragraph">root node is the common ancestor of all other nodes. We have one node that&#8217;s common to the</p>



<p class="wp-block-paragraph">in terms of ancestry um does any node have more than two children no none of the nodes have more</p>



<p class="wp-block-paragraph">than two children um they&#8217;ve all got zero or one or two children and then the numbers are in order</p>



<p class="wp-block-paragraph">and therefore this is a valid binary search tree so in other videos i&#8217;m going to talk about the</p>



<p class="wp-block-paragraph">time complexity and and like you know how fast it is to do certain operations or how imbalanced a</p>



<p class="wp-block-paragraph">just so you know this is not a perfect binary search tree you can tell because it&#8217;s a little</p>



<p class="wp-block-paragraph">lopsided um we calculated the height as five and let&#8217;s see where the heck is that calculator i</p>



<p class="wp-block-paragraph">thought i had a calculator on here oh no oh there it is if we calculated the height as five</p>



<p class="wp-block-paragraph">you could probably imagine and we&#8217;ll talk about searching in a future video like how do you search</p>



<p class="wp-block-paragraph">in a way that makes the tree super super fast well we certainly built the tree in a way that</p>



<p class="wp-block-paragraph">makes it super super fast we just have to get to searching later but if we</p>



<p class="wp-block-paragraph">search properly through a properly built binary search tree then at most it</p>



<p class="wp-block-paragraph">should only take us height number of examinations to find our way to any</p>



<p class="wp-block-paragraph">piece of data or to determine that a piece of data doesn&#8217;t exist for example</p>



<p class="wp-block-paragraph">I could say that the time complexity is O and we&#8217;ll do this in other videos of</p>



<p class="wp-block-paragraph">of h no matter what the tree looks like no matter how lopsided it is and what is h here five that</p>



<p class="wp-block-paragraph">just basically is saying in the worst case scenario i would have to touch five nodes to reach the very</p>



<p class="wp-block-paragraph">bottom of the tree and determine that a value didn&#8217;t exist or you know find a value at the very</p>



<p class="wp-block-paragraph">bottom of the tree so the worst case scenario touch five nodes so it&#8217;s o of h if we if we plug</p>



<p class="wp-block-paragraph">log base 2 so if we did log base 2 of n where n is the number of nodes uh oh how many nodes do we</p>



<p class="wp-block-paragraph">have shoot one two three four five six seven eight nine ten i think one two three four five six seven</p>



<p class="wp-block-paragraph">eight nine ten yeah log base two of ten notice how the number here says well it should take like</p>



<p class="wp-block-paragraph">somewhat close to three uh examinations at most four examinations but we just said it&#8217;s going to</p>



<p class="wp-block-paragraph">of a divergence between the real speed of the tree.</p>



<p class="wp-block-paragraph">It might take up to five examinations and log base two,</p>



<p class="wp-block-paragraph">which would be a perfect binary search tree.</p>



<p class="wp-block-paragraph">So the more lopsided a tree gets, the slower it actually becomes.</p>



<p class="wp-block-paragraph">And we&#8217;ll deal with that in future videos.</p>



<p class="wp-block-paragraph">We&#8217;ll learn how to like detect that and balance that and so forth.</p>



<p class="wp-block-paragraph">But so we&#8217;ve built a binary search tree.</p>



<p class="wp-block-paragraph">It&#8217;s definitely valid if not, you know, like super, super fast.</p>



<p class="wp-block-paragraph">And I think that&#8217;s the end of this video.</p>



<p class="wp-block-paragraph">Thank you so much for watching.</p>



<p class="wp-block-paragraph">I hope you learned a little bit of stuff and had a little bit of fun.</p>



<p class="wp-block-paragraph">In the next video, I think I&#8217;m just going to build another tree for you so we can get</p>



<p class="wp-block-paragraph">a second practice in.</p>



<p class="wp-block-paragraph">Okay, future videos also are going to include searching and deleting nodes and modifying</p>



<p class="wp-block-paragraph">existing nodes and just a whole bunch of other stuff.</p>



<p class="wp-block-paragraph">Then eventually we&#8217;ll do self-balancing trees.</p>



<p class="wp-block-paragraph">I&#8217;ll see you later.</p>



<p class="wp-block-paragraph">Hey everybody.</p>



<p class="wp-block-paragraph">Hey everybody!</p>



<p class="wp-block-paragraph">Thanks for watching this video again from the bottom of my heart.</p>



<p class="wp-block-paragraph">I really appreciate it.</p>



<p class="wp-block-paragraph">I do hope you did learn something and have some fun.</p>



<p class="wp-block-paragraph">If you could do me a please, a small little favor, could you please subscribe and follow</p>



<p class="wp-block-paragraph">this channel or these videos or whatever it is you do on the current social media website</p>



<p class="wp-block-paragraph">that you&#8217;re looking at right now.</p>



<p class="wp-block-paragraph">It would really mean the world to me and it&#8217;ll help make more videos and grow this community.</p>



<p class="wp-block-paragraph">So we&#8217;ll be able to do more videos, longer videos, better videos, or just I&#8217;ll be able</p>



<p class="wp-block-paragraph">I&#8217;ll be able to keep making videos in general.</p>



<p class="wp-block-paragraph">So please do me a kindness and subscribe.</p>



<p class="wp-block-paragraph">You know, sometimes I&#8217;m sleeping in the middle of the night</p>



<p class="wp-block-paragraph">and I just wake up because I know somebody subscribed or followed.</p>



<p class="wp-block-paragraph">It just wakes me up and I get filled with joy.</p>



<p class="wp-block-paragraph">That&#8217;s exactly what happens every single time.</p>



<p class="wp-block-paragraph">So you could do it as a nice favor to me</p>



<p class="wp-block-paragraph">or you could troll me if you want to just wake me up in the middle of the night.</p>



<p class="wp-block-paragraph">Just subscribe and then I&#8217;ll just wake up.</p>



<p class="wp-block-paragraph">I promise that&#8217;s what will happen.</p>



<p class="wp-block-paragraph">Also, if you look at the middle of the screen right now,</p>



<p class="wp-block-paragraph">right now you should see a QR code which you can scan in order to go to the website which I think</p>



<p class="wp-block-paragraph">is also named somewhere at the bottom of this video and it&#8217;ll take you to my main website where</p>



<p class="wp-block-paragraph">you can just kind of like see all the videos I published and the services and tutorials and</p>



<p class="wp-block-paragraph">things that I offer and all that good stuff and if you have a suggestion for clarifications or</p>



<p class="wp-block-paragraph">errata or just future videos that you want to see please leave a comment or if you just want to say</p>



<p class="wp-block-paragraph">what&#8217;s going on you know just send me a comment whatever i also wake up for those in the middle</p>



<p class="wp-block-paragraph">of the night i get i wake up in a cold sweat and i&#8217;m like it would really it really mean the world</p>



<p class="wp-block-paragraph">to me i would really appreciate it so again thank you so much for watching this video and um enjoy</p>



<p class="wp-block-paragraph">the cool music as as i fade into the darkness which is coming for us all</p>



<p class="wp-block-paragraph">Thank you.</p>



<p class="wp-block-paragraph">hey there let&#8217;s talk about uh</p>



<p class="wp-block-paragraph">hello there hello there let&#8217;s build a binary search tree by just inserting a bunch of numbers</p>



<p class="wp-block-paragraph">inserting a bunch of numbers and will follow the rules</p>
<p>The post <a href="https://www.NeuralLantern.com/building-a-binary-search-tree-insertion-tutorial/">Building a Binary Search Tree &#8211; Insertion Tutorial</a> appeared first on <a href="https://www.NeuralLantern.com">NeuralLantern.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.NeuralLantern.com/building-a-binary-search-tree-insertion-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
