algorithm - 算法中的行成本帮助我理解这一点

标签 algorithm analysis insertion-sort

http://i.imgur.com/ukKb0Sz.png

http://i.imgur.com/c1ARjzB.png

好吧,基本上我有一个插入排序算法,但是它旁边是一个常量,它是运行每行代码的成本

现在我的数学背景不是很强,但我确实了解了大部分,但是我无法理解的是为什么 n^2 和 n 的系数是常数除以二?

它的意义是什么?是因为它是循环中的循环吗?或者可能是因为比较了两个值?或其他一些数学原因,例如求和公式 n(n-1)/2

第一张图片是伪代码中的算法及其下的求和最好的情况(算法已经排序)第二张图片是算法最坏的情况(求和)这就是我的问题所在

注意:tj 也表示第 5 行中的 while 循环测试针对该 j 值执行的次数

最佳答案

这是一个无聊的夜晚,我想玩 latex ,所以将我留下的评论扩展为实际答案...

总结您的问题。

让我们从一个基本示例开始。

相当于

这就是表单的来源。回到参数化总和,我们现在可以看到这一点。

注意变量 i 从 1 开始。算法要求变量的总和从 2 开始。逻辑上,总和将减 1,因此

进一步开展...(一学期)

关于algorithm - 算法中的行成本帮助我理解这一点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910901/

相关文章:

c# - 正确的锁定模式

algorithm - lalr(1) Action 表算法

algorithm - 未交叉序列计算

algorithm - 通过具体示例了解 Big-O

c - 是否有用于 C 的静态代码检查器会标记缺少的互斥锁解锁?

c - 按 2 个字段对结构体数组进行插入排序

java - 插入排序算法大o : iterative and recursive

python - 如何在Python中的链表上实现SelectionSort和InsertionSort?

java - 算法实验运行时间与理论运行时间函数的比较

python - 无法在 python 3.7 中安装 Matplotlib