![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Dickens.hu
好好学习,天天向上
展开
-
[传统算法06]快速排序
快速排序算法: 算法原理: 1.首先有个数组,先选出一个比较元素,然后两个索引,一个索引从头开始检索,另外一个从尾开始检索。 2.从头开始检索的索引要跟选出来的元素进行比较,如果比较小,继续检索下一个元素,如果比较大,停住,取出元素a ; 3.从尾开始检索的索引也要跟选出来的元素进行比较,如果比较大,也是继续检索下一个元素,如果比较小,停住,取出元素b ,元素 a 和 b 调换位置。 4.重复 1~3的步骤,直到 两个索引指向同一个元素,然后将比较元素的位置与两个索引所指的元素互换位置,这样的结果就会形成原创 2020-06-30 16:27:18 · 101 阅读 · 0 评论 -
[传统算法05]归并排序
归并排序算法: 算法原理: 打散元素,一个个比较,比较抽象,这个算法,具体请看例子 例如:有个数组: {6,5,4,3,2,1,9,4},要求从小到大排序 1.将其打散成为 6,5,4,3,2,1,9,4 ,成为每个独立元素 2.相邻元素比较大小,先合并一次,形成4组数据{5,6} {3,4}{1,2}{4,9} 3.然后相邻组再进行排序合并{3,4,5,6},{1,2,4,9} 4.然后相邻组再进行排序合并{1,2,3,4,4,5,6,9} ...原创 2020-06-02 09:06:27 · 115 阅读 · 0 评论 -
[传统算法04]插入排序
插入排序算法: 算法原理: 选择第二个元素然后与他之前的元素对比大小,发现匹配条件且位置最前的元素交换位置,如此循环,直到对比完所有的元素。 例如:有个数组: {1, 6, 5, 4, 3, 2, 8, 1},要求从小到大排序 第一轮第1次排序 ,拔出第二个元素6 {1, 6, 5, 4, 3, 2, 8, 1} 第一轮第2次排序 {1, 5, 6, 4, 3, 2, 8, 1} 第一轮第3次排序 {1, 4, 6, 5, 3, 2, 8, 1} 第一轮第4次排序 {1, 3, 6, 5, 4, 2, 8,原创 2020-05-26 10:11:45 · 114 阅读 · 0 评论 -
[传统算法03]选择排序
选择排序算法: 算法原理:选中首元素,然后与后面的值进行比较,然后与最后一个匹配条件的元素进行位置互换 例如:有个数组: {6,5,4,3,2,1},要求从小到大排序 第一轮排序 {1,5,4,3,2,6} 第二轮排序 {1,2,4,3,5,6} 第三轮排序 {1,2,3,4,5,6} public static void main(String[] args) { int[] arrs = {6,5,4,3,2,8,1} ; sort(arrs) ; for(int原创 2020-05-21 15:01:44 · 109 阅读 · 0 评论 -
[传统算法02]希尔排序算法
希尔算法 例子: 数组 arrs={9,8,7,6,5,4,3,2,1} 1.先将数组按某个值进行分组,我这里取数组长度一半4: {9,8,7,6} {5,4,3,2,} {1} 2. 每列排序从小到大就成了这个 {1,4,3,2} {5,8,7,6} {9} 3.在讲将数组按某个值进行分组,我这里取数组长度一半2: {1,4} {3,2} {5,8} {7,6} {9} 4.再每列排序从小到大就成了这个 {1,2} {3,4} {5,6} {7,8} {9} 5…如此重复下去就能得到一个从小到大排序的数组原创 2020-05-11 09:58:53 · 130 阅读 · 0 评论 -
[传统算法01]冒泡排序算法
先从排序的算法开始 冒泡算法: 算法原理:数组数据一个个排到相应位置,像一个个泡泡一样 例如:有个数组: {6,5,4,3,2,1},要求从小到大排序 第一轮排序 {1,5,4,3,2,6} 第二轮排序 {1,2,4,3,5,6} 第三轮排序 {1,2,3,4,5,6} 代码实现 public static void main(String[] args) { int[] arrs = {6...原创 2020-05-06 09:37:50 · 93 阅读 · 0 评论 -
算法知识图
算法知识图,之后我们再慢慢讨论:原创 2020-04-26 09:39:50 · 127 阅读 · 0 评论