gpt4 book ai didi

algorithm - 算法设计手册的这一部分在说什么?我很困惑

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:24:35 24 4
gpt4 key购买 nike

这是在谈论用链表实现字典时来自算法设计手册。

enter image description here

对于其中之一,“在插入时检查 last->next 是否仍然等于 NULL` 的部分。为什么我们必须检查它?如果我插入一个元素,怎么会这会影响最后一项是否正确地指向 NULL?如果我们正在正确地执行我们的实现,不是应该已经完成​​了吗?我们不能只说这样的话吗:

last->next = nodeToInsert;
last = last->next;

为什么那行不通?

其次,倒数第二段是在说我们删除单链表中的最后一项并且必须识别新的最后一项的情况吗?而且我们只是(复杂度为 O(n))遍历到倒数第二个项目并将其设置为最后一个并删除前一个最后一个?我们将它与预先存在的 delete 方法混合,只是添加一个 case 来判断它是否是最后一项?

最佳答案

Why would we have to check that?

因为可能您并不总是在列表的末尾插入,所以 last 并不总是需要更新。

Secondly, ...

是的。

关于algorithm - 算法设计手册的这一部分在说什么?我很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com