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

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

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

阅读更多 →
🔴 规模翻一倍,两边各涨多少

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

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

阅读更多 →
两种扩容策略,总账差多少

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

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

阅读更多 →
自己写:把搬移次数数出来

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

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

阅读更多 →
⚠️ 改成每次只加一格呢

⚠️ 改成每次只加一格呢

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

阅读更多 →
容量翻倍,十六次 append 一共搬了多少

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

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

阅读更多 →
单次最坏还是很慢,凭什么说它便宜

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

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

阅读更多 →
⚠️ 摊还和「平均情况」差在哪

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

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

阅读更多 →
归并离理论极限还差几次

归并离理论极限还差几次

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

阅读更多 →
🔴 有输入低于下界,这矛盾吗

🔴 有输入低于下界,这矛盾吗

下界算出来是 7。数一数 120 种输入里,归并排序用了不到 7 次就排完的有几种,再报出最坏的那一档。

阅读更多 →