[理工] 105 台大资工 资演

楼主: joywilliamjo (joywilliamjoy)   2020-12-22 22:32:46
想请问第4题的a小题
https://i.imgur.com/vREmkz1.jpg
psuedo code的写法能不能写
1. Do in-order traversal
2. putvthe in-order traversal in array A
3. for i in range(1~n-1):
4. if all A[i]<A[i+1] = true:
5. return True
6. else:
7. return False
前面第一行inorder O(n)
后面也是O(n)
请问可以写这样吗@@?
psuedo code不太会写
然后是第3题的a:
https://i.imgur.com/XFzBP0z.jpg
会是O(log(n/m))是因为在H'也撞到之后用chaining存(O(n/m),然后再放进AVL tree(对
n/m取log)这样吗?
感谢大家
作者: A4P8T6X9 (残废的名侦探)   2020-12-22 22:58:00
第一个不行,他要求空间复杂度是常数,那个 array A 就用掉 n 的空间。
作者: mathtsai (mathtsai)   2020-12-23 00:48:00
遇到一个node判断数值是不是比左大比右小第3题的a 每格平均有n/m个 放进AVL查找 O(lg(n/m))不确定这说法对不对
作者: alex391a (麦基)   2020-12-23 01:13:00
他一开始不就说递回算法了
作者: A4P8T6X9 (残废的名侦探)   2020-12-24 07:50:00
递回 stack 也算进空间的话,in order 也不行。
作者: alex391a (麦基)   2020-12-28 11:33:00
递回当然不算
作者: aa871220 (TMVP_Yueko)   2019-01-11 14:21:00
是 O(1+(n/m)喔 很多人都漏掉1更正 O(1+lg(n/m))

Links booklink

Contact Us: admin [ a t ] ucptt.com