汉诺塔5层31步口诀慢演示,汉诺塔6层31步口诀

首页 > 经验 > 作者:YD1662022-11-06 13:23:52

冒泡排序:

基本思想是重复的进行整个数组的排序,一次比较两个元素(两两排序),如果它们顺序不符合就交换,重复这样直到数列没有再需要交换的数为止(结束条件)。

因为它就好像气泡一样,轻的气泡会往上漂浮,在不断漂浮的过程中,发生了两两交换过程,所以叫冒泡排序。

汉诺塔5层31步口诀慢演示,汉诺塔6层31步口诀(9)

应对面试排序的口诀记忆法:

N个数字来排序,

两两比较小靠前;

外层循环n-1,

内层循环n-1-i;

冒泡排序的效率:

排序算法的效率按照比较次数来测量。

在冒泡排序中,通道1内有n – 1 次比较,通道2中有n – 2 次比较,依此类推。

比较总数= (n – 1) (n – 2) (n – 3) … 3 2 1 = n(n – 1)/2 。

n(n – 1)/2 是O(n2) 阶的级数。 因此,冒泡排序算法是阶O(n2)的算法。

插入排序:

通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入,类似于《赌神》中的整扑克牌。

汉诺塔5层31步口诀慢演示,汉诺塔6层31步口诀(10)

在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。

汉诺塔5层31步口诀慢演示,汉诺塔6层31步口诀(11)

效率分析高级排序

桶排序和归并排序

桶排序

关于桶排序先做几点说明:

1)桶排序是稳定的;
2)桶排序是常见排序算法中最快的一种,大多数情况下比快排和归并排序还要快 ;
3)桶排序非常快但是也非常消耗空间,典型的以空间换时间,基本上是最耗内存的一种排序算法;

桶排序中:无序数组有个要求,就是成员隶属于固定(有限的)的区间,如范围为0-9

汉诺塔5层31步口诀慢演示,汉诺塔6层31步口诀(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.