Algorithm 如何计算插入排序的运行时间?
假设您运行下面的代码片段(生成一个数字数组,然后插入排序)n=10000,并观察它需要5.3秒。对于n=1000000,以下哪项是其运行时间(秒)的合理预测 insertionsort([i代表范围内的i(n)])我们知道(如果您还不知道-立即阅读算法书籍),插入排序的最坏和平均时间是二次的,即执行时间取决于输入长度,如Algorithm 如何计算插入排序的运行时间?,algorithm,sorting,Algorithm,Sorting,假设您运行下面的代码片段(生成一个数字数组,然后插入排序)n=10000,并观察它需要5.3秒。对于n=1000000,以下哪项是其运行时间(秒)的合理预测 insertionsort([i代表范围内的i(n)])我们知道(如果您还不知道-立即阅读算法书籍),插入排序的最坏和平均时间是二次的,即执行时间取决于输入长度,如O(n^2)(平方n) 对于相当大的n值,我们可以编写 T = k * n^2 从给定的n(本例中为10000)和时间T(5.3秒)中找到常数k 然后使用相同的方程和计算的k常
O(n^2)
(平方n
)
对于相当大的n
值,我们可以编写
T = k * n^2
从给定的n
(本例中为10000)和时间T(5.3秒)中找到常数k
然后使用相同的方程和计算的k
常数以及另一个n
值(1000000)来获得估计时间
小提示:您的代码(未看到的)有可能生成几乎排序的数组。在这种情况下,会有细微差别……嗨,你的问题看起来像是家庭作业。从现在起,你尝试过什么来解决它?