插入排序的运行时复杂性的最佳描述是什么

时间:2013-02-24 22:16:35

标签: algorithm complexity-theory big-o insertion

我已经理解它是二次的,但我正在进行离散数学的多项选择练习测试,而且只有四个选项:

a)对数

b)线性

c)线性

d)多项式

2 个答案:

答案 0 :(得分:1)

a)对数= O(log n)

b)线性= O(n)

c)linearithmic = O(n log n)

d)多项式= O(n k

所以O(n 2 )将是多项式。

答案 1 :(得分:0)

将新值插入到排序值的列表或树中的是O(log n)。

使用直接排序列表最容易看到。让我们说你想插入x。在[n / 2]处找到值。如果这大于x,则正确的位置位于左半部分。如果[n / 2]小于x,则正确的位置位于右侧。重复,每次检查中间值。每个步骤将间隔的大小减半,直到找到正确的值,给出插入的对数时间。

插入树中是类似的;你必须遍历树到正确的节点位置,这需要遍历树的平均深度,这与log n成正比