作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有人可以逐步解释我们如何在找到插入排序的最坏情况分析时得到 O(N^2) 吗?我目前正在从 Cormen Intro to Algorithms 一书中阅读对此的解释,但解释有点令人困惑。
最佳答案
简而言之,最坏的情况是您的列表的顺序与您需要的顺序完全相反。在那种情况下:
如果将最坏情况的比较次数加起来,您会发现它是0 + 1 + 2 + ... + n-1
,这等于 (n^2 - n)/2
最坏情况下的比较,即 O(n^2)。 (决定复杂度的部分是当我们考虑较大的 n
时,在这种情况下,n^2 项占主导地位)
关于algorithm - 有人可以向我解释为什么插入排序的最坏情况是 O(n^2) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21211883/
我发现很难理解为什么/如何使用二分搜索在数组/列表中搜索键的最坏和平均情况是 O(log(n))。 log(1,000,000) 只有 6。log(1,000,000,000) 只有 9 - 我明白了
我发现很难理解为什么/如何使用二分搜索在数组/列表中搜索键的最坏和平均情况是 O(log(n))。 log(1,000,000) 只有 6。log(1,000,000,000) 只有 9 - 我明白了
我是一名优秀的程序员,十分优秀!