中易网

算法复杂度中的O(n)、O(nlgn)、O(n^2)等是什么意思

答案:2  悬赏:10  
解决时间 2021-01-17 13:58
  • 提问者网友:
  • 2021-01-16 22:08
算法复杂度中的O(n)、O(nlgn)、O(n^2)等是什么意思
最佳答案
  • 二级知识专家网友:躲不过心动
  • 2021-01-16 23:21
关于算法的复杂度计算,初学者一开始便容易进入完全定量的思考之中,这是难以到达的。算法复杂度在很多时候是对算法运行的时间一个大概的定性(或者说大数)描述,因为很多时候无法精确地描述一条代码究竟执行了多少时间。而任何一个算法运行的大多时间都集中在某一主体循环之中,像for,while之类,主体循环的次数往往跟某个或多个输入参数或环境变量有关。像O(n)、O(nlgn)、O(n^2)之类描述都是围绕主体循环次数和输入参数或者环境变量的关系展开的。
下面举一个例子,从给定的整型数组中查找与某一数相等的数的位置,显然对于没有排序的数组而言,需要从数组头部开始向后遍历比较,那么这个主体遍历循环就跟数组的长度有关,即算法复杂度为O(n)。
全部回答
  • 1楼网友:躲不过心动
  • 2021-01-17 00:26
O是上限。就是括号内表达式运算量的上限。剩下的自己理解吧。追问运算量的上限是什么意思,能具体举个例子吗追答比如说O(n^2),就可以表示为 2n^2+8n+1 的上限,因为当n趋于无限大的时候,就不用8n+1了。
如果你是只是好奇,就随便看看数据结构课本,如果你对算法感兴趣就系统学习下。个人认为,作为计算机类的学生不懂算法怎么都只渣渣。可以看的书,《算法导论》,或者一些ACM竞赛的书,大学大部分时间都用在学习算法上是对的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息