Xem mẫu

Chương 4: Các giải thuật hình học Computational Geometry PGS. TS. TRẦN CAO ĐỆ Đại Học Cần Thơ 1 2013 Dữ liệu nhiều chiều Các giải thuật hình học liên quan tới dữ liệu không gian đa chiều. – Một điểm trong mặt phẳng (x,y) – Một điểm trong không gian (x,y,z) Các ứng dụng máy học, xử lí ảnh cần xử lí dữ liệu hàng trăm, hàng ngàn chiều. Các bài toán thống kê, điều khiển cũng cần xử lí dữ liệu nhiều chiều Một số bài toán quan trọng – Tìm kiếm theo phạm vi (range searching query) – Tìm bao lồi (convex hull) 2 Cây tìm kiếm phạm vi Một điểm trong không gian d chiều được biểu diễn theo tọa độ bởi (x0,x1,…,xd-1). Tìm kiếm theo phạm vi là tìm kiếm các điểm trong một phạm vi nào đó. – Kết quả tìm kiếm là tất cả các điểm hình tròn ((xq,yq),r) Giải thuật tìm kiếm thường tổ chức dữ liệu theo cây cân bằng – gọi là cây TK phạm vi. – Ví dụ tìm các điểm gần với (xq,yq) trong khoảng cách r. 3 Tìm kiếm 1 chiều theo phạm vi Cho một tự điển (tập hợp các phần tử) có thứ tự findAllInRange(k1,k2): trả về các phần tử thỏa: – k1 ≤ x ≤ k2 Dùng cấu trúc cây TKNP để lưu trữ các phần tử Giải thuật tìm kiếm 1DTreeRangeSearch(k1,k2,v) – Nếu v là nút ngoài (V=NULL): dừng – Nếu v là nút trong Key(v)k2: tìm đệ qui trên cây con trái của v. 4 Giải thuật 1DTreeRangeSearch 1DTreeRangeSearch(k1,k2,v){ if v.isExternal(v) return ; if (k1 ≤ key(v) ≤ k2) { L= 1DTreeRangeSearch(k1,k2,T.leftChild(v)); R= 1DTreeRangeSearch(k1,k2,T.rightChild(v)); return L U {element(v)} U R; } else if (key(v) nguon tai.lieu . vn