归并离理论极限还差几次

把下界、归并的最坏比较次数、以及两者的差一起输出。

开始练习 →

⚠️ 摊还和「平均情况」差在哪

都带个"平均"的意思,但摊还分析和平均情况复杂度说的不是一回事。摊还说的是【0】。

开始练习 →

单次最坏还是很慢,凭什么说它便宜

动态数组扩容那一次要搬走一整排元素。还敢说 append 是常数代价,理由是【0】。

开始练习 →

容量翻倍,十六次 append 一共搬了多少

从容量 1 开始,满了就翻倍。做 16 次 append,一共搬动了多少个元素? N = 16 def moves(n, grow): """模拟 n 次 append。返回 (一共搬了多少个元素,

开始练习 →

⚠️ 改成每次只加一格呢

同样 16 次 append,但这次满了只把容量加一: N = 16 def moves(n, grow): """模拟 n 次 append。返回 (一共搬了多少个元素, 单次最多搬几个)"

开始练习 →

自己写:把搬移次数数出来

补全扩容那三步,输出总搬移个数和单次最多搬了几个。

开始练习 →

两种扩容策略,总账差多少

翻倍 和 每次加一,两种策略在 16 次 append 上的总搬移个数一起输出。

开始练习 →

🔴 规模翻一倍,两边各涨多少

把 n 从 16 涨到 32,两种策略的总搬移各变成多少?按 翻倍16 / 翻倍32 / 加一16 / 加一32 的顺序输出。

开始练习 →

交付:单次很贵 + 平摊很便宜,同时成立

摊还分析的结论有两半,缺一半就说不清。把两半各验一次,再验它们同时成立。

开始练习 →

随机化解决的是什么麻烦

快排里把"取第一个"换成"随机取一个",解决的是【0】。

开始练习 →