Loading

摘要: 1. 顺序(线性) 查找 额,没啥要说的吧。优点的话,就是待查找集合数据可以无序 2. 二分/折半查找 2.1 思路分析 确定有序数组中间元素的索引 mid = (left + right) / 2 让待查找数 findVal 和 arr[mid] 比较 findVal > arr[mid],说明待 阅读全文
posted @ 2020-02-18 20:26 tree6x7 阅读(156) 评论(0) 推荐(0)
摘要: 1. 优先队列 许多应用程序都需要处理有序的元素,但不一定要求它们全部有序,或是不一定要一次就将它们排序。很多情况下我们会收集一些元素,处理当前键值最大的元素,然后再收集更多的元素,在处理当前键值最大的元素,如此这般 ... 在这种情况下,一个合适的数据结果应该支持两种操作:删除最大元素和插入元素。 阅读全文
posted @ 2020-02-18 20:24 tree6x7 阅读(175) 评论(0) 推荐(0)
摘要: 1. 基本思想 归并排序(MERGE-SORT) 是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略。 "归并"思想 基于归并这个简单的操作,也就是说如果想要将一个数组排序,可以先(递归地) 将它分成两半分别排序,然后将结果归并起来,即将两个有序的数组 阅读全文
posted @ 2020-02-18 20:16 tree6x7 阅读(94) 评论(0) 推荐(0)
摘要: 参考和引用了 白话经典算法系列之六——快速排序 的一些内容 1. 基本思想 概述 快速排序(Quicksort) 是一种分治的排序算法,它将一个数组分成两个子数组,将两部分独立地排序;排序的方式是当两个子数组都有序时整个数组也就自然有序了。 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的 阅读全文
posted @ 2020-02-18 19:34 tree6x7 阅读(118) 评论(0) 推荐(0)
摘要: 1. 引入 插入排序存在的问题: 现在有这么一个数组,arr={2,3,4,5,6,1};现在需要插入的数 1 (最小),过程是: {2,3,4,5,6,6} → {2,3,4,5,5,6} → {2,3,4,4,5,6} → {2,3,3,4,5,6} → {2,2,3,4,5,6} → {1,2 阅读全文
posted @ 2020-02-18 19:33 tree6x7 阅读(237) 评论(0) 推荐(0)
摘要: 1. 基本思想 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 把 n 个待排序的元素看成为一个〈有序表〉和一个〈无序表〉,开始时有序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表 阅读全文
posted @ 2020-02-18 19:32 tree6x7 阅读(129) 评论(0) 推荐(0)
摘要: 1. 举例说明 n 个数据,总共进行 n-1 次大的循环,得到一个按从小到大排列的有序序列: 第 1 次从 arr[0]~arr[n-1] 中选取最小值,与 arr[0] 交换 第 2 次从 arr[1]~arr[n-1] 中选取最小值,与 arr[1] 交换 第 3 次从 arr[2]~arr[n 阅读全文
posted @ 2020-02-18 19:31 tree6x7 阅读(122) 评论(0) 推荐(0)
摘要: 1. 基本思想 从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒 每循环遍历一次,就能把这一轮见过的元素中 maxValue 放在末尾位置 // 和选择排序正好相反,选择是一轮过后,就确定一个 minVal 待排 阅读全文
posted @ 2020-02-18 19:30 tree6x7 阅读(107) 评论(0) 推荐(0)
摘要: 排序就是将一组数据依指定的顺序进行排列的过程。 1. 时间频度 1.1 概念 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多; 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 举例:计算 1~100 所有数字之和 1.2 三个特点 随着 n 阅读全文
posted @ 2020-01-30 14:56 tree6x7 阅读(293) 评论(0) 推荐(0)
摘要: 1. 迷宫回溯问题 1.1 代码实现 public class Maze { public static void main(String[] args) { int[][] map = new int[8][7]; initWall(map); setWay(map, 1, 1); for (in 阅读全文
posted @ 2020-01-29 14:11 tree6x7 阅读(158) 评论(0) 推荐(0)