摘要: [算法初步]之冒泡排序##1 描述冒泡排序是一种交换排序的方法。1)从一个方向开始比较,如果小于后面的数字,则交换位置。直到最小数字被交换到另一端。2)持续循环,从最小数字一直到最大数字都完成排序。##2 场景首选假设一根试管里面有N个气泡,这些气泡都是大小不同的,数字代表大小,但是这些气泡没有排序好的。如下:* 底层 [3, 5, 1, 7, 6, 2, 11, 13, 4] 上面我们假设小气泡的浮力比较大,大气泡更容易沉在水滴。但是眼前的这个排列明显不合规矩的,因为我们需要的是大的气泡沉在底下,而小的气泡浮在上面。这样才符合我们的期望。很明显,这个状态时不稳定的,必然会发生变化。这个变化的 阅读全文
posted @ 2013-04-15 20:15 零界寒冰 阅读(281) 评论(0) 推荐(0) 编辑
摘要: ##1 描述插入算法是生活中比较常用的算法,这个算法可以说所有人都用过,连小学生都会。只不过你平时用的时候没有意识到这个算法罢了。比如说斗地主,这个大家都玩过吧。这个抓牌的过程其实就是一种插入排序的实现。(当然可能略有些不同,斗地主是三个人抓牌,换排序肯可能就是你一个人抓一堆牌了)。##2 场景首先来设定一个抓牌的场景,我们用1代表A,11代替J,13代替K。很明显,牌堆里面都是未排好序的,而抓牌后在你左手中的都是排序好的牌。所以当前牌堆里面的牌是* 左手:[] 牌堆:[3, 5, 1, 7, 6, 2, 11, 13, 4]。ok,下面摸第一张牌,是一张3,放到左手,第一张牌本来就是排序好的 阅读全文
posted @ 2013-04-15 15:31 零界寒冰 阅读(160) 评论(0) 推荐(0) 编辑