chapter_array_and_linkedlist/linked_list/ #83
Replies: 79 comments 140 replies
-
请教k大,在fig.链表定义与存储方式图中,浅蓝色的存储结点指针是占用一块内存地址吗?还是和结点值各占一半呢?谢谢解答。 |
Beta Was this translation helpful? Give feedback.
-
请教k大!在看图Fig. 链表定义与存储方式和下面的代码时,感觉有些奇怪,这两个描述的是不是不是一个层面,在java中一切都是对象,那绿色的值的节点存的也是指针吧,那他们一个是内存层面一个是代码层面,不是一个层面的数据结构为什么能直接运用到java的对象中呢? |
Beta Was this translation helpful? Give feedback.
-
k神链表常用操作里,“输出结点在链表中的索引”,代码都是return -1, 是不是应该return index? |
Beta Was this translation helpful? Give feedback.
-
链表访问节点处的代码的for循环中,先令 head = head.next 再判断 head 是否为空,请问一下先判断head.next 是否为空,若为空则返回 null ;不为空再令 head = head.next 会不会好一点点。 |
Beta Was this translation helpful? Give feedback.
-
想问一下 链表的插入和删除确实是O(1) 但是查找既然是需要遍历。那应该是O(n)不是么? |
Beta Was this translation helpful? Give feedback.
-
刪除結點後,是不是把 P.next 設為 None比較好呢? |
Beta Was this translation helpful? Give feedback.
-
Fig. 在链表中插入与删除结点示意图中,插入操作示例 节点P的插入顺序错了,应该是 |
Beta Was this translation helpful? Give feedback.
-
想问一下github里,主函数里面为什么没有链表的定义,只有链表初始化?谢谢 |
Beta Was this translation helpful? Give feedback.
-
在链表插入操作中,请问一下可以写成这段代码吗:
|
Beta Was this translation helpful? Give feedback.
-
k神请教一个问题,python里的链表的定义比较好理解,定义了一个ListNode类,这个类有两个属性,一个是存储的值,另一个是指向下一个数据的地址。
但是c++的这个结构体的定义看着我有点迷糊。
|
Beta Was this translation helpful? Give feedback.
-
好清晰的说明,要是当时学数构有这边书就好了。(•̀ω•́ 」∠) |
Beta Was this translation helpful? Give feedback.
-
经典,膜拜的第n遍,每次阅读都有不一样的收获,对于我这种似懂非懂算法的小白来说。非常nice的开源项目~ |
Beta Was this translation helpful? Give feedback.
-
看这个之前自己也买了本书,最终发现还是作者讲得好啊。让我从原理明白了数据结构的魅力 |
Beta Was this translation helpful? Give feedback.
-
可以添加一些链表的常见应用 单向链表单向链表是一种常见的链表结构,每个节点包含一个指向下一个节点的指针。
环形链表首尾相接的链表结构,
双向链表双向链表是一种链表结构,每个节点都包含指向前一个节点和后一个节点的指针。
|
Beta Was this translation helpful? Give feedback.
-
大佬,请教一下,删除链表元素P的时候,N0指向N1就可以了,但是P还是指向的N1,那P最终是被GC回收了吗 |
Beta Was this translation helpful? Give feedback.
-
这里的 4.访问节点 与 5.查找节点 函数中,用到了head = head->next; |
Beta Was this translation helpful? Give feedback.
-
用vscode运行python代码时报错,我这里不能像head: ListNode | None或者list[int]这样声明变量,不知道是不是因为编译器的问题。 Traceback (most recent call last): |
Beta Was this translation helpful? Give feedback.
-
删除节点的C++代码中,请问为什么要再定义一个ListNode *n1 = P->next; n0->next = n1;,直接让n0->next = P->next;这样不是更简单吗,请问这个两种方法有什么区别 |
Beta Was this translation helpful? Give feedback.
-
链表中等号的含义是什么呢?n1->next=n2和n1=n2有什么区别吗? |
Beta Was this translation helpful? Give feedback.
-
不懂就问,为什么node要是指针类型的而不是直接定义为ListNode类型变量 |
Beta Was this translation helpful? Give feedback.
-
可视化运行怎么变成cpp的模式 |
Beta Was this translation helpful? Give feedback.
-
链表删除节点的操作的时间复杂度是O(1),但是查找节点是O(n),这里是不是得修改一下 |
Beta Was this translation helpful? Give feedback.
-
想问一下,删除节点中,C# 直接令n0.next=n1;为什么不可以呀,我看到评论区里c++代码可以直接n0->next = P->next;,这两种有什么不同呢? |
Beta Was this translation helpful? Give feedback.
-
Java 版的删除节点: ListNode P = n0.next;
ListNode n1 = P.next;
n0.next = n1; 和 n0.next = n0.next.next; 等价的 |
Beta Was this translation helpful? Give feedback.
-
您好,在运行访问节点时,自己有一个小问题,这样返回了需要第i个节点,但是会丢掉原来的链表吧。这是为了初学者考虑所以尽量精简,只实现核心么? |
Beta Was this translation helpful? Give feedback.
-
python有了列表还有必要要链表么? |
Beta Was this translation helpful? Give feedback.
-
我有一个问题希望作者或者其他同学帮我解答一下,文中提到的删除链表,可以看到例子中删除的是P节点,但是传入的却是n0节点,也就是说我并不知道P节点是谁,我实际上删除的是n0节点的下一个节点,那在实际运用中,我其实只知道P节点,我想删的也是P节点,但是我又不知道n0节点是谁,是不是只能通过遍历的方式一直判断当前节点的next是否为P,然后进行删除? |
Beta Was this translation helpful? Give feedback.
-
双向链表的Dart代码可能存在语法错误,因为前驱节点和后继节点可能为空,所以需要添加问号,否则无法通过空安全检查,修改如下: |
Beta Was this translation helpful? Give feedback.
-
我写了一个很长的代码但是里面的错误百出,希望大家能帮我指出 :(
感谢各位!!! |
Beta Was this translation helpful? Give feedback.
-
chapter_array_and_linkedlist/linked_list/
动画图解、一键运行的数据结构与算法教程
https://www.hello-algo.com/chapter_array_and_linkedlist/linked_list/
Beta Was this translation helpful? Give feedback.
All reactions