),所以递归总时间复杂度是O(n)。非迭代的while循环,遍历次数也是n,每次操作O(1),所以也是O(n)。教材省略的是对栈空间的分析,递归需要O(n)的栈空间,非递归只需要O(1)的额外空间。”
他一边说,一边在草稿纸上写下简洁的公式和箭头示意。字迹凌厉清晰,逻辑严密得可怕。
沈幼薇其实早就弄懂了这道题。她期末考试数据结构拿了A。但此刻,她必须让自己显得困惑而好学。她微微蹙着眉,盯着顾凛写下的步骤,适时地提出几个“笨问题”:
“那为什么递归的栈空间开销一定是O(n)呢?如果编译器优化尾递归……”
“C语言标准不保证尾递归优化。”顾凛打断她,笔尖在纸上点了点,“而且你的递归写法不是尾递归形式。”
“……哦。”沈幼薇适时地露出恍然又有点不好意思的表情,“那……还有这道,关于B树和B+树在数据库索引中应用的选择,教材只说了一个大概,我查了些资料,还是有点模糊……”
顾凛看了她一眼。那眼神似乎掠过一丝极淡的疑惑,大概是在想为什么一个看起来还算聪明的人会对这些基础概念纠缠不清。但他没说什么,再次低头,在纸上画出B树和B+树的结构简图,用最简练的语言对比了它们的节点结构、搜索方式、以及对于范围查询和顺序访问的优劣。
他的讲解没有任何多余的修饰,直击要害,就像他游戏里的操作一样精准高效。
沈幼薇“认真”地听着,不时点头,在笔记本上记下关键点。心里却在暗暗计时。
五分钟了。
按照她对顾凛这种人的浅薄了解,解答完两个明确的问题后,他大概率会结束这次“学术交流”。
果然,讲完B+树的特性后,顾凛放下了笔,身体微微后靠,目光重新回到他自己的《算法导论》上,姿态明确——答疑结束。
沈幼薇却仿佛没看懂这无声的逐客令。她合上数据结构课本,像是随口一提,语气轻松自然:“对了,昨天选拔赛第一轮,我看了你们的比赛。”
顾凛翻书的动作几不可察地顿了一下,没抬眼。
“你用瑶打野,”沈幼薇继续道,声音里带上了一点真实的感慨和探究,“真的很出乎意料。我以为你会拿野核carry全场。”
顾凛终于抬起眼皮,看了她一眼,眼神平静无波:“赢了就行。”
“但那样打,很依赖队友吧?”沈幼薇歪了
本章未完,请点击下一页继续阅读!