来自维基百科,https://en.wikipedia.org/wiki/Merge_algorithm#Application
在图中,假设我们考虑中间的数字行(如果有人可以在这里发布图片会有帮助)。如果我将其修改为:
,算法的运行时间是多少?这是一种非常低效的排序方式(我可以直观地说 - 在最坏的情况下,添加的数字会与列表中的每个数字交换)虽然我不太确定它的比较(在证明我的理由方面)分析)合并排序的O(n log n)时间。
有什么想法吗?
答案 0 :(得分:0)
您要描述的算法是插入排序 - 您通过一次添加一个元素,按排序顺序构建不断增长的值列表。这意味着运行时匹配插入排序 - 如果数组已排序,则为线性,平均为二次等等。