单链表伪代码求和特定的元素



我为一个单链表写了一些伪代码。该函数每次出现键(k)时都要增加前一个元素的键值,唯一的例外是第一个元素(它保持不变)。

List-Increase-Key(L,k)
    x = L.head
    k = L.head
    while (x.key != k and x != NIL)
        prex = x.key
        x = x.next
        if x.key == k
            x.key = x.key + prex

我认为运行时间是O(n),因为它遍历整个列表一次。我想知道我的时间复杂度估计是否准确,或者这是否比那更有效。或者如果你认为我的想法是垃圾,会崩溃和可怕的燃烧。谢谢你的来访。

运行时间显然是O(n),因为只进行了一次遍历。

但是我发现你的代码有些不一致。

while (x.key != k and x != NIL)

在上面的语句中,NIL检查应该在条件"x.k key!=k".

之前。

相关内容

  • 没有找到相关文章

最新更新