Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 3: Các cấu trúc dữ liệu đa chiều - Nguyễn Thị Oanh

Chương 3: Các cấu trúc dữ liệu  
đa chiều  
Nguyễn Thị Oanh  
Bộ môn HTTT – Viện CNTT & TT  
1
Plan  
Lưu DL dạng điểm  
k-D trees  
Point Quadtrees  
MX-Quadtrees  
Lưu DL dạng vùng (chữ nhật):  
R-trees  
2
1. k-D trees  
3
k-D trees  
Dành lưu trữ dữ liệu điểm đa chiều (k-dimension)  
2-tree: lưu DL điểm 2 chiều  
3-tree: lưu DL điểm 3 chiều  
…  
Mỗi điểm là vector k phần tử  
Không lưu DL vùng  
4
k-D trees  
Là mở rộng của cây nhị phân  
Ở mỗi mức, các bản ghi sẽ được chia theo giá trị của  
1 chiều nhất định.  
Mức 0: giá trị chiều 0  
Mức 1: giá chị chiều 1, …  
Mức k-1: giá trị chiều k-1  
5
Mức k: giá trị chiều 0, …  
VD: 2-D trees  
6
VD: 3-D trees  
x
y
z
x
Cây được xây dựng phụ thuộc vào thứ tự các điểm được  
đưa vào  
7
2-D trees  
Cấu trúc 1 nút:  
INFO  
XVAL YVAL  
RLINK  
LLINK  
Định nghĩa: 2-d tree là cây nhị phân thỏa mãn:  
Nếu nút N ở mức chẵn :  
M N.LLINK : M.XVAL N.XVAL&  
PN.RLINK : P.XVAL N.XVAL  
Nếu nút N ở mức lẻ:  
M N.LLINK : M.YVAL N.YVAL&  
PN.RLINK : P.YVAL N.YVAL  
8
2-D trees  
Ví dụ:  
Thứ tự insert:  
INFO  
XVAL YVAL  
Banja Luka  
Derventa  
Toslic  
19  
40  
38  
54  
4
45  
50  
38  
40  
4
Tuzla  
Sinji  
9
Insertion/ Search in 2-D trees  
Nút cần thêm: P(info, x, y)  
Lặp:  
Nút đang duyệt: N  
Nếu N.XVAL = x N.YVAL = y thì ghi đè N và kết thúc  
Nếu N mức chẵn (0, 2, 4, ):  
Nếu x < N.XVAL thì duyệt cây bên trái,  
nếu không duyệt cây con bên phải  
Nếu N mức lẻ (1, 3, 5, ):  
Nếu y < N.YVAL thì duyệt cây bên trái,  
nếu không duyệt cây con bên phải  
10  
Deletion in 2-D trees  
T: 2-D tree  
Nút cần xóa (XVAL, YVAL) = (x, y)  
Thuật toán:  
Tìm N: N.XVAL = x & N.YVAL = y  
Nếu N nút lá: đặt LLINK or RLINK của cha N về NULL  
và giải phóng N. Kết thúc  
Nếu N nút trong:  
Tìm nút thay thế (R) trong 2 cây con (Tf T)  
r
Thay các giá trị không phải con trỏ bằng giá trị của R  
Lặp để xóa R  
11  
Tìm nút thay thế cho nút bị xóa ?  
Nếu xóa N tìm nút thay thế R: mọi nút thuộc cây  
con trái (N.LLINK) / phải của N cũng thuộc cây con trái  
(R.LLINK) / phải tương ứng của R:  
Nếu nút N ở mức chẵn :  
M N.LLINK : M.XVAL R.XVAL&  
PN.RLINK : P.XVAL R.XVAL  
Nếu nút N ở mức lẻ:  
M N.LLINK : M.YVAL R.YVAL&  
PN.RLINK : P.YVAL R.YVAL  
12  
Tìm nút thay thế cho nút bị xóa:  
Nếu N: mức chẵn  
Tr : không rỗng nút R trong cây con Tr có giá trị XVAL  
nhỏ nhất là nút thay thế  
Tr : rỗng tìm nút thay thế bên cây Tl (How ?)  
Tìm nút R’ bên cây trái Tl XVAL nhỏ nhất  
N.RLINK = N.LLINK, N.LLINK = NULL  
Nút cần xóa  
N
Tương tự nếu N mức lẻ  
Cây con  
Cây con  
T
r
Tl  
13  
Truy vấn phạm vi trên 2-D trees  
Truy vấn phạm vi (range query):  
1 điểm (xc, yc) + 1 khoảng cách r  
Tìm các điểm (x,y) trên cây 2-D sao cho khoảng cách  
từ đó đến (xc, yc) <= r  
L1:  
xc r x xc r yc r y yc r  
L2 (Euclide)  
…  
14  
2-D trees k-D tree  
p(x1, x2, .., xk)  
INFO VAL[1] VAL[2] VAL[k]  
LLINK  
RLINK  
N: 1 nút thuộc k-D tree nếu  
Mọi nút M thuộc cây bên trái của N: M.VAL[i] <N.VAL[i]  
Mọi nút P thuộc cây bên phải của N: P.VAL[i] >=N.VAL[i]  
i = level(N) mod k  
15  
k-D trees: Lưu ý  
Cây không cân bằng  
Tùy thuộc vào thứ tự dữ liệu được insert vào  
Một số biến thể:  
k-D-B-tree: k-D tree + cây cân bằng (B-tree)  
LSD-tree (Local Split Decision tree): đánh chỉ mục 2 mức:  
main memory + disk  
VA-file (Vector Approximation file)  
16  
2. Cây tứ phân dạng điểm  
(Point Quadtrees)  
17  
Cây tứ phân dạng điểm  
Mỗi điểm trong cây sẽ chia 1 vùng thành 4 vùng con  
theo cả 2 chiều ngang và dọc (N.XVAL & N.YVAL):  
NW (Northwest)  
SW (Southwest)  
NE (Northeast)  
SE (Southeast)  
NW  
SW  
NE  
SE  
YVAL  
XVAL  
18  
Cây tứ phân dạng điểm  
Mỗi nút trong cây tứ phân ngầm biểu diễn 1 vùng:  
19  
Thêm DL vào cây tứ phân  
Banja Luka  
(19, 45)  
Derventa (40, 50)  
Toslic  
Toslic (38, 38)  
Tuzla (54, 40)  
Sinji (4,4)  
Tuzla  
20  
Tải về để xem bản đầy đủ
pdf 59 trang baolam 26/04/2022 7700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 3: Các cấu trúc dữ liệu đa chiều - Nguyễn Thị Oanh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_da_phuong_tien_chuong_3_cac_cau_truc.pdf