java算法[面试速记]

算法

1,排序算法

1.1,冒泡算法:对要进行排序的数据中相邻的数据进行俩俩比较,将较大的数据放在后面

每一轮比较完毕,最大值在最后面,下一轮比较就少一个数据参与 每轮比较都从第一个元素(索引为0的元素)开始 依次执行,直至所有数据按要求完成排序 如果有n个数据进行排序,总共需要比较n - 1轮 代码:双重for循环,外层循环控制比较轮数,内层循环比较的是次数

1.2,选择排序

对要进行排序的数组中,使某个元素依次和后面的元素逐个比较,将较大的数据放在后面 每一轮比较完毕,最小值在最前面,下一轮比较就少一个数据参与 每轮比较都从下一个(轮数+1)元素开始 依次执行,直至所有数据按要求完成排序 如果有n个数据进行排序,总共需要比较n - 1轮 代码:双重for循环,外层循环控制比较轮数,内层循环比较的是次数

2,查找算法

2.1 普通查找:

  循环遍历然后比较有就返回,没有就返回标识如:-1

2.2 二分查找

每一次都去获取数组的中间索引所对应的元素,然后和要查找的元素进行比对,如果相同就 返回索引 如果不相同,就比较中间元素和要查找的元素的值: 如果中间元素的值大于要查找的元素,说明要查找的元素在左侧,那么就从左侧按照上述思 想继续查询(忽略右侧数据); 如果中间元素的值小于要查找的元素,说明要查找的元素在右侧,那么就从右侧按照上述思 想继续查询(忽略左侧数据); 就是在有序的前提下直接和中间的数进行比较每次就比掉一半

全部评论

相关推荐

做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
Java抽象带篮子:可以看看我的置顶帖子,里面写了技术栈怎么描述
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务