![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
weirdo_world
人懒、话少,只分享干货
展开
-
有序数组查找(线性查找和二分查找)
对于有序数组可以采用以下两种算法来完成: 线性查找时间复杂度为: O(N) 二分查找时间复杂度为: O(logN) 线性查找则是循环遍历,从头开始,直到找到 二分查找则将一分为二,取中间数与要找的数对比,由于是有序数组,如果中间数大于要找的数,则需将前部分继续一分为二对比,直到找到。 ...原创 2020-09-15 14:52:19 · 774 阅读 · 0 评论 -
快速排序 Java 代码实现
public static void main(String[] args) { int[] arr = {1, 3, 6, 56, 17, 32, 2, 8, 7, 11, 46,10}; int left = 0; int right = arr.length-1; sort(arr,left,right); Arrays.stream(arr).forEach(x -> System.out.print(x ...原创 2020-09-15 11:24:33 · 88 阅读 · 0 评论 -
Java 插入排序实现
public static void main(String[] args) { int[] arrs = {19, 3, 6, 56, 17, 32, 2, 8, 7, 11, 46}; for (int i = 1; i < arrs.length; i++) { int tem = arrs[i]; int index = i; while (index > ...原创 2020-09-11 15:34:54 · 66 阅读 · 0 评论 -
选择排序Java代码实现
选择排序步骤: 从左至右检查每个数字,找出最大的记录坐标,起始坐标0,如果遇到比0坐标大的值,则替换,以此类推,内循环结束后会得到最大的值,然后与外循环的值比较,相等则不替换,反之替换位置。 public static void main(String[] args) { int[] arr = {1, 3, 6, 56,17, 32, 2, 8, 7, 11, 46}; for (int i = 0; i < arr.length; i++) {原创 2020-09-11 14:26:49 · 253 阅读 · 0 评论