Boyer–Moore

28 596 1
Boyer–Moore

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Boyer–Moore

26/04/20101Chương VII: Tìm kiếm - IITìm kiếm – Phần II Nội dung – Các dạng cây đặc biệt sử dụng trong tìm kiếm Cây tìm kiếm đa nhánh 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) 26/04/20102Các dạng cây khác trong tìm kiếm Cây tìm kiếm đa nhánh(Multi-way Tree) – Là một cây có bậc bất kỳ nhưng có tính chất thứ tự tương tự như cây nhị phân – Mỗi nút trong cây có chứa m-1 khóa và m con trỏ trỏ đến các cây con – Các giá trị xuất hiện trong một cây con được trỏ bởi con trỏ p Nhỏ hơn giá trị khóa bên phải của p Lớn hơn hoặc bằng gía trị khóa bên trái pCác dạng cây khác trong tìm kiếmK1K2K3keys < K1K1<= keys < K2K2<= keys < K3K3<= keysMột cây dạng cây tìm kiếm đa nhánh 26/04/20103Các dạng cây khác trong tìm kiếm– Ví dụ cây tìm kiếm đa nhánh50 100 15035 45 85 95 125 135 17560 70 90 110 12075Các dạng cây khác trong tìm kiếm Cây B – Cây tìm kiếm đa nhánh cân bằng– Một cây tìm kiếm đa nhánh cân bằng bậc m có các đặc trưng sau Gốc của cây là một nút lá hoặc có ít nhất 2 con Tất cả các nút nhánh của cây (trừ nút gốc) có từ m/2 đến m con  Các nút lá có từ m/2 -1 đến m-1 giá trị khóa trong đó.  Đường đi từ nút gốc tới một nút lá bất kỳ đều có độ dài như nhau 26/04/20104Các dạng cây khác trong tìm kiếm4216 20 58 76 81 9311 1417 18 19 2421 22 2345 52 63 65 74 78 79 85 87 94 97B- Tree với m = 5Cây nhị phân tìm kiếm tối ưu– Cây nhị phân tìm kiếm tối ưu: Là cây nhị phân tìm kiếm có tính đến trường hợp các khóa khác nhau trong một tập có xác suất xuất hiện khác nhau Khóa xuất hiện nhiều thì tìm nhanh hơn  đường đi từ đỉnh đến vị trí của khóa có độ dài ngắn hơn Khái niệm: Giá trị của cây T niiihpTC1*)( 26/04/20105Cây nhị phân tìm kiếm tối ưu Ví dụ: Cây nhị phân tìm kiếm ứng với 3 khóa k1< k2< k3 với xác suất p1= 1/7; p2= 2/7, p3= 4/7k3k2k1C = 1 * 1/7 + 2*2/7 + 3*4/7 = 17/7k3k2k1C= 1*2/7 + 2 * 1/7 + 2*4/7 =12/7Cây nhị phân tìm kiếm tối ưu Cây nhị phân tìm kiếm tối ưu: Là cây nhị phân tìm kiếm ứng với dãy khóa k1< k2 < ….< kn có xác suất xuất hiện lần lượt là p1, p2, …., pnmà cây đó có giá trị nhỏ nhất Ví dụ: Cây nhị phân tìm kiếm tối ưu ứng với 3 khóa k1< k2< k3 với xác suất p1= 1/7; p2= 2/7, p3= 4/7k2k1k3 26/04/20106Cây nhị phân tìm kiếm tối ưu– Bài toán xây dựng cây tối ưu Đầu vào: Dãy khóa k1< k2 < ….< kn có xác suất xuất hiện lần lượt là p1, p2, …., pn Đầu ra: Xác định cây nhị phân tìm kiếm tối ưu xác lập được trên n nút tương ứng với n khóa đã choCây nhị phân tìm kiếm tối ưu Nhận xét– Cây T là cây nhị phân tìm kiếm tối ưu gồm n khóa , kr là gốc của cây Cây T1,r-1gồm r-1 khóa đầu tiên, cây Tr+1,ngồm n-r khóa cuối cùng đều phải là cây nhị phân tìm kiếm tối ưu Muốn dựng được T, cần phải dựng từ hai cây con của nó 26/04/20107Cây nhị phân tìm kiếm tối ưu Tính giá trị của một cây Ti,jdựa vào giá trị các cây con Ti,j là cây tạo dựng được từ các khóa ki< ki+1< … < kj  r trong công thức cho ta xác định được khóa nào là gốc của cây jikkjijrrijijippjriCCpC,,11,,,)()]min[(Cây nhị phân tìm kiếm tối ưu– Xác định cây tối ưu với 4 nút, cần phải thực hiện tính toán các giá trị theo sơ đồ sau C(1,4)C(1,3) C(2,4)C(1,2) C(2,3) C(3,4) 26/04/20108Cây nhị phân tìm kiếm tối ưu Ví dụ: Dãy bao gồm 5 khóa, với xác suất như sauCây nhị phân tìm kiếm tối ưu Các giá trị pi,j( i<= j) được xác định và thể hiện trong ma trận sauP[i,j]=.24 .46 .69 .99 10 .22 .45 .75 .760 0 .23 .53 .540 0 0 .3 .310 0 0 0 .01 26/04/20109Cây nhị phân tìm kiếm tối ưu Kết quả các giá trị của các cây tối ưu C[i,j]=.24 .68 1.16 1.99 20 .22 .67 1.27 1.30 0 .23 .76 .780 0 0 .3 .320 0 0 0 .01Cây nhị phân tìm kiếm tối ưuC[i,j]=.24 .680 .22 .670 0 .230 0 0 .3 .320 0 0 0 .01C[1,2]=P[1,2]+minr=1, C[2,2] .22r=2, C[1,1]  .24r=1C[2,3]=P[2,3]+minr=2, C[3,3] .23r=3, C[2,2]  .22r=3……P[i,j]=.24 .46 .69 .99 10 .22 .45 .75 .760 0 .23 .53 .540 0 0 .3 .310 0 0 0 .01C[4,5]=P[4,5]+minr=4, C[5,5] .01r=5, C[4,4]  .3r=4123245 26/04/201010Cây nhị phân tìm kiếm tối ưuC[i,j]=.24 .68 1.160 .22 .67 1.270 0 .23 .760 0 0 .3 .320 0 0 0 .01C[1,3]=P[1,3]+minr=1, C[2,3] .67r=2, C[1,1]+C[3,3]  .47r=3, C[1,2] .68r=2P[i,j]=.24 .46 .69 .99 10 .22 .45 .75 .760 0 .23 .53 .540 0 0 .3 .310 0 0 0 .01C[2,4]=P[2,4]+minr=2, C[3,4] .76r=3, C[2,2]+C[4,4]  .52r=4, C[2,3] .67r=3213324Cây nhị phân tìm kiếm tối ưuC[1,5]=P[1,5]+minr=1, C[2,5] 1.3r=2, C[1,1]+C[3,5]  1.02r=3, C[1,2]+C[4,5] 1r=4, C[1,3]+C[5,5]  1.17r=5, C[1,4] 1.99r=331,24,5Cây kết quả 123doc.vn

Ngày đăng: 05/11/2012, 11:58

Hình ảnh liên quan

– Cấu trúc Bảng băm (Hash Table) - Boyer–Moore

u.

trúc Bảng băm (Hash Table) Xem tại trang 1 của tài liệu.
Tìm kiếm dựa trên bảng băm - Boyer–Moore

m.

kiếm dựa trên bảng băm Xem tại trang 11 của tài liệu.
Tìm kiếm dựa trên bảng băm - Boyer–Moore

m.

kiếm dựa trên bảng băm Xem tại trang 12 của tài liệu.
 Phương pháp móc xích: Mỗi phần tử trong bảng băm là một danh sách móc nối chứa các phần tử - Boyer–Moore

h.

ương pháp móc xích: Mỗi phần tử trong bảng băm là một danh sách móc nối chứa các phần tử Xem tại trang 15 của tài liệu.
Tìm kiếm xâu mẫu - Boyer–Moore

m.

kiếm xâu mẫu Xem tại trang 18 của tài liệu.
 Một dãy ký tự lấy từ một bảng chữ cái - Boyer–Moore

t.

dãy ký tự lấy từ một bảng chữ cái Xem tại trang 18 của tài liệu.
 Tiền xử lý mẫu P và bảng chữ cá iA để xác định hàm last là hàm ánh xạ từ văn bản A sang một tập các số nguyên - Boyer–Moore

i.

ền xử lý mẫu P và bảng chữ cá iA để xác định hàm last là hàm ánh xạ từ văn bản A sang một tập các số nguyên Xem tại trang 22 của tài liệu.

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan