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

时间:2015-03-07 02:59:48

标签: algorithm analysis insertion-sort

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

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

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

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

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

第一个图像是伪代码中的算法,其下的总和是最佳情况场景(算法已经排序),第二个图片是算法最坏情况场景(求和),这是我的问题指向的位置< / p>

注意:tj表示第5行执行while循环测试的次数为j

1 个答案:

答案 0 :(得分:1)

这是一个无聊的夜晚,我想玩乳胶,所以要扩展我留给实际答案的评论......

总结你的问题。

http://mathurl.com/pfayoxb.png

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

http://mathurl.com/q95tebo.png

相当于

http://mathurl.com/o6a2v2b.png

这是形式的来源。回到参数化的总和,我们现在可以看到。

http://mathurl.com/mv2kp6c.png

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

http://mathurl.com/qf5qpvm.png

进一步实施......(一个学期) http://mathurl.com/lhrbnd6.png