Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 7 - Đỗ Bích Diệp (tt)
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 7 - Đỗ Bích Diệp (tt) Chương VII: Tìm kiếm - IITìm kiếm – Phần IIz Nội dung – Các dạng cây đặc biệt sử dụng trong tìm kiếm z Cây tìm kiếm đa nhánh z Cây 2:3 z Cây nhị phân tìm kiếm tối ưu – Cấu trúc Bảng băm (Hash Table) – Tìm kiếm xâu mẫu (Pattern Matching) 1Cây 2-3 z Cây tìm kiếm đặc biệt – Một nút nhánh có 2 hoặc 3 con – Tất cả các đường đi từ nút gốc tới nút lá đều có độ dài bằng nhau – Cây có một nút là trường hợp đặc biệt của cây 2-3 z Cấu trúc của các nút trong cây 2-3 – Chỉ có nút lá chứa các giá trị (Các phần tử ), các nút lá chứa các giá trị tăng dần (xét từ trái sang phải) – Các nút nhánh chứa thông tin về đường đi hỗ trợ cho việc tìm kiếm các giá trịCây 2-3 z Quy cách của nút lá trong cây 2-3 TYPE VALUE z Quy cách của nút nhánh của cây TYPE LPTR LDATA MPTR MDATA RPTR 2Cây 2-3 – Ví dụ 6:11 1:3 7:11 1 3 6 7 11Tìm kiếm trên cây 2-3 Function SEARCH-2-3(T,X) 1. p:= T; 2. while TYPE(p) =1 do begin if X Cây 2-3 : Bổ sung z Bổ sung phải xét 4 trường hợp – Cây ban đầu rỗng – Cây ban đầu chỉ có 1 nút: Sau khi bổ sung, cây có thêm một nút nhánh 4: 9 4 4 9 Cây ban đầu rỗng, bổ sung 4 Cây ban đầu có 1 nút, bổ sung thêm 9Cây 2-3 : Bổ sung – Cây ban đầu có nhiều nút, nút mới được bổ sung thành con của một nút hiện đang có 2 con: So sánh giá trị của nút mới với 2 nút con để tìm ra vị trí đúng 4: 9 4: 7 4 9 4 7 9 Trước khi bổ sung Sau khi bổ sung 7 4Cây 2-3: Bổ sung – Nút mới được bổ sung làm con của một nút N đã có 3 con: Tạo một nút nhánh mới N2 – sẽ là nút anh em bên phải của N, lấy 2 con cực phải của N làm con của N2. Việc tách có thể sẽ diễn ra ở các mức cha của N nữa. 7:11 4: 7 4: 74 7 9 4 7 9 11 4: 7 9: 11 4 7 9 11Cây 2-3 : Bổ sung 6: 12 Trước khi bổ sung 3: 6 7: 11 13:163 6 7 11 12 13 16 6: 12 3: 6 7: 11 13:16 Ngay sau khi bổ sung 8 3 6 7 8 11 12 13 16 5Cây 2-3: Bổ sung 6: 12 3: 6 7: 8 11:12 13:16 3 6 7 8 11 12 13 16 Sau khi tách nút lần 1Cây 2-3: Bổ sung 8: 16 12: 6: 8 16 3: 6 7: 8 11:12 13:16 3 6 7 8 11 12 13 16 Sau khi tách nút lần 2 6Các dạng cây khác trong tìm kiếm K1 K2 K3 key ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Bài giảng Giải thuật Tìm kiến trên cây Tìm kiếm xâu mẫu Cấu trúc Bảng bămGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 318 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 150 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 124 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Bài giảng Cấu trúc dữ liệu và thuật toán: Chương 3 - Một số mô hình thuật toán
42 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 73 0 0 -
49 trang 72 0 0
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hoàng Mạnh Hà
67 trang 70 0 0 -
54 trang 70 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 67 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Ngô Công Thắng
8 trang 66 0 0 -
Bài giảng Kỹ thuật phân tích và thiết kế giải thuật
20 trang 61 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Lê Văn Vinh
67 trang 57 1 0 -
Giáo trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT - Chương 1
5 trang 51 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - ThS. Trịnh Quốc Sơn (ĐH Công nghệ Thông tin)
20 trang 50 0 0 -
Cấu trúc dữ liệu và Ngôn ngữ lập trình C
261 trang 45 0 0 -
Đề kiểm tra giữa học kì 1, môn : Cấu trúc dữ liệu và giải thuật
3 trang 42 1 0