最近在学编程 不理解 大O符号(Big O notation)是什么?O(log n) O(n) O(n log n) O(n^2) O(2^n) 的区别在那里 大O符号和数据结构有什么关系?如用这些来衡量数据结构的 best case 和 worst case?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 04:50:23
最近在学编程 不理解 大O符号(Big O notation)是什么?O(log n) O(n) O(n log n) O(n^2) O(2^n) 的区别在那里 大O符号和数据结构有什么关系?如用这些来衡量数据结构的 best case 和 worst case?

最近在学编程 不理解 大O符号(Big O notation)是什么?O(log n) O(n) O(n log n) O(n^2) O(2^n) 的区别在那里 大O符号和数据结构有什么关系?如用这些来衡量数据结构的 best case 和 worst case?
最近在学编程 不理解 大O符号(Big O notation)是什么?
O(log n) O(n) O(n log n) O(n^2) O(2^n) 的区别在那里
大O符号和数据结构有什么关系?
如用这些来衡量数据结构的 best case 和 worst case?

最近在学编程 不理解 大O符号(Big O notation)是什么?O(log n) O(n) O(n log n) O(n^2) O(2^n) 的区别在那里 大O符号和数据结构有什么关系?如用这些来衡量数据结构的 best case 和 worst case?
大O 就是 时间复杂度.
时间复杂度是大概的描述一个算法的用时(实际上从侧面的表达了他的效率)
你可以 把它 看成函数 y = f(x)一样.
O(n)中的n 代表 规模大小,这也表明了,时间复杂度 跟 规模的关系.
最好时间复杂度,通常指在最好情形下,这个算法用时.反之,最坏情况下的就是最坏时间复杂度.
通常 冒泡算法 的最坏时间复杂度就是O(2^n),最坏情形是原序列 跟 排序后的序列完全相反.