Trình trực quan hóa danh sách liên kết
Danh sách liên kết đơn tương tác — chèn đầu/cuối, tìm kiếm, xóa với hoạt ảnh duyệt con trỏ và các nút điều khiển từng bước. Chạy ngay trong trình duyệt.
Mã giả
Run an operation to see its steps.
Avg · Worst
Cách dùng
- 1 Nhập một số và nhấn Insert head hoặc Insert tail để thêm node.
- 2 Nhấn Search để duyệt danh sách tìm đến một giá trị, hoặc Delete để gỡ liên kết một node.
- 3 Dùng Random để chèn một giá trị ngẫu nhiên, hoặc Clear để làm rỗng danh sách.
- 4 Lùi lại và tiến tới từng bước, theo dõi các con trỏ từ head đến ∅ (null).
Vì sao dùng công cụ này
- Xem các node được liên kết bằng con trỏ next, kết thúc tại ∅ (null).
- Quan sát quá trình duyệt đi từ head từng node một — độ phức tạp O(n).
- So sánh chèn ở đầu O(1) với chèn ở cuối và tìm kiếm O(n).
- Chạy hoàn toàn trong trình duyệt của bạn. Không cần đăng ký, không tải lên.
Câu hỏi thường gặp
Danh sách liên kết là gì?
Danh sách liên kết là một cấu trúc tuyến tính trong đó mỗi node lưu một giá trị và một con trỏ (next) trỏ tới node tiếp theo. Node cuối cùng trỏ tới null (∅).
Độ phức tạp thời gian của các thao tác trên danh sách liên kết là gì?
Chèn hoặc xóa ở đầu là O(1); tìm kiếm, hoặc chèn/xóa ở vị trí khác, là O(n) vì bạn phải duyệt qua danh sách.
Danh sách liên kết khác mảng (array) như thế nào?
Mảng cho phép truy cập ngẫu nhiên O(1) nhưng chèn/xóa ở giữa tốn chi phí cao; danh sách liên kết cho phép nối ghép O(1) một khi đã có node đó, nhưng truy cập theo vị trí là O(n).
Danh sách liên kết đôi (doubly linked list) là gì?
Là danh sách liên kết mà mỗi node còn lưu thêm con trỏ tới node trước đó, cho phép duyệt ngược và xóa với độ phức tạp O(1) khi đã có tham chiếu tới node.
Trình trực quan hóa danh sách liên kết là gì?
Trình trực quan hóa danh sách liên kết mô phỏng hoạt ảnh của một danh sách liên kết đơn — các node được nối với nhau bằng con trỏ next, kết thúc tại null (∅). Công cụ minh họa việc chèn ở đầu/cuối, tìm kiếm dựa trên duyệt tuần tự và xóa node bằng cách gỡ liên kết.
Tính năng
Duyệt / chèn / xóa
Mô phỏng động việc cập nhật con trỏ khi các nút được thêm vào, loại bỏ hoặc truy cập.
Độ phức tạp
Truy cập / tìm kiếm: O(n). Chèn / xóa tại một nút đã biết: O(1). Không gian: O(n).
Riêng tư 100%
Chạy hoàn toàn trên trình duyệt của bạn — không có dữ liệu nào được tải lên.
Ví dụ
Input
list A → B → C, search C
Output
visit A → B → C (3 hops from head, O(n))
Trường hợp sử dụng
-
1
Hiểu về con trỏ
Xem cách các nút liên kết với nhau và cách việc chèn nút làm thay đổi các con trỏ.
-
2
Mảng so với danh sách liên kết
So sánh độ phức tạp truy cập O(n) ở đây với việc lập chỉ mục O(1) của mảng.
-
3
Xây dựng ngăn xếp & hàng đợi
Tìm hiểu cấu trúc nút đứng sau các ngăn xếp và hàng đợi dựa trên danh sách liên kết.
Công cụ trực quan hóa danh sách liên kết của Zerethon mô phỏng động một danh sách liên kết đơn ngay trên trình duyệt, thể hiện quá trình duyệt, chèn và xóa dưới dạng thay đổi con trỏ giữa các nút. Truy cập và tìm kiếm có độ phức tạp O(n) (bạn phải duyệt từ đầu danh sách), trong khi chèn hoặc xóa tại một nút đã biết có độ phức tạp O(1). Độ phức tạp không gian là O(n).
- Danh mục
- Thuật toán
- Giá
- Miễn phí
- Quyền riêng tư
- Chạy trên trình duyệt
- Đăng ký
- Không cần
Tài liệu tham khảo
- MIT OCW 6.006 — Nhập môn Thuật toán (CLRS) — MIT OpenCourseWare
- VisuAlgo — Danh sách liên kết / Ngăn xếp / Hàng đợi — VisuAlgo (NUS)
- Danh sách liên kết — Wikipedia
Quyền riêng tư
Dữ liệu của bạn không bao giờ rời khỏi trình duyệt trừ khi được nêu rõ. Trình trực quan hóa danh sách liên kết chạy hoàn toàn phía client — không tải lên máy chủ, không ghi log, không theo dõi dữ liệu bạn nhập.
Mới làm quen? Đọc giải thích từng bước kèm phân tích Big-O: Tìm hiểu Data Structures →
Xây dựng, chia sẻ và phát triển trên Zerethon Social
Đăng ký miễn phí. Kiếm điểm, sưu tầm thành tựu và kết nối với nhà sáng tạo khắp thế giới.