cau truc du lieu danh sach lien ket

7 118 0
cau truc du lieu danh sach lien ket

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Cấu trúc liệu danh sách liên kết (Linked List) Danh sách liên kết (Linked List) ? Một Danh sách liên kết (Linked List) dãy cấu trúc liệu kết nối với thông qua liên kết (link) Hiểu cách đơn giản Danh sách liên kết cấu trúc liệu bao gồm nhóm nút (node) tạo thành chuỗi Mỗi nút gồm liệu nút tham chiếu đến nút chuỗi Danh sách liên kết cấu trúc liệu sử dụng phổ biến thứ hai sau mảng Dưới khái niệm liên quan tới Danh sách liên kết: • Link (liên kết): link Danh sách liên kết lưu giữ liệu gọi phần tử • Next: Mỗi liên kết Danh sách liên kết chứa link tới next link gọi Next • First: Danh sách liên kết bao gồm link kết nối tới first link gọi First Biểu diễn Danh sách liên kết (Linked List) Danh sách liên kết biểu diễn chuỗi nút (node) Mỗi nút trỏ tới nút Dưới số điểm cần nhớ Danh sách liên kết: • Danh sách liên kết chứa phần tử link gọi First • Mỗi link mang trường liệu trường link gọi Next • Mỗi link liên kết với link sử dụng link • Link cuối mang link null để đánh dấu điểm cuối danh sách http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Các loại Danh sách liên kết (Linked List) Dưới loại Danh sách liên kết (Linked List) đa dạng: • Danh sách liên kết đơn (Simple Linked List): duyệt phần tử theo chiều trước • Danh sách liên kết đơi (Doubly Linked List): phần tử duyệt theo chiều trước sau • Danh sách liên kết vòng (Circular Linked List): phần tử cuối chứa link phần tử next phần tử có link tới phần tử cuối prev Các hoạt động Danh sách liên kết Dưới số hoạt động thực danh sách liên kết: • Hoạt động chèn: thêm phần tử vào đầu danh sách liên kết • Hoạt động xóa (phần tử đầu): xóa phần tử đầu danh sách liên kết • Hiển thị: hiển thị tồn danh sách • Hoạt động tìm kiếm: tìm kiếm phần tử sử dụng khóa (key) cung cấp • Hoạt động xóa (bởi sử dụng khóa): xóa phần tử sử dụng khóa (key) cung cấp Hoạt động chèn Danh sách liên kết Việc thêm nút vào danh sách liên kết không hoạt động thêm đơn giản cấu trúc liệu khác (bởi có liệu có link) Chúng ta tìm hiểu thông qua sơ đồ Đầu tiên, tạo nút sử dụng cấu trúc tìm vị trí để chèn nút http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Giả sử cần chèn nút B vào nút A (nút trái) C (nút phải) Do đó: B.next trỏ tới C NewNode.next −> RightNode; Hình minh họa sau: Bây giờ, next nút bên trái trở tới nút LeftNode.next −> NewNode; http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Quá trình đặt nút vào hai nút Khi danh sách trơng sau: Các bước tương tự thực chèn nút vào đầu danh sách liên kết Trong đặt nút vào vị trí cuối danh sách, thìnút thứ hai tính từ nút cuối danh sách trỏ tới nút nút trỏ tới NULL Để tìm hiểu cách triển khai giải thuật ngôn ngữ C, mời bạn click chuột Danh sách liêt kết C Hoạt động xóa Danh sách liên kết Hoạt động xóa Danh sách liên kết phức tạp cấu trúc liệu khác Đầu tiên cần định vị nút cần xóa sử dụng giải thuật tìm kiếm Bây giờ, nút bên trái (prev) nút cần xóa nên trỏ tới nút (next) nút cần xóa http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     LeftNode.next −> TargetNode.next; Q trình xóa link trỏ tới nút cần xóa Bây xóa mà nút cần xóa trỏ tới TargetNode.next −> NULL; Nếu bạn cần sử dụng nút bị xóa bạn giữ chúng nhớ, khơng bạn xóa hồn tồn hẳn khỏi nhớ Để tìm hiểu cách triển khai giải thuật ngôn ngữ C, mời bạn click chuột Danh sách liêt kết C Hoạt động đảo ngược Danh sách liên kết Với hoạt động này, bạn cần phải cẩn thận Chúng ta cần làm cho nút đầu (head) trỏ tới nút cuối đảo ngược toàn danh sách liên kết http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Đầu tiên, duyệt tới phần cuối danh sách Nút trỏ tới NULL Bây điều cần làm làm cho nút cuối trỏ tới nút phía trước Chúng ta phải đảm bảo nút cuối không bị thất lạc, sử dụng số nút tạm (temp node – giống biến tạm trung gian để lưu giữ giá trị) Tiếp theo, làm cho nút bên trái trỏ tới nút trái chúng Sau đó, nút sau nút head trỏ tới NULL Chúng ta làm cho nút head trỏ tới nút sử dụng nút tạm http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/cau-­‐truc-­‐du-­‐lieu-­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Bây Danh sách liên kết bị đảo ngược Để tìm hiểu cách triển khai giải thuật ngôn ngữ C, mời bạn click chuột Danh sách liêt kết C   http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     ... http://vietjack.com /cau- ­ truc- ­ du- ­ lieu- ­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Đầu tiên, duyệt tới phần cuối danh. .. Dưới loại Danh sách liên kết (Linked List) đa dạng: • Danh sách liên kết đơn (Simple Linked List): duyệt phần tử theo chiều trước • Danh sách liên kết đơi (Doubly Linked List): phần tử duyệt theo...http://vietjack.com /cau- ­ truc- ­ du- ­ lieu- ­‐va-­‐giai-­‐thuat/index.jsp                                                                            Copyright  ©  vietjack.com     Các loại Danh sách liên

Ngày đăng: 02/12/2017, 13:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan