多语言展示
当前在线:1645今日阅读:23今日分享:25

学习怎么制作游戏辅助:按键精灵排序算法冒泡法

学习怎么制作游戏辅助:按键精灵排序算法冒泡法
工具/原料

按键精灵2014

方法/步骤
1

算法原理:冒泡排序(BubbleSort)        冒泡排序是最慢的排序算法,但也是新手最容易上手的一个排序方法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。

2

算法的复杂度        有没有同学问,O(n^2)的算法是什么呢?这是其实是衡量算法速度快慢的一个指标,我们称之为算法的时间复杂度。时间复杂越大,算法的执行效率越低。        当然,并不是越快的算法,一定越好。算法还有另一个指标,叫空间复杂度,即算法占用多少空间,这个和内存息息相关。一个算法可能很快,但是它占用的内存多,不一定耗得起。        所以呢在不同的场合,我们需要根据不同的要求,会选择最合适的算法。

3

如何计算时间复杂度时间复杂度,其实就是算法中某一语句循环执行的次数。例如:冒泡排序法的原理For i = 1 To n       For j = 1 To n              冒泡排序       NextNext       这个算法的时间复杂度,即“冒泡排序”这个语句的执行次数。当i=1的时候,For j = 1 To n:冒泡排序:Next,“冒泡排序”这个语句被执行了n次。当i=2的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。当i=3的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。……当i=n的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。       综上,“冒泡排序”这个语句被执行了n个n次,即n*n=n^2次。所以冒泡排序的时间复杂度即为n^2,我们记为O(n^2)       注:1.如果算法中语句执行次数为一个常数,则时间复杂度为O(1)。              2.若一个算法的时间复杂度为O(n)=n^2+3n+4,我们只取算式中最高次方,即O(n^2)。

推荐信息