二分查找
首先,我们先了解二分查找
假设n个数据元素的关键字满足有序(如:从小到大),并是连续存放的,那么可以进行二分查找来节省时间。
下面我们来看一个例子:
![](https://img-blog.csdnimg.cn/20200528165041309.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)
- 通过(left+right)/2取整的结果与中间mid比较,若比mid大,则left=mid+1;
若比mid小,则right=mid-1。然后重复操作。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528165156849.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528170036346.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)
若该列数字中没有查找的数字,即当查找到最后时,left会与right冲突(left>right),代表查找失败。
这里给出算法;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528170435994.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)
树
首先,我们来了解一些树的基本术语:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528171530950.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528171608192.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)
树的表示(儿子—兄弟表示法):
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020052817181884.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NDU0Njk4,size_16,color_FFFFFF,t_70)