slike bài giảng cơ sở dữ liệu đa phương tiện - nguyễn thị oanh chương 3 các cấu trúc dữ liệu đa chiều - Pdf 23

Nguyễn Thị Oanh
Bộ môn HTTT – Viện CNTT & TT
[email protected]
Chương 3: Các cấu trúc dữ liệu
đa chiều
1
Plan
2
 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
1. k-D trees
3
k-D trees
4
 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 có k phần tử
 Không lưu DL vùng
k-D trees
5
 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, …

YVALNYVALMLLINKNM
:.
& :.


2-D trees
9
 Ví dụ:
 Thứ tự insert:
INFO
XVAL
YVAL
Banja Luka
19
45
Derventa
40
50
Toslic
38
38
Tuzla
54
40
Sinji
4
4
Insertion/ Search in 2-D trees
10
 Nút cần thêm: P(info, x, y)

– Nếu nút N ở mức chẵn :
– Nếu nút N ở mức lẻ:
XVALRXVALPRLINKNP
XVALRXVALMLLINKNM
:.
& :.


YVALRYVALPRLINKNP
YVALRYVALMLLINKNM
:.
& :.


Tìm nút thay thế cho nút bị xóa:
13
 Nếu N: mức chẵn
– T
r
: không rỗng  nút R trong cây con T
r
có giá trị XVAL
nhỏ nhất là nút thay thế
– T
r
: rỗng  tìm nút thay thế bên cây T
l
(How ?)
 Tìm nút R’ bên cây trái T
l


2-D trees  k-D tree
15
 p(x
1
, x
2
, , x
k
)
 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
INFO
VAL[1]
VAL[2]

VAL[k]
LLINK
RLINK
k-D trees: Lưu ý
16
 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)

Thêm DL vào cây tứ phân
21
Xóa DL trong cây tứ phân
22
 Nút lá: đơn giản
– Thiết lập lại con trỏ ở nút cha = NULL và giải phóng nút
cần xóa
 Nút trong: phức tạp
– Cần tìm nút thay thế  ?????
– VD: Xóa nút gốc trong ví dụ trên ?
Tìm nút thay thế khi xóa nút trong
23
 Nút xóa : N
 Nút thay thế R đảm bảo:
 Ex. N: « Banja Luka »  R: « Toslic »
 Không phải lúc nào cũng tìm được nút thay thế
SERRSENR
NERRNENR
SWRRSWNR
NWRRNWNR
.4.4
.3.3
.2.2
.1.1




Xóa DL trong cây tứ phân ( )
24


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status