JAVA基础(67)---查找、排序算法

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84287190

查找

给定一个值K,在含有n个记录的表中找出关键字等于K的记录。若找到,则查找成功,返回该记录的信息或者该记录在表中的位置;否则查找失败,返回相关的指示信息。

基于线性表的查找

顺序查找

思想:逐个比较,直到找到或者查找失败

对给定的结构进行遍历,依次使用要查找的值与每一个记录进行比较,如果相等,则返回该记录所在的索引值,如果不存在,则返回-1

折半查找(二分查找)

二分查找使用条件:必须是已排序的

2,1,4,6,5,3,7
第一步:排序:1,2,3,4,5,6,7  中间值是4,目标值是6

思想:获取要查找的数组中的中间元素:
            使用目标值与中间元素进行比较:如果目标值大于中间值,则在排序后的后半部分进行查找,如果比中间值小 则在排序之后的前半部分进行查找;如果中间值等于目标值  则找到了;如果在整个数组中查找结束之后(start > end),依然没有相等的值,则查找失败,返回 -1。

排序算法

二叉树遍历

数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等。

二叉树的遍历方式:

前序遍历:ABDFGHIEC

中序遍历:EDHGIBEAC

后序遍历:FHIGDEBCA

层序遍历:ABCDEFGHI

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/84287190
今日推荐