@
xupefei 请看
https://en.wikipedia.org/wiki/Time_complexity 第一句话“... a function of the length of the string representing the input.”
@
binux 你的意思是,当输入是数组时,大 O 表示法中的 n 指的是按照数组长度来看待。而输入为一个数时,却指的是其表示的值咯?有点双重标准了吧?同样看一下维基百科第一句话。
@
lc4t :)
@
jedihy 算法导论上讲的从来都是输入的规模,
@
mnzlichunyu 不用看了,算法导论上没有的
@
zmj1316 但是图灵机的基本概念总要讲吧?目前的计算理论,都要基于图灵机这个计算模型吧。
@
RecursiveG @
xcatliu @
Perry 我做得不好的地方是,写的函数里不应该使用函数这个变量,使得看起来好像“重定义”了 n (其实并没有)
大 O 表示法中的 n ,指的是图灵机下的输入规模(如果把图灵机看成纸带的话,就是输入纸带长度),这点定义得很清楚(不是我定义的,维基百科上也有引用来源供查阅)。而它表示的值,是 10101100 这个数是什么,图灵机是不区分的,只认为它的输入规模为 8 。
输入一个数字,就把它当成大 O 表示法中的 n 。那要是输入一个 double 呢?还是 o ( n )咯?那再输入一个 char 呢?或者输入一个 string 呢?再输入一个数组?这时候 n 是什么?
不觉得你们才是在不断地“重定义 n ”么?
欢迎打脸,我也希望我是错的,回头我去打 etone :P