Redian新闻
>
请问面试中考到的算法复杂度大家一般是靠直觉还是推导
avatar
请问面试中考到的算法复杂度大家一般是靠直觉还是推导# 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得到最后结果
请问面试中大家一般都会按哪种做法?
avatar
s*a
2
一般不会有很复杂的 直觉一般不会有错误的
顶多分治得仔细想想吧
avatar
s*A
3
谢谢
那Master theorem还需要记不?

【在 s****a 的大作中提到】
: 一般不会有很复杂的 直觉一般不会有错误的
: 顶多分治得仔细想想吧

avatar
h*6
4
其实那不叫直觉。。。那也是以分析为基础的。
avatar
x*w
5

很多就是画recursion tree硬看?比如merge sort?
heapify等可以写个数列,发现一只是收敛的那就是n了?
有些比如用队列实现max number in moving window的算O(n)就是每个元素只如队列出
队列一次?
有些用到组合的,比如permutation, combination啥的?
计算平均时间复杂度用到些概率,期望啥的... 不过这个有点难。。。

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

avatar
f*4
6
靠直觉猜一个先
要是看面试官表示不对。。
就再仔细想想。。
avatar
s*a
7
不需要 这种东西google一下1分钟就出来 知道有这个东西 会用就得了
我遇到过的最复杂的也就是merge sort和一个稍微有些复杂的循环

【在 s****A 的大作中提到】
: 谢谢
: 那Master theorem还需要记不?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。