在开始之前,先看一下这只充满这对于知识的渴望的小猫。(挺乖巧可爱啊!)先看这只调皮小猫,放松一下准备发车了!
一个混乱数组,左边已经被排序了。但是右边没有被排序,让右边的的元素从插入已经被排序的数组。
算法不存在最优秀的算法的区分
分析各种算法,我们最关注T(n)为义最长的运行时间(relation ,no function)。在平均时间 ,T(n)期望时间,输入规模下面对与时间的期望值。加权平均,特定情况下的平均数。,我们用O(j)来表示算法的,初始工作量。n为输入的数据的值,这里的描述不准确,应该是输入数据的量(及input————投入的资源)
这里有一个不变的规律,无论一个算法怎么优秀,总是有一个低于其他算法(更差的算法)
用一个简单的函数来表示,下面的n的不同次方表示不同的算法的优化程度或者叫算法的运行时间(相对运行时间)。
从🐰可以看见有一个交点,这个焦点是计算量。可能有超级计算机已不会到达这个焦点运算量。可以看见在焦点之前,T(n的三次方)这个计算量比较T(n的二次方)的T要小。因此简单的算法也会被考虑。
增量方法
本算法应用了增量的方法,从已排序的数列之中进行插入新的数。
理解
已经被排序好的子数组,后面单个元素插入新的元素,然后形成新的子数列。不断进行上面的操作,得出结果。