请问面试中考到的算法复杂度大家一般是靠直觉还是推导# JobHunting - 待字闺中
s*A
1 楼
直觉的意思就是
比如一般看到嵌套循环,就知道大概是n^2
看到从树的root到leaf的操作,大概就是lgn
推导的话就是比较严谨点的,比如heap的heapify操作,先要想到size为n的binary
tree左右两个子树每个size最多不超过2n/3,然后得到T(n)<=T(2n/3)+O(1),用master
theorem得到最后结果
请问面试中大家一般都会按哪种做法?
比如一般看到嵌套循环,就知道大概是n^2
看到从树的root到leaf的操作,大概就是lgn
推导的话就是比较严谨点的,比如heap的heapify操作,先要想到size为n的binary
tree左右两个子树每个size最多不超过2n/3,然后得到T(n)<=T(2n/3)+O(1),用master
theorem得到最后结果
请问面试中大家一般都会按哪种做法?