Multi-level partition trees

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số kiểu dữ liệu trừu tượng ứng dụng trong hình học tính toán (Trang 59 - 62)

2.3 Biến thể củacác cấutrúc dữ liệu hình học

2.3.2 Multi-level partition trees

2.3.2.1 Phát biểu bài tốn

Partition treescócác cấu trúc dữ liệumạnh,sức mạnhcủa nólàcácđiểmnằmtrongnửa mặt phẳngtruy vấncó thểđượcchọn trong số lượng nhỏ các nhóm là cáctập con chính quicủacácnútđược chọnbởi thuật tốntruyvấn. Trongví dụtrênsử dụngpartition treesđếm phạm vi nửamặt phẳngchỉcần thơng tinvề cáctập con chính quiđược chọnlàlực lượng của chúng. Thông tin mà ta lưu trữ về tập con chính qui khơng chỉ là một số như lực lượng của nó màcịn lưu trữcác yếu tốcủatập con chính quitrongmột danh sách, hoặccây, haybất kỳ loạicấu trúc dữ liệu khác.Bằngcách này sẽ nhận đượccấu trúc dữ liệu nhiềumức, trong phần này đưa ra một ví dụ vềcấu trúc dữ liệunhiềumứcdựatrênpartition trees.Chotập hợp gồm đoạn thẳngtrongmặt phẳng và yêu cầu đếm sốđoạnthẳng cắtbởi đườngthẳng truy vấn .

2.3.2.2 Thuật toán và cấu trúc dữ liệu

Gọi và làđiểm đầu mút phải và trái củađoạnthẳng tương ứng. Đường thẳng cắt khi và chỉ khihoặclà điểm đầu mút của nằm các bênriêng biệt của , hoặclà có một điểm đầu mút nằm trên . Bằng cách nàocó

thể đếmsốđoạnthẳng với nằmtrên và nằmdưới .

Cácđoạnthẳng vớimột điểm đầu mút nằm trên vàcác đoạn thẳngvới nằmdưới và ở trên , vớicấu trúc dữ liệu tương tự. Chọn đườngthẳng dọc - bên tráiở dưới vàbênphảiở trên .

Ý tưởng về cấu trúc dữ liệu rất đơn giản. Trước tiên tìm tất cả các đoạn thẳng mà nằm ở trên . Trong phần trước ta đã sử dụng partition trees chọn các đoạn thẳng này trong một số tập con chính qui. Với mỗi tập con chính qui được chọn phải quan tâm đến số đoạn thẳng với ở dưới . Đây là truy vấn đếm phạm vi nửa mặt phẳng, có thể được trả lời nếu lưu mỗi tập con chính qui trong partition trees. Cấu trúc dữ liệu được định nghĩa như sau.

Với tập hợp gồm các đoạn thẳng, gọi là tập

hợp các điểm đầu mút phải của các đoạn thẳng trong và gọi

là tập hợp các điểm đầu mút trái của các đoạn thẳng trong .  Tập hợp được lưu trữ trong partition trees . Tập con chính qui

của nút trong kí hiệu là Tập hợp các đoạn thẳng tương ứng với các điểm đầu mút phải trong được kí hiệu là nghĩa là

 Với mỗi nút của cây mức thứ nhất , ta lưu trữ tập hợp

trong partition trees mức thứ hai cho đếm phạm vi nửa mặt phẳng. Partition trees này là cấu trúc liên kết của .

Với cấu trúc dữ liệu này có thể chọn các đoạn thẳng với ở trên và dưới với các tập con chính qui. Đếm số đoạn thẳng cần tính tổng lực lượng của các tập con được chọn. Gọi là cây con của có gốc tại .

Algorithm SELECTINTSEGMENTS( , )

Input. Đường thẳng truy vấn và partition trees hoặc cây con của nó.

Output. Tập hợp các nút chính qui cho tất cả đoạn thẳng của cây được cắt bởi .

1.

2. if bao gồm chỉ một lá then

3. if đoạn thẳng lưu trữ tại cắt then

4. else for mỗi con của gốc do

5. if then

6. SELECTINHALFPLANE( ) 7. else if then

8. SELECTINTSEGMENTS( ) 9. return ϒ

phải ở trên đường thẳng truy vấn và điểm đầu mút trái ở dưới đường thẳng truy vấn. Thật thú vị, với partition trees có thể được dùngđể tìm các đoạn thẳng với điểm đầu mút trái ở trên đường thẳng truy vấn và điểm đầu mút phải ở dưới đường thẳng truy vấn nhưng chỉ có thuật tốn truy vấn là thay đổi: thay đổigiữa “ ” và “ ”.

2.3.2.3 Phân tích độ phức tạp

Bổ đề2.14Chotập hợp gồm đoạn thẳngtrong mặt phẳng.Partition treeshai mức

cho truy vấnchọngiao đoạnthẳng trong sử dụnglưu trữ [5].

Thật vậy, gọi là lực lượngcủatập con chính qui trongpartition trees mứcthứ nhất. Lưu trữnútnàybao gồmpartition treescho vớilưu trữtuyến tính. Do đó,lưu trữ vớipartition treeshaimức trên đoạn thẳng thỏa mãn công thức truy hồi

màtính tổngtrêntất cả cáccon củagốc cây. Biếtrằng và

.Khi làhằng sốcho có lời giảivới .

Bổ đề2.15Chotập hợp gồm đoạnthẳng trong mặt phẳng.Với bất kỳ , partition treeshaimức cho vớiđường thẳng truy vấn , ta có thểchọn

núttừcâybởitính chấtmà tập concủa các đoạn thẳng từ cắt bởi làhợp phân biệtcủacáctập con chính quicủa các nút được chọn. Việc chọncác nút chi phí thời gian . Kết quảsố đoạnthẳng cắt nhaucó thểđượctínhtrongthời

gian [5].

Thật vậy, cho trước .Gọi làlực lượng củatập con chính qui .Có thểxây dựngcấu trúcliên kết củanút trongthời giantruy vấncủa là Kích thướcphân vùngđơn hình vớisố lượng giao nhau

nhiều nhất với .Gọi làthời giantruy

vấntrongcâyhaimứccủa tập hợp đoạn thẳng, vì vậy thỏa mãn cơng thức truy hồi

Vớisự lựa chọn thì cơng thức truy hồi có lời giải với .

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số kiểu dữ liệu trừu tượng ứng dụng trong hình học tính toán (Trang 59 - 62)

Tải bản đầy đủ (PDF)

(82 trang)