前面练习的demo中,已经几个主要的排序算法给过了一遍。 之后接触的貌似是查找算法。 排序的目的就是为了完成我们的任务,或者为了方便我们查找嘛。。。 不过这个取这个题目心里是有些忐忑的,刚刚取查了一下,说有七大查找算法:分别是: 顺序查找,二分查找。 插值查找,斐波那契查找,树表查找,分块查找,哈希查找。 但是这个demo上只有二分查找 以及 后面的树结构应该也能勉强算是树表查找吧。 这些算法中,顺序查找,二分查找感觉是比较好理解的。 分块查找,哈希查找在数据结构的课上见过。 树表查找,斐波那契查找,插值查找见的比较少了。
接着进入二分查找的正题
这里为了查找的需要,默认采用一个有序数列,代表已经先排好序。
以上便是二分查找的测试内容笔记。 接着的应该算是树表查询吧,称为二分搜索树,下面进入正题。
这个是二分搜索树的一个基本构成,应该算作一个数据结构,这里还没有体现查找算法。 理解时,倒也可以把它们看作一个线性的,因为他们物理也是线性的。。。
可见,这个数据结构与操作方式时密切挂钩的。接着进入查找的内容。
这两个查找,倒更像一个互逆的操作。 二分查找也可以理解成一个树。