Big o 计算函数的复杂度

Big o 计算函数的复杂度,big-o,time-complexity,Big O,Time Complexity,我们有家庭作业要写一个伪代码,将数组从最小到最大排序。这是我写的: Function sorting(list) ;define index = 0 for i in list.length: ;take first element from unsorted part in array small = list[0+i] ;length of unsorted list for n in list.length-i: ;runs on all e

我们有家庭作业要写一个伪代码,将数组从最小到最大排序。这是我写的:

Function sorting(list)
;define
index = 0
for i in list.length:
    ;take first element from unsorted part in array
    small = list[0+i]
    ;length of unsorted list
    for n in list.length-i:
        ;runs on all elements in list starting from unsorted part (i)
        if list[n+i] <= small:
            ;if it is smallest, take smallest place
            small = list[n+i]
            ;save it's index
            index = n+i 
    put where the smallest is, the first element in unsorted part
    list[index] = array[i]
    ;put in first place of unsorted the smallest. we actually exchange smallest with first
    array[i] = small
return list
函数排序(列表)
;定义
索引=0
对于列表中的i.length:
;从数组中未排序的部分获取第一个元素
小=列表[0+i]
;未排序列表的长度
对于列表中的n.length-i:
;从未排序的零件(i)开始在列表中的所有元素上运行
如果列表[n+i]是O(n^2)


您可能需要学习不同的排序算法,例如,和。

您的近似步骤数为n+(n-1)+(n-2)+……+1.这等于n*(n+1)/2。在复杂性方面,它是O(n^2),或者说,自然地说,基本运算的数量与输入大小的平方成正比。

我知道。除了回答他的问题,我还给他提供了一些材料来研究不同的算法。@libik-我认为作者的意图是提到
桶排序
…实际上这是选择,所以我知道什么是O(),但我需要复杂性这里可以找到一个非常类似的例子,一步一步解释-实际上,O()是复杂性的一种表现。我刚刚发现了一个非常复杂的“备忘单”:。快速排序是一个有趣的例子,说明了平均值(读作“现实生活”)和最坏情况之间的巨大差异。