
算法学习
文章平均质量分 72
谁是机器人
我想什么不重要,关键是你想要什么
展开
-
排序算法5——快速排序
希尔排序(Shell Sort)通过对未排序的元素逐个插入已排序的合适的位置而完成排序工作,其排序流程如下:1.将具有n个元素的数组分成n/2个数字序列,第1个元素和第n/2+1个元素为一对,第2个元素和第n/2+2个元素为一对,......2.一次循环使每一个序列对排好顺序。3.然后,变为n/4个序列,再次排序。4.不断重复以上过程,随着序列减少直到为1个后,也就完成了整个排序。原创 2014-05-03 11:10:41 · 480 阅读 · 0 评论 -
排序算法1——冒泡排序
冒泡排序通过多次比较和交换来实现排序,其排序原创 2014-05-01 22:43:56 · 661 阅读 · 0 评论 -
排序算法3——插入排序
选择排序(Selection Sort)通过多次比较和交换来实现排序,其排序流程如下:1.选取数组中最小的一个元素和数组的第一个元素交换。2.接着从剩下的所有元素中选择最小的与第二个元素交换。3.和第二步同样的方法对剩下的所有元素进行排序,最后便可得到按照从大到小的顺序排好数组中的各元素。具体过程如下:初始数据:23 33 15 12 53一次排序:12 33 23 1原创 2014-05-02 19:51:42 · 629 阅读 · 0 评论 -
排序算法2——选择排序
冒泡排序(Buuble Sort)通过多次比较和交换来实现排序,其排序流程如下:1.对数组中的各个数据一次比较相邻的两个元素的大小。2.如果前面的元素大于后面的则交换这两个数据(递增排序)。经过第一轮一轮的排序即可将最大的数据放到最后一位。3.和第二步同样的方法对剩下的所有元素进行排序,最后便可得到按照从大到小的顺序排好数组中的各元素。具体过程如下:初始数据:23 33 1原创 2014-05-01 23:15:32 · 497 阅读 · 0 评论 -
排序算法4——希尔排序
希尔排序(Shell Sort)通过对未排序的元素逐个插入已排序的合适的位置而完成排序工作,其排序流程如下:1.对数组的前两个元素进行排序。2.将第三个元素和前两个已经排好序的元素进行比较,并且插入到合适的位置。3.和第二步同样的方法对剩下的所有元素进行排序,最后便可得到按照从大到小的顺序排好数组中的各元素。具体过程如下:初始数据:23 33 15 12 53一次排序:23原创 2014-05-02 20:38:28 · 631 阅读 · 0 评论 -
经典算法问题1——约瑟夫环
约瑟夫环问题描述:约瑟夫环问题起源于一个犹太故事。问题大意如下:罗马人攻占了乔塔帕特,41个人藏在一个山洞中躲过了这场浩劫。其中包括了Josephus和他的一个朋友。剩余39人不想屈服罗马人,决定集体自杀。大家决定了一个自杀方案,由41个人组成一个圆圈,第一个人开始顺时钟报数,报数为三的人就马上自杀,然后由下一个人重新开始报数,仍然报数为3就自杀。。。。。直到所有人都死亡输出他们的自杀原创 2014-05-06 16:49:37 · 1023 阅读 · 0 评论