算法
智慧结晶,武林秘籍。
平头哥阿威
coding....
展开
-
插入排序:希尔排序
给定数组arr[ ]={98, 88, 22, 999, 456, 12, 33, 77, 123 }插入排序拍升序的做法: 定义一个数组tmp,tmp的大小-arr的大小=1; 1、将98插入到数组tmp,即就是赋值tmp[0]=arr[0]; 2、接下来依次插入arr数组的其他元素: 每插入一个元素的方法: 将arr[i]与tmp数组的最后一个元素比较, ...原创 2018-06-07 18:37:12 · 229 阅读 · 0 评论 -
冒泡排序和快速排序
冒泡排序原创 2019-02-13 23:00:41 · 445 阅读 · 0 评论 -
归并排序
选择、堆、原创 2018-06-12 20:36:36 · 208 阅读 · 0 评论 -
选择排序和堆排序
选择、堆、原创 2018-06-11 13:39:28 · 388 阅读 · 0 评论 -
计数排序和桶排序
上述的排序方法是博主的前四篇博客介绍的常见排序方法,它们有一个共同的特征,都是比较排序,今天我们介绍一下非比较排序,常见的非比较排序有:计数排序、基数排序。文章目录计数排序桶排序/基数排序(假设待排序数组最多两位)计数排序计数排序(Count Sort)是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂...原创 2019-02-15 16:26:15 · 443 阅读 · 0 评论 -
九种常见排序的比较
文章目录比较排序非比较排序比较排序由上表不难得出下面这几个重要的点:从平均时间性能而言,快速排序最佳,其所需时间最佳,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。堆排序和归并之间,当n较大时,归并排序所需时间省,但是所需的辅助空间却是最大的,堆本身不是专门为排序产生的,而是解决优先级队列和TopK问题。几种简单排序中,除了希尔排序外的所有插入排序,冒泡排序,和选择排序中,直...原创 2019-02-15 17:04:14 · 711 阅读 · 0 评论 -
累积计数法的两个应用:骑士的金币和扑克牌魔术
骑士的金币国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一天开始的...原创 2019-05-25 11:54:46 · 504 阅读 · 0 评论