算法
1,排序算法
1.1,冒泡算法:对要进行排序的数据中相邻的数据进行俩俩比较,将较大的数据放在后面
- 每一轮比较完毕,最大值在最后面,下一轮比较就少一个数据参与
- 每轮比较都从第一个元素(索引为0的元素)开始
- 依次执行,直至所有数据按要求完成排序
- 如果有n个数据进行排序,总共需要比较n - 1轮
代码:双重for循环,外层循环控制比较轮数,内层循环比较的是次数
1.2,选择排序
对要进行排序的数组中,使某个元素依次和后面的元素逐个比较,将较大的数据放在后面
- 每一轮比较完毕,最小值在最前面,下一轮比较就少一个数据参与
- 每轮比较都从下一个(轮数+1)元素开始
- 依次执行,直至所有数据按要求完成排序
- 如果有n个数据进行排序,总共需要比较n - 1轮
代码:双重for循环,外层循环控制比较轮数,内层循环比较的是次数
2,查找算法
2.1 普通查找:
循环遍历然后比较有就返回,没有就返回标识如:-1
2.2 二分查找
- 每一次都去获取数组的中间索引所对应的元素,然后和要查找的元素进行比对,如果相同就
返回索引
- 如果不相同,就比较中间元素和要查找的元素的值:
- 如果中间元素的值大于要查找的元素,说明要查找的元素在左侧,那么就从左侧按照上述思
想继续查询(忽略右侧数据);
- 如果中间元素的值小于要查找的元素,说明要查找的元素在右侧,那么就从右侧按照上述思
想继续查询(忽略左侧数据);
就是在有序的前提下直接和中间的数进行比较每次就比掉一半