![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
light_sky
热爱Android,热爱开源,GitHub:https://github.com/lightSky,微博:http://weibo.com/lightSkyStreet
展开
-
算法 -- 几种基本排序深入探究
笔记摘要: 这里介绍了三种排序方式:冒泡排序,选择排序和插入排序。对排序的原理进行了详细分析,并对于各种排序的效率进行了 分析和总结,最后通过一个插入排序的容器类对Soilder对象数组按照姓名进行了插入排序来进行总结。 一、冒泡排序 1.“编程复杂度”很低,很容易写出代码; 2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列原创 2013-02-16 16:41:16 · 953 阅读 · 0 评论 -
算法 快速排序
Algorithm Gossip: 快速排序法(一) 说明: 快速排序法(quick sort)是目前所公认最快的排序方法之一(视解题的对象而定),虽然快速排序法在最差状况下可以达O(n2),但是在多数的情况下,快速排序法的效率表现是相当不错的。 快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。转载 2013-02-26 16:58:31 · 792 阅读 · 0 评论 -
算法 洗扑克牌(乱数排列)
From Gossip@caterpillar Algorithm Gossip: 洗扑克牌(乱数排列) 说明 洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。 解法 初学者通常会直接想到,随机产生1~N的乱数并将之存入阵列中,后来产生的乱数存入阵列前必须先检查阵列中是否已有重复的数字,如果有这个数就不转载 2013-02-26 21:42:30 · 2234 阅读 · 0 评论 -
算法 Shaker排序法 - 改良的气泡排序
From Gossip@caterpillar Algorithm Gossip: Shaker 排序法 - 改良的气泡排序 说明 请看看之前介绍过的气泡排序法: for(i = 0; i flag = 0; for(j = 0; j if(number[j+1] SW转载 2013-02-26 19:50:39 · 1890 阅读 · 0 评论 -
算法 shell排序法 - 改良的插入排序
From Gossip@caterpillar Algorithm Gossip: Shell 排序法 - 改良的插入排序 说明 插入排序法由未排序的后半部前端取出一个值,插入已排序前半部的适当位置,概念简单但速度不快。 排序要加快的基本原则之一,是让后一次的排序进行时,尽量利用前一次排序后的结果,以加快排序的速度,Shell排序法即是基于此一概念来改良插入排序法。 解法转载 2013-02-26 19:23:03 · 930 阅读 · 0 评论