1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER

80 858 1

Đ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

Thông tin cơ bản

Tiêu đề Đồ án tốt nghiệp nghiên cứu bài toán so khớp tiền tố dài nhất áp dụng trong router
Người hướng dẫn TS. Nguyễn Văn A
Trường học Đại học Bách khoa Hà Nội
Chuyên ngành Mạng máy tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 80
Dung lượng 2,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để làm được điều đó nó phải tìm được đường đi tốt nhất trong mạngdựa trên các thông tin đã có về mạng trên bảng định tuyến.. chương trình chạy trên Router sẽ xây dựng bảng chỉ đường thôn

Trang 1

LỜI NÓI ĐẦU

Việc định tuyến các gói tin thường tạo ra các điểm thắt nút củamạng, đặc biệt khi nhu cầu cập nhật các luật trong bảng định tuyến cao Do

đó đã có rất nhiều nghiên cứu nhằm tìm ra các giải pháp, thuật toán tốt nhấtcho việc định tuyến nhằm giảm thắt nút của mạng Các giải pháp dựa trênbảng tiền tố tĩnh đã có nhiều kết quả tốt khi áp dụng đối với địa chỉ IPngắn Tuy nhiên, khi áp dụng trên địa chỉ IP dài, các giải pháp này thôngthường phải xây dựng lại toàn bộ bảng định tuyến nên thời gian cập nhậtchậm do vậy xảy ra trường hợp định tuyến sai gói tin Thời gian gần đây cónhiều tác giả đã đưa ra các giải pháp, thuật toán thực hiện trên bảng địnhtuyến động - bảng định tuyến cho phép chèn/xóa đồng thời với việc địnhtuyến các gói tin

Trong nội dung đồ án tôi nghiên cứu 02 phương pháp định tuyến trênbảng IP động: phương pháp khớp tiền tố dài nhất, phương pháp sử dụng độ

ưu tiên cao nhất của các luật

Nội dung nghiên cứu bao gồm:

- Nguyên tắc hoạt động của Router

- Định tuyến IP theo phương pháp khớp tiền tố dài nhất

- Định tuyến IP theo độ ưu tiên

- Cài đặt minh họa

Trong quá trình thực hiện đồ án, mặc dù có rất nhiều cố gắng trongviệc nghiên cứu, sưu tầm tài liệu và được sự giúp đỡ nhiệt tình của giáoviên hướng dẫn, nhưng do điều kiện thời gian có hạn, trình độ kiến thứccòn nhiều hạn chế nên tôi không thể tránh được những thiếu sót Tôi rấtmong nhận được sự đóng góp ý kiến của các thầy cô giáo và những ngườiquan tâm

Trang 2

Tôi xin chân thành cảm ơn thầy giáo TS cùng các thầy cô trong Bộ môn Công nghệ phần mềm, và Khoa CNTT đã tận tình hướng dẫn, tạo

mọi điều kiện giúp đỡ tôi thực hiện đồ án này

Trang 3

Chương 1 TỔNG QUAN VỀ ĐỊNH TUYẾN

Định tuyến là yếu tố cốt yếu của tất cả các mạng truyền thông Mộtthiết bị định tuyến trích ra đích từ phần đầu của một gói tin nó nhận được,chọn đường đi tốt nhất tới đích đó và chuyển tiếp các gói dữ liệu tới thiết bịtiếp dọc theo đường đi tốt nhất này

Trong phạm vi chương này, tôi xin trình bày một số nội dung cơ bản

về định tuyến trên Internet

1.1 Thiết bị định tuyến - Router

Router là một thiết bị hoạt động trên tầng mạng, nó có thể tìm đượcđường đi tốt nhất cho các gói tin qua nhiều kết nối để đi từ trạm gửi thuộcmạng đầu đến trạm nhận thuộc mạng cuối Router có thể được sử dụngtrong việc nối nhiều mạng với nhau và cho phép các gói tin đi theo nhiềuđường khác nhau tới đích

Router có địa chỉ riêng và chỉ tiếp nhận, xử lý các gói tin gửi đến nó

mà thôi Khi một trạm muốn gửi gói tin qua Router thì trạm đó phải gửi góitin tới địa chỉ trực tiếp của Router thì khi gói tin đến Router, Router mới xử

lý và gửi tiếp

Khi xử lý một gói tin, Router phải tìm được đường đi của gói tin quamạng Để làm được điều đó nó phải tìm được đường đi tốt nhất trong mạngdựa trên các thông tin đã có về mạng trên bảng định tuyến

Để ngăn chặn việc mất mát số liệu, Router còn phải nhận biết đườngnào có thể truyền và ngừng truyền khi đường bị tắc bằng cách cài đặt cácphương thức tránh tắc nghẽn

Các phương thức hoạt động của Router đảm bảo cho nó có thể nốiđược với các Router khác, qua đó chia sẻ thông tin về mạng hiện có Các

Trang 4

chương trình chạy trên Router sẽ xây dựng bảng chỉ đường thông qua việctrao đổi các thông tin với các Router khác.

Trong phương thức vector khoảng cách, mỗi Router luôn truyền đicác thông tin về bảng định tuyến của mình trên mạng, thông qua đó cácRouter khác sẽ cập nhật lên bảng chỉ đường của mình

Trong phương thức trạng thái tĩnh, các Router chỉ truyền các thôngbáo khi phát hiện có sự thay đổi trong mạng và chỉ khi đó các Router tự cậpnhật lại bảng định tuyến, thông tin truyền đi khi đó thường là thông tin vềđường truyền

1.2 Định tuyến trên Internet

1.2.1 Khái niệm về định tuyến

Định tuyến là tiến trình học tất cả các hướng đi trong một mạng vàchuyển tiếp các gói tin trên các hướng đi này Một cách cụ thể, định tuyến

là quá trình định hướng gói tin về phía địa chỉ đích, hay nói cách khác làxác định đường đi từ mạng này đến mạng khác Router sẽ quyết định

đường đi của gói tin đến đúng địa chỉ đích dựa vào bảng định tuyến chứa

trong bộ nhớ Bảng định tuyến này được khởi tạo giá trị ban đầu, các đầuvào có thể tạo bằng tay hoặc tự động

Có thể phân chia thành 3 kiểu định tuyến

Trang 5

các Router giữ chậm gói tin đó và định hướng đến địa chỉ đích cuối cùng.Các Router trao đổi thông tin định tuyến với mỗi Router khác, và sử dụngthông tin thu được để tính toán đường đi cho tất cả các địa chỉ đích có thểđến được Mỗi gói tin được xử lý ngay và định hướng tới Router tiếp theodựa trên địa chỉ đích của nó.

1.2.2 Thuật toán định tuyến

Một mạng chuyển mạch gói bao gồm các nút mạng (các Router vàswitch) được kết nối với nhau bởi các đường truyền thông có cấu trúcgiống một mạng lưới Gói tin được truyền từ một nút mạng tới một nútmạng khác có rất nhiều đường khác nhau Tuy nhiên đường tốt nhất chỉ cómột và việc tìm được đường này phụ thuộc vào hàm mục tiêu mà ngườiđiều hành mạng cố gắng tối ưu Một thuật toán định tuyến phải biết toàn bộtrạng thái về mạng khi mạng đang hoạt động

Các tiêu chí chính để đánh giá một thuật toán định tuyến tốt trênRouter cũng phụ thuộc vào hàm mục tiêu mà con người cố gắng tối ưu.Tuy nhiên, nói chung một thuật toán định tuyến thường hướng tới một hoặcnhiều hơn các mục đích sau:

1 Phân phát nhanh và chính xác các gói tin

2 Khả năng thích nghi với những thay đổi cấu hình mạng là kết quả từ một nút hoặc một đường kết nối bị đứt

3 Thích nghi với việc thay đổi địa chỉ nguồn – đích tải lưu lượng

4 Khả năng gửi các gói tin ra khỏi các đường liên kết bị tắc tạm thời

5 Khả năng kiểm tra sự kết nối của mạng

6 Chi phí thấp

Trang 6

1.3 Bảng định tuyến

Router chuyển tiếp các gói tin dựa trên địa chỉ IP đích trong phầnHeader của gói tin Nó so sánh địa chỉ đích với bảng định tuyến để tìm ramột lối khớp, lối này sẽ cho Router biết gói tin sẽ được chuyển đi đâu tiếp.Nếu Router không khớp một lối nào trong bảng định tuyến và không cóđường mặc định nào thì nó sẽ hủy gói tin Vì vậy, cần phải có một bảngđịnh tuyến đầy đủ và chính xác

Một nút mạng hay một Router phải xem xét bảng định tuyến củamình trước khi chuyển gói tin đến địa chỉ ở xa Trong bảng, mỗi địa chỉđích được gán tương ứng với một địa chỉ Router cần đến ở chặng tiếp theo

Rule Name: tên của quy tắc

Prefix Name: tên tiền tố

Prefix: tiền tố được đưa ra bởi CIDR1

Next Hop: bước truyền tiếp theo

Ranges Start: giá trị bắt đầu của đoạn, khi coi một tiền tố là một đoạn

Trang 7

Ranges Finish: giá trị kết thúc của đoạn

Priority: trường ưu tiên, là giá trị để đánh giá độ ưu tiên của các nhóm địa chỉ Có nhiều cách để đánh giá độ ưu tiên cho các nhóm địa chỉ ví dụ như dựa vào băng thông của mạng, dựa vào khoảng cách các vùng, dựa vào chiều dài tiền tố…

Rule

Name

Prefix Name Prefix Next Hop

Ranges Start

Ranges Finish Priority

Bảng 1.1 Một bảng định tuyến với 5 quy tắc (W = 5)

Ta sử dụng W là ký hiệu chiều dài lớn nhất có thể của một tiền tố.Trong IPv4, W = 32 và trong IPv6, W = 128 Trong bảng 1.1, với W = 5,

tiền tố P1 khớp với tất cả các địa chỉ đích, được gọi là default prefix Tiền

tố P3 khớp với các địa chỉ từ 16 đến 19 Nếu một địa chỉ tiền tố của mộtquy tắc khớp với địa chỉ đích của các gói tin đến, Next Hop của quy tắc này

sẽ được sử dụng để định hướng gói tin

Khi một địa chỉ đích đến khớp với nhiều quy tắc trong bảng địnhtuyến thì việc chọn một Next Hop nào đó phụ thuộc vào phương pháp khớptiền tố Có ba biện pháp so khớp thông dụng khác nhau:

Biện pháp khớp tiền tố đầu tiên, bảng quy tắc giả sử là một danh

sách tuyến tính của các luật với chỉ số từ 1 đến n, cho một bảng có n quy

Trang 8

tắc Quy tắc đầu tiên khớp với gói tin đến được sử dụng để định tuyến góitin Ví dụ khi địa chỉ đích đến là 19 thì Next Hop là N1, vì tiền tố * là tiền

tố đầu tiên khớp với địa chỉ 19 Nhận thấy quy tắc R1 khớp với tất cả cácđịa chỉ đích Tuy nhiên khi định tuyến tất cả các gói tin theo quy tắc R1 thìkết quả việc định tuyến khó thể nói sẽ xảy ra điều gì Do vậy đánh thứ tựcho các quy tắc phải thay đổi để các quy tắc khác có thể được sử dụng, tiền

tố mặc định nên đặt ở cuối bảng quy tắc

Trong khớp tiền tố có độ ưu tiên cao nhất, mỗi quy tắc được gán một

độ ưu tiên, và một quy tắc với độ ưu tiên cao nhất được chọn từ các quy tắckhớp với gói tin đến (giả sử rằng các độ ưu tiên của các tiền tố khác nhau).Biện pháp khớp đầu tiên là biện pháp đặc biệt của khớp có độ ưu tiên caonhất

Khớp đặc trưng nhất, trong tất cả các tiền tố cùng khớp với địa chỉ

đích thì tiền tố nào đặc trưng nhất sẽ được chọn để định tuyến gói tin Tiền

tố 110* đặc trưng hơn tiền tố 11* Khi các tiền tố cùng khớp với một địa

chỉ đích d thì tiền tố đặc trưng nhất là tiền tố dài nhất2 nên biện pháp khớp

đặc trưng nhất còn gọi là khớp tiền tố dài nhất.

Trong trường hợp bảng 1.1, các quy tắc P1, P3, P4 đều khớp với địachỉ 19 Với biện pháp này, quy tắc P4 được chọn

1.3.1 Bảng định tuyến tĩnh

Là cách mà các quy tắc được đưa vào bảng định tuyến bằng tay.Trong trường hợp này, gói tin vẫn được gửi đến đích mà không căn cứ vàotrạng thái của mạng Đích có hoạt động hay không, các đường tĩnh vẫn giữnguyên trong bảng đầu ra, lưu lượng vẫn được gửi tới đích đã được xácđịnh trước

2 Độ dài của một tiền tố là số bit trong tiền tố đó (không sử dụng đến kí tự * khi xác định độ dài) Với bảng dữ liệu trên, độ dài của P1 là 0 và của P2 là 4.

Trang 9

Đặc điểm của bảng Router tĩnh:

1 Thời gian xử lý một gói tin đến: là thời gian cần thiết để tìm trên bảng

một quy tắc để sử dụng Chúng ta thường gọi đây là phép tìm kiếm

2 Thời gian tiền xử lý: là thời gian tạo cấu trúc dữ liệu cho bảng quy tắc.

3 Yêu cầu về bộ nhớ: dung lượng bộ nhớ cần thiết để cấu trúc lại bảng quy

tắc

Đối với bảng tĩnh để thực hiện các thao tác cập nhật, người ta sửdụng 2 bảng: bảng làm việc (working) và bảng phụ (shadow) Việc tìmkiếm được thực hiện trên bảng làm việc còn việc cập nhật được thực hiệntrên bảng phụ (theo thời gian thực hoặc là cập nhật theo gói với khoảngthời gian thích hợp) Sau một chu kỳ, bảng phụ sẽ được sao chép sang bảngchính và bộ lưu trữ của bảng làm việc được xóa Trong kiểu cập nhật này,nhiều gói tin phân loại sai được định tuyến, do việc copy không được thựchiện ngay lập tức Số lượng các gói tin bị phân loại sai phụ thuộc vào chu

kỳ cập nhật của bảng làm việc Do vậy cần giảm thời gian tiền xử lý đểgiảm số gói tin đã phân loại bị định tuyến sai

Hơn nữa, để cập nhật bảng tĩnh, phải thêm bộ nhớ cho bảng phụ vàcho việc xây dựng lại theo chu kỳ của bảng làm việc

Qua các đặc điểm cơ bản của bảng định tuyến tĩnh, ta nhận thấy loại bảngnày có một số ưu nhược điểm nhất định Việc cập nhật được thực hiện bằngtay nên người quản trị có toàn quyền điều khiển thông tin trong bảng địnhtuyến Tuy vậy, khi kích thước của mạng tăng lên3, độ phức tạp của việccấu hình tăng lên Bảng định tuyến kiểu này không có khả năng thích ứngvới mạng có cấu trúc thay đổi Trên thực tế, loại bảng này rất ít được sửdụng

3 Giả sử một mạng có n Router thì cần phải cấu hình n*(n-1) câu lệnh trên tất cả các Router.

Trang 10

1.3.2 Bảng định tuyến động

Định tuyến động là quá trình mà trong đó giao thức định tuyến phảitìm ra đường tốt nhất trong mạng và duy trì chúng Gói tin có thể đến đượcđích tùy thuộc vào sự tồn tại và trạng thái của mạng đó Nếu một đích rờikhỏi mạng, đường đi tới đích đó sẽ bị mất đi trong bảng định tuyến, và góitin sẽ không được gửi tới đích đó

Có rất nhiều cách để xây dựng bảng định tuyến động Nhưng tất cảđều thực hiện theo quy tắc chung sau: Router sẽ khám phá tất cả các tuyếnđường đến đích có thể và thực hiện một số quy tắc đã định trước để xácđịnh ra đường tốt nhất đến đích

Trong một bảng quy tắc động, các quy tắc được chèn/xóa thườngxuyên Kiểu bảng này không chèn/xóa theo từng khối, và việc chèn/xóađược thực hiện trong thời gian thực

Đầu tiên, việc cập nhật được thực hiện thường xuyên trong vùngBackbone Bảng định tuyến cần phải cập nhật để phản ánh sự thay đổi củaRouter Tốc độ cập nhật đạt tới 1000 trên giây [Labovitz] Mạng sẽ cậpnhật các lỗi phát sinh từ một Router bị hỏng, Router chỉnh sửa

Thứ hai, một tiến trình cập nhật nhanh được ưu tiên hơn vì trong quátrình cấu trúc lại, thời gian trễ từ điểm này sang điểm khác tăng lên, số góitin bị mất tăng lên đột ngột và một phần kết nối mạng bị lỗi

Với bảng định tuyến động, ta nên nhắc đến thời gian cần để chèn/xóamột quy tắc Trong bảng quy tắc động, ban đầu cấu trúc dữ liệu được khởitạo với một cấu trúc dữ liệu tĩnh và sau đó chèn từng quy tắc một

Các đặc điểm của bảng định tuyến động:

1 Thời gian tìm kiếm địa chỉ tiền tố trong bảng

Trang 11

2 Thời gian chèn Thời gian cần để chèn một quy tắc mới vào bảng

3 Thời gian xóa Thời gian để xóa một quy tắc từ bảng.

4 Yêu cầu bộ nhớ

Bảng định tuyến động chỉ làm việc trên một bảng làm việc và sự cậpnhật được làm trực tiếp trên bảng đó trong thời gian thực Trong kiểu cậpnhật này, không gói tin nào được phân lớp không thích hợp Tuy nhiên,việc phân lớp và chuyển tiếp gói tin có khi bị trễ cho đến khi tiến trình cậpnhật hoàn thành Để giảm thiểu thời gian trễ này, việc cập nhật phải thựchiện nhanh

Với kiểu bảng động, yêu cầu xử lý của CPU của Router cao hơn kiểubảng tĩnh Tuy nhiên, việc cấu hình và tự động tìm ra những tuyến đườngthay thế nếu như mạng thay đổi lại đơn giản hơn rất nhiều

Ngày nay, số lượng các hệ thống tự trị đang tiếp tục tăng lên, đó là lý

do đòi hỏi việc tăng tốc độ cập nhật của các bảng định tuyến động Trongphạm vi đồ án, ta xây dựng một cấu trúc và giải thuật cho bảng định tuyếnđộng để giảm thời gian cập nhật của bảng

Kết luận chương 1

Trong chương 1, ta đã nghiên cứu một thiết bị định tuyến rất thôngdụng đó là Router, chức năng, và hoạt động của nó Định tuyến trênInternet là gì, các kiểu định tuyến Thuật toán định tuyến và các tiêu chí đểđánh giá một thuật toán định tuyến tốt Nội dung quan trọng nhất củachương này nghiên cứu về bảng định tuyến, trong đó bảng định tuyến độngvới các ưu điểm của nó và sự cần thiết phải tăng tốc độ cập nhật của bảngđịnh tuyến

Trang 12

Tuy nhiên, do phạm vi nghiên cứu đồ án hạn chế, nên các phần đượctrình bày trong chương chỉ là những nội dung cơ bản nhất Cho nên ta cầnphải tiếp tục nghiên cứu mở rộng kiến thức về nội dung này.

Trang 13

Chương 2 CÂY TÌM KIẾM ƯU TIÊN

Trong chương này ta nghiên cứu cấu trúc cây tìm kiếm ưu tiên(PST4) và cây đỏ đen Cây tìm kiếm ưu tiên là một cấu trúc cây phức tạp là

sự kết hợp của cây nhị phân tìm kiếm và hàng đợi ưu tiên Nghĩa là câyphải thỏa mãn các tính chất của một cây nhị phân tìm kiếm và các tính chấtcủa hàng đợi ưu tiên Cây được sử dụng trong cấu trúc bảng định tuyếnđộng với các đoạn địa chỉ

Cây tìm kiếm ưu tiên là sự kết hợp của cây nhị phân tìm kiếm vàhàng đợi ưu tiên Các đặc điểm của cây như sau:

- Các khóa (Keys) là cặp có thứ tự (xi, yi)

- Cây được xây dựng min theo giá trị y (ở gốc giá trị của y là nhỏnhất)

- Thao tác tìm kiếm chủ yếu theo giá trị x

Cây tìm kiếm ưu tiên có hai kiểu khác nhau:

(1) Cây tìm kiếm là một cây tìm kiếm nhị phân cân bằng: Red-blackPriority Search Tree (RBPST)

(2) Cây tìm kiếm là cây tìm kiếm theo cơ số gọi là cây Radix PrioritySearch Tree (RPST)

2.1 Radix Priority Search Tree

Cây tìm kiếm ưu tiên được giới thiệu đầu tiên bởi E.McCreight năm

1985 với các đặc điểm như sau

2.1.1 Tính chất cây

- Các giá trị của x khác nhau và thuộc đoạn [0, k - 1]

- Mỗi nút của cây tìm kiếm ưu tiên có đúng 1 phần tử

4 Priority search tree (PST)

Trang 14

- Giá trị y của nút w phải nhỏ hơn hoặc bằng giá trị y của các nút concủa w (cây được định nghĩa theo giá trị min ở gốc)

- Khoảng của nút gốc w là [a, b)

- Khoảng của nút con trái là [a, floor((a+b)/2))

- Khoảng của nút con phải là [floor((s+b)/2), b)

 Lặp việc tạo cây ưu tiên trên các điểm có thành phần x < = X(P) vớigốc là nút con trái của R

 Lặp việc tạo cây ưu tiên trên các điểm có thành phần x > X(P) vớigốc là nút con phải của R

Ví dụ: Cho S = {F(-1, 9), N(1, 8), A(15, 7), I(-2, 5), H(7, 6), J(2, 3), G(6,4), B(16, 2), K(4, 6), C(12, 1), E(10, -2), D(14, -1), M(9, -3)}

Sau đây ta minh họa các bước xây dựng một cây RPST từ tập S.Lặp 1:

Trang 15

N(1,8)

A(15,7) H(7,6)

J(2,3)

G(6,4)

B(16,2) K(4,6)

C(12,1)

E(10,-2)

D(14,-1) M(9,-3)

J(2,3)

G(6,4)

B(16,2) K(4,6)

C(12,1)

E(10,-2)

D(14,-1) M(9,-3)

I(-2,5)

Lặp 3:

Trang 16

N(1,8)

A(15,7) H(7,6)

J(2,3)

G(6,4)

B(16,2) K(4,6)

C(12,1)

E(10,-2)

D(14,-1) M(9,-3)

J(2,3)

G(6,4)

B(16,2) K(4,6)

C(12,1)

E(10,-2)

D(14,-1) M(9,-3)

I(-2,5)

Cây hoàn chỉnh:

Trang 17

N(1,8)

A(15,7) H(7,6)

J(2,3)

G(6,4)

B(16,2) K(4,6)

C(12,1)

E(10,-2)

D(14,-1) M(9,-3)

I(-2,5)

Hình 2.1 Các bước xây dựng một cây RPST

Ánh xạ cây vừa xây dựng qua trục hoành, thêm chỉ số đoạn, bỏ trụctọa độ ta có được cách biểu diễn cây thông thường như sau:

F(-1,9) N(1,8)

A(15,7) H(7,6)

Thuật toán chèn nút P(x, y) vào trong cây có nút gốc R

 Nếu y < R(y) chèn nút P vào vị trí nút gốc Nút P gán bằng nút gốc

Trang 18

o Nếu P(x) thuộc khoảng [a, (floor(a+b)/2)) thực hiện thuật toánchèn nút P trên cây con trái, nếu P(x) thuộc [floor((a+b)/2), b)thực hiện thuật toán chèn trên cây con phải.

6,

9

7,1 [0, 16)

[0, 8)

7, 1

6,

8

[0, 16) [0, 8)

[4, 8)

7, 1

5, 8

6,

9 S [0, 8)

Trang 19

• (5,8) sẽ thay thế vào vị trí của (6,9), vì 8 < 9.

• (6,9) được đẩy xuống nút con phải của (5,8), vì 6 thuộc khoảng củanút con phải và 8 < 9

Thời gian thực hiện chèn một nút mất O(h), với h là chiều cao cây

tìm kiếm nhị phân

2.1.4 Xóa một nút khỏi cây RPST

Tương tự phép xóa trong min heap Thuật toán như sau:

 Nếu nút bị xóa là nút lá, xóa nút kết thúc

 Nếu nút bị xóa không là nút lá, xóa nút và chọn nút con có thànhphần y nhỏ hơn lên thay thế

Ví dụ: xóa nút (5, 8) khỏi cây

[0, 16) [0, 8)

2,12

11, 5

5, 8

6, 9

Trang 20

Red – Black Priority Search Tree hay còn gọi là cây tìm kiếm ưu tiênđộng được giới thiệu bởi Professor Robert Tamassia [5, tr.65] Sau đây ta

đi nghiên cứu phương pháp tổng quát để xây dựng và duy trì một cây PSTđộng

Sử dụng phương pháp bottom – up kết hợp với quy tắc trận đấu để xâydựng cây

Áp dụng tính chất cây đỏ đen [2, tr.239] để tô màu cho các nút củacây

Thủ tục chèn/xóa một nút trong cây, trong đó sử dụng phép quay đểduy trì sự cân bằng của cây

2.2.1 Tính chất cây

Một cây PST có thể được xây dựng hiệu quả khi sử dụng cách xâydựng bottom-up giống như cách đã sử dụng để xây dựng heap cũng như cáccây nhị phân Khi xây dựng một cây PST bằng cách bottom-up, bước đầutiên tạo tất cả các điểm lá, và sắp xếp chúng theo thứ tự tăng dần của giá trị

x Sau đó cây được kiến trúc dùng nguyên tắc thi đấu giống như cách xâydựng một cây thi đấu Để minh họa cho cách xây dựng cây, ta đi xây dựngmột cây tìm kiếm ưu tiên theo giá trị max ở gốc

Bước 1: Áp dụng quy tắc trận đấu để xây dựng cây

Trong một trận đấu gồm có hai điểm, điểm có giá trị y lớn hơn sẽ

thắng cuộc và trở thành nút gốc của một cây con Ở vòng tiếp theo, các

điểm thắng cuộc ở bước trước sẽ thi đấu từng cặp với nhau để tìm ra người

thắng cuộc, người thắng cuộc của bước sau cùng sẽ giành vị trí tại nút gốc

của cây Các điểm thắng cuộc để lại một nút rỗng bên cạnh, và các nút nàyđược lấp đầy bởi các điểm bị thua cuộc ở bước ngay trước đó Việc lấp đầynày sẽ dẫn đến nút khác bị rỗng, tiến trình lại được tiếp tục cho đến khi

Trang 21

không còn các điểm có thể lấp vào các nút Khi một điểm được đứng ở mộtnút trong trên cây, nút lá cho điểm này tạo thành một chỗ đứng5 Sau khicây đã được xây dựng xong, có N – 1 nút lá được tạo thành chỗ đứng (với

N là số điểm trong tập dữ liệu) Các nút lá luôn được sắp xếp tăng dần theogiá trị x của các điểm

Bước 2: Áp dụng tính chất cây đỏ đen để tô màu cho các nút

Sau khi các điểm được đặt vào đúng vị trí các nút, ta tô màu cho cácnút giống như quy tắc tô màu cho cây đỏ đen

Hình 2.5 minh họa tiến trình xây dựng sử dụng một ví dụ nhỏ gồm 8nút

Thuật toán xây dựng cây RBPST

1 Sắp xếp các điểm theo giá trị x tăng dần

2 Trận đấu bắt đầu với các cặp điểm, các điểm có y cao hơn sẽ thắngcuộc

3 Khi một điểm thắng ở vòng thi đấu cao hơn, điểm bị thua ở vòngtrước sẽ di chuyển lên và lấp đầy nút rỗng

4 Khi cây xây dựng xong, n-1 nút lá trở thành các vị trí đứng

Trang 22

Hình 2.5 Xây dựng cây RBPST sử dụng quy tắc trận đấu từ dưới lên

Như ta đã biết một cây đỏ đen là một cây tìm kiếm nhị phân đặc biệt,với thuộc tính màu của các nút và tính chất độ dài đường đi tới một nút lánên dùng cây đỏ đen khi lưu trữ thông tin rất hiệu quả Vì một cây đỏ đencho phép chèn/xóa các phần tử nhanh chóng Đây cũng là lý do ta sử dụngphương pháp tô màu của cây đỏ đen cho cây PST Các tiến trình này đượctrình bày trong phần sau

2.2.2 Chèn một nút vào cây RBPST

Để chèn một nút mới vào cây PST động gồm 3 bước sau:

1) Thêm một nút lá sau này sẽ là một vị trí đứng cho nút mới

Trang 23

2) Đẩy nút mới đi xuống cây, bắt đầu tại nút gốc.

3) Cân bằng lại cây nếu cần thiết

Khi các nút lá của cây được sắp xếp theo giá trị x tăng dần, thì vị tríđứng cho nút mới khi thêm vào phải hiệu chỉnh theo thứ tự này Để tìm vịtrí đó, tiến trình bắt đầu tại nút gốc và lặp lại với các cây con bằng cách sosánh giá trị x của nút mới và giá trị x của nút gốc của cây con đang xét.Nếu nút mới có giá trị x lớn hơn giá trị phân chia của nút gốc6, tiến trình sẽ

đi xuống cây con bên phải Nếu nhỏ hơn, tiến trình lặp với cây con trái.Cây đầu tiên trong hình 2.6 minh họa tiến trình này

Kết thúc việc hiệu chỉnh một vị trí đứng của nút lá được tìm thấy vànút lá được lưu trong vị trí đó phải được thay thế bởi một nút trong rỗng.Nút lá cho điểm mới và nút lá vừa bị thay thế sẽ trở thành hai nút con củanút mới vừa sinh ra Hình 2.6 ở cây thứ 2, điểm chèn vào là c’, nút bị thaythế là nút có khóa là d Vị trí đứng của c’ ở bên phải d vì tọa độ x của c’ lớnhơn d Hai nút lá củ d và c’ trở thành nút lá của một nút đỏ mới thêm vào

Sau khi một vị trí đứng và một nút trong mới được thêm vào trongcây, là thời gian tìm vị trí chính xác của điểm mới chèn vào trong cây Đểtìm vị trí này, dùng phương thức push-down Phương thức này bắt đầu từnút gốc, và giá trị y của nút gốc và nút mới được so sánh với nhau Nếu nútmới có giá trị y nhỏ hơn giá trị y của nút gốc, phương thức push-downđược tiếp tục hiệu chính trên cây con bên phải hoặc bên trái Việc chọn câycon nào được quyết định bằng cách so sánh giá trị x của nút mới với giá trịphân chia của nút gốc (như phần hiệu chỉnh vị trí đứng cho điểm mới chènvào) Nếu giá trị y của nút mới lớn hơn giá trị y của nút gốc thì hoán đổinút mới và nút gốc đó (khóa của nút gốc là giá trị của điểm mới, khóa nútmới sẽ là khóa của nút gốc), phương thức push-down lại tiếp tục với nút

6 split line

Trang 24

gốc vừa bị hoán đổi giống như một nút mới Tiến trình tiếp tục được lặp lạicho đến khi tất cả các điểm được đặt vào các nút Cây thứ 3 trong hìnhtrong hình 2.6 minh họa tiến trình này.

Hình 2.6 Chèn một nút vào cây RBPST

Khi một nút mới được chèn vào, dẫn đến tất cả các giá trị phân chiaphải được cập nhật lại Giá trị phân chia của một nút được xác định là mộtnửa giá trị x của nút con phải nhất trong cây con trái và nút con trái nhấttrong cây con phải Khi một nút con mới được chèn vào, điều kiện này cóthể bị thay đổi, và do vậy việc cập nhật là cần thiết

Trang 25

Sau phép chèn, nếu một tính chất bất kỳ nào của cây đỏ đen bị viphạm thì cây sẽ phải cân bằng lại Hình 2.6 không có trường hợp nào bị viphạm Nhưng trong hình 2.7 thì bị vi phạm và phải xây dựng lại.

Một nút mới chèn vào một cây đỏ đen thì luôn được tô màu đỏ, vàquy tắc có cùng số nút đen trên bất kỳ đường nào từ nút gốc tới một nút lá

không xảy ra Quy tắc không có nút đỏ nào có một nút con đỏ (một nút đỏ

phải có hai nút con đen), ta có thể dễ dàng nhận thấy quy tắc này bị viphạm khi chèn một nút đỏ và ta gọi đây là lỗi đỏ-đỏ Khi lỗi đỏ-đỏ xuấthiện, màu sắc của các nút gần kề quyết định việc làm tiếp theo Nếu cả nútcha và nút chú là nút đỏ, sửa lại màu của nút cha và nút chú thành màu đen,nút ông thành màu đỏ Việc này lại có thể dẫn đến nút ông lại vi phạm lỗi

đỏ - đỏ với cha của nó Nếu trường hợp này xảy ra, tiến trình sẽ được lặp.Nếu chỉ có nút cha màu đỏ, và nút chú đen, thực hiện một phép quay

Hình 2.7 minh họa các trường hợp vi phạm tính chất cây đỏ đen khichèn nút mới vào cây

Từ cây trong hình 2.5 ta chèn các điểm c’ và c’’ và không có tính chất nào bị vi phạm Bước tiếp theo chèn nút c’’’ vào cây Vị trí đứng của nút c’’’ được đặt giữa các nút c’’ và d, và nút c’’’ ở nút con bên phải của

c’’ Từ hình minh họa (cây thứ 2 hình 2.7) ta thấy vi phạm quy tắc đỏ-đỏ

của c’’’ và c’’, Cả nút cha (c’’) và nút chú (d) đều là màu đỏ trong trường hợp này các nút c’’, d và c phải được tô màu lại Khi tô màu lại các nút

xong (cây thứ 3 hình 2.7) dẫn đến việc vi phạm quy tắc đỏ-đỏ của nút ông

c và nút cha c’’ Và chỉ có nút cha màu đỏ, nút chú a màu đen, cho nên phải

thực hiện phép quay hai nút c và c’.

Trang 26

Hình 2.7 Chèn một nút mới và cấu trúc lại cây RBPST

Trang 27

Thực hiện phép quay trong cây PST không hoàn giống như phépquay trong cây đỏ đen Bởi vì cây đỏ đen các điểm chỉ được tổ chức theogiá trị x Trong cây PST động, các điểm còn tổ chức theo giá trị y cho nênphải xem xét cả hai giá trị này Một phép quay trong cây đỏ đen đưa mộtcây con thành một nút gốc mới, trong khi cây PST nút gốc phải giữ nguyên.Nghĩa là thay vì việc quay, thì cây con phải tổ chức lại

Phép quay trái đơn trình bày trong hình 2.8, như sau: nút root là nút

gốc trong cây cả trước và sau khi quay Trước khi quay u là nút gốc của cây

con trái, child là nút gốc của cây con phải Điểm child ban đầu là nút con phải của root, sau khi quay là nút con trái của root, nhưng nó không thể

chính xác Để bảo đảm sự chính xác vị trí các điểm trong nút này, một điểmvới giá trị y lớn hơn giữa u và v được chọn, và phương thức push-down bắt

đầu với nút child được thực hiện với chính nút này.

Hình 2.8 Phép quay trong cây PST

Trang 28

Trong ví dụ hình 2.8, nút gốc c’ và nó vi phạm quy tắc đỏ-đỏ với cây con phải c của nó Cây con trái a là màu đỏ, do đó phải thực hiện một phép quay Phép quay được thực hiện với nút con phải c thành nút con trái mới

và nút con phải của c là d thành nút con phải mới của c’ Nút con trái a thành nút con trái của c, và cấu trúc nút con trái của c thành nút con phải mới Khi so sánh a, c và c’’ (tương ứng u, v và ri trong phép quay cơ bản), chúng ta tìm được nút con trái mới của c, là nút với giá trị y lớn nhất, phép

quay kết thúc

Một phép quay phải đối xứng với phép quay trái, một phép quay képbao gồm hai phép quay đơn

Trong hình 2.8, sau phép quay vẫn còn vi phạm quy tắc đỏ - đỏ giữa

nút c và nút cha c’ Trong trường hợp này nút chú g cũng là màu đỏ, thay đổi màu của nút c’, g và b Tiếp tục dẫn đến vi phạm một quy tắc là trạng

thái nút cha luôn là màu đen Chỉnh lại nút gốc thành một nút đen, một nútđen được thêm vào tất cả các đường, và cân bằng được thiết lập lại Nhưvậy ta thực hiện liên tiếp các phép quay khi cân bằng cây

Thời gian thực hiện phép chèn trong cây RBPST là O(log n).

2.2.3 Xóa một nút từ cây RBPST

Để xóa một nút từ cây PST động thực hiện các bước sau:

1) Truy cập đến nút chứa điểm bị xóa

2) Xóa điểm từ nút này, và lấp đầy nút bằng cách chơi lại trò chơigiữa các điểm trong cây con của nó

3) Xóa chỗ đứng ở nút lá

4) Cân bằng lại cây theo tính chất cây đỏ đen

Trang 29

Hình 2.9 Ví dụ xóa một điểm trong cây RBPST

Hình 2.9 trình bày ví dụ xóa một điểm trong cây PST động Điểm bịxóa trong cây con trái của nút gốc, nút bị xóa là màu đen Khi xóa một nútđen, tính chất 5 của cây đỏ đen bị vi phạ Khi đó, áp dụng việc cân bằng lại

Trang 30

cây khi xóa một nút đen với nút cha đỏ và nút anh em đen với nút con phải

đỏ được thực hiện Quy tắc này phát biểu cho phép quay trái tại nút cha.Phép quay trong cây PST động không yêu cầu quay nút gốc của cây con,nhưng màu phải thay đổi nếu nút gốc chiếm một vị trí trong phép quay

Phép xóa trên cây PST động cũng thực hiện trong thời gian O(log n).

2.3 Các truy vấn trong cây tìm kiếm ưu tiên

Trong cây tìm kiếm ưu tiên ta có thể thực hiện các lệnh truy vấn sau:

 Nếu cây rỗng con trỏ trả về NULL

 R là nút gốc của cây (hai thành phần x và y)

 Nếu y1 <ymin (thành phần y nhỏ nhất) không có phần tử nào thỏamãn

 Nếu y1  ymin

Lặp:

Trang 31

[12, 16) 14,6

5, 8

[0, 16)

Trang 32

Thời gian thực hiện truy vấn MinXinRectangle trong cây tìm kiếm ưu tiên là O(h).

 Nếu cây rỗng con trỏ trả về NULL

 R là nút gốc của cây (hai thành phần x và y)

 Nếu y1 <ymin (thành phần y nhỏ nhất) không có phần tử nào thỏa mãn

11, 5

5, 8

[0, 16)

Trang 33

Hình 2.13 MaxXinRectangle trong cây

Tương tự như truy vấn MinXinRectangle, thời gian thực hiện truy vấn MaxXinRectangle là O(h).

 Nếu cây rỗng con trỏ trả về NULL

 R là nút gốc của cây (hai thành phần x và y)

 Nếu y1 <ymin (thành phần y nhỏ nhất) không có phần tử nào thỏa mãn

 Nếu y1  ymin

o Nếu x0  x x1, kết quả trả về chính là nút gốc

Trang 34

o Nếu x0 < X(R) tìm phần tử có Y nhỏ nhất trên cây con trái

o Nếu X(R) < x 1 tìm phần tử có Y nhỏ nhất trên cây con phải

o Nếu không có phần tử bên cây con trái thỏa mãn hoặc có phần

tử bên cây con phải thỏa mãn và thành phần y của nó nhỏ hơncây con trái thì giá trị tìm được là phần tử bên cây con phải

• Như vậy min y=9 với x=6

Cây tìm kiếm ưu tiên T và chiều cao là h Thời gian thực hiện truy

[12, 16) 14,6

5, 8

[0, 16)

Trang 35

Hình 2.16 EnumerateRectangle trong hình chữ nhật

Thuật toán

 Nếu cây là NULL, trả về số phần tử là rỗng

 R là nút gốc của cây (hai thành phần x và y)

 Nếu y > y1 không có phần tử nào thỏa mãn

 Nếu y < y1

 Nếu y  y1

o Nếu x0  x x1, chỉ có điểm gốc thỏa mãn

o Nếu x0 < X(R), phải có phần tử thuộc cây con trái nằm tronghình chữ nhật Thực hiện lặp việc tìm kiếm trên cây con trái

o Nếu X(R) < x1, phải có phần tử thuộc cây con trái nằm tronghình chữ nhật Thực hiện lặp việc tìm kiếm trên cây con phải

11, 5

[12, 16)

5, 8

[0,16)

Trang 36

Hình 2.17 EnumerateRectangle trong cây

Cho cây tìm kiếm ưu tiên T, chiều cao của cây là h Thì truy vấn

EnumerateRectangle cần O(h+s) thời gian, trong đó s là các điểm trong

hình chữ nhật

Kết luận chương 2

Trong chương 2, ta đã nghiên cứu hai kiểu cây PST đó là cây RPST

và RBPST Mỗi kiểu cây đều có những đặc điểm chung của cây PST, vànhững đặc điểm riêng của nó Cây RPST có cấu trúc đơn giản hơn câyRBPST Cây RPST như đã trình bày có độ phức tạp các phép toán

chèn/xóa là O(h), các phép MinXinXRectangle, MinYinXRectangle ,

MinYinXRange là O(h), phép EnumerateRectangle là O(h+s) Tuy nhiên

với cây RBPST biểu diễn dưới dạng cây đỏ đen Như ta đã biết cây đỏ đenvới ưu điểm là tốc độ chèn/xóa một nút Cho nên mặc dù cấu trúc câyRBPST hơi phức tạp hơn cây RPST, chèn và xóa một điểm cũng phức tạphơn nhưng RBPST vẫn được sử dụng trong thực tiễn Thêm vào đó, cáctruy vấn của cây PST thực hiện trong thời gian khá nhanh, nên cây PSTđang được ứng dụng rất nhiều trong thực tế Ta có thể kể đến như: Các ứngdụng về tầm nhìn, bài toán cái túi, bài toán định tuyến IP, vấn đề tính toánđịa lý…Ngay sau đây là một ứng dụng của cây PST để giải quyết bài toánđịnh tuyến IP

Chương 3 ĐỊNH TUYẾN IP THEO PHƯƠNG PHÁP

KHỚP TIỀN TỐ DÀI NHẤT

Trang 37

Chương 3 và chương 4 tiếp theo ta lần lượt nghiên cứu hai phươngpháp định tuyến trên bảng định tuyến động Sau đây là phương pháp đầutiên dùng cây tìm kiếm ưu tiên trình bày ở chương 2 xây dựng cấu trúc dữliệu cho bảng định tuyến để giải quyết bài toán so khớp tiền tố dài nhất

3.1 Mở đầu

Định tuyến trên Router bao gồm rất nhiều các công việc, các thủ tục

và kỹ thuật rất phức tạp Nhiệm vụ mà bài toán này tôi đi giải quyết đó là:

từ các dữ liệu đầu vào đã có trên bảng định tuyến và địa chỉ đã lấy được từphần đầu của gói tin, ta đi tìm một Next Hop phù hợp nhất để chuyển góitin đó đến

3.1.1 Khớp tiền tố dài nhất

Trong bảng định tuyến bao gồm trường prefix Vậy trên người ta

dùng cách nào để xây dựng được các tiền tố ấy?

Trên Router người ta dùng định tuyến phân lớp giữa các miền CIDRchia các địa chỉ IP thành các khối tiền tố, để đăng ký sử dụng Internet giữacác vùng

CIDR sử dụng kỹ thuật mặt nạ mạng có chiều dài thay đổi Variable Length Subnet Masking) cho phép định vị trí các tiền tố có chiềudài tùy ý Khối CIDR IPv4 (W = 32) được xác định bởi A.B.C.D/N trong

(VLSM-đó A.B.C.D là địa chỉ IP (Mỗi số A, B, C, D có giá trị từ 0-255) N chiềudài tiền tố (có giá trị 0-32)

Ví dụ một khối có địa chỉ bắt đầu là 220.78.168.0 hoặc biểu diễn

dạng nhị phân là 11011100.01001110.10101000.00000000; địa chỉ kết thúc

là 220.78.175.0 hoặc 11011100.01001110.10101111.00000000 Ta thấy 21

bít (bôi đậm) của hai địa chỉ giống nhau, 3 bít cuối cùng của octet thứ 3 cógiá trị khác nhau từ 000 đến 111 Do vậy đầu vào trong bảng định tuyến trở

Trang 38

thành 220.78.168.0/21 hay 11011100.01001110.10101* Trong đó 21 là

chiều dài tiền tố

Với cấu trúc này mỗi địa chỉ IP là một phần của tiền tố, và một địachỉ IP có thể khớp với nhiều tiền tố có chiều dài khác nhau Việc tìm một

tiền tố khớp với địa chỉ đích d thì tiền tố và địa chỉ đích phải có N bít đầu

giống nhau

Giả sử với địa chỉ IP 5 bít (số bít để biểu diễn một địa chỉ IP) Tiền

tố 1101* khớp với tất cả các địa chỉ đích mà bắt đầu với các bít 1101 Khibiểu diễn các tiền tố thành một đoạn thì 1101* trở thành {11010,11011} ={26,27}, Giả sử một bảng định tuyến Router bao gồm các tiền tố P1=101*,

P2=10010*, P3=01*, P4=1* và P5=1010* Địa chỉ đích d=1010100 khớp với các tiền tố P1, P4, P5 Trong đó P5 là tiền tố dài nhất khớp với d

Ta nhận thấy, một tiền tố có thể biểu diễn bởi một đoạn với điểm đầu

và điểm kết thúc của đoạn tương ứng là địa chỉ đầu và địa chỉ cuối khớpvới một tiền tố đó Vì vậy từ đây về sau ta hiểu biểu diễn một tiền tố là mộtđoạn, nhưng một đoạn thì không là một tiền tố

Trong định tuyến tiền tố dài nhất, xác định Next Hop cho gói tin có

địa chỉ đích d là Next Hop của tiền tố khớp với d mà có độ dài lớn nhất.

3.1.2 Lý thuyết về đoạn

Trong phần này, tôi không ham muốn trình bày những kiến thức toánhọc rất phức tạp Đoạn mà tôi trình bày sau đây được hiểu theo nghĩa làmột đoạn địa chỉ, bao gồm các địa chỉ từ địa chỉ bắt đầu đến địa chỉ kếtthúc Nội dung phần này sẽ cho ta những cơ sở lý thuyết cho việc giải

quyết bài toán tìm tiền tố dài nhất

Định nghĩa 1: Một đoạn r u v,  là một cặp địa chỉ u và v, u v Một đoạn r biểu diễn các địa chỉ {u, u+1, …, v} start(r)=u là điểm bắt

Trang 39

đầu của đoạn và finish(r) = v là điểm cuối của đoạn Đoạn r chứa hoặc là khớp với tất cả các địa chỉ d sao cho u d v  range(q) xác nhận là đúng nếu q là một đoạn.

Chú ý: mọi tiền tố của bảng định tuyến tiền tố có thể biểu diễn một đoạn

Ví dụ: khi W=6, tiền tố P = 1101* khớp với các địa chỉ trong đoạn [52, 55]

Do dó, chúng ta nói P = 1101* = [52, 55], start(P) = 52, finish(P) = 55.

Khi một đoạn biểu diễn một tập liên tiếp các điểm, ta sử dụng cácphép toán, quan hệ tập hợp chuẩn như và  khi xử lý trên đoạn ví dụ [2,6] [4, 8] = [4, 6]

Một số phép toán giữa các đoạn không phải là một đoạn ví dụ: [2, 6]

disjoint(r, s) overlap(r, s) =   v < xy<u

(b) nested(r, s) – hai đoạn chứa nhau.

Khẳng định nested(r, s) là đúng nếu một đoạn được chứa bên trong đoạn kia.

nested(r, s) overlap(r, s) = r overlap(r, s) = s

Trang 40

Hình 3.1 Mối quan hệ giữa các cặp đoạn (A) Hai đoạn rời nhau.

(B) Hai đoạn chứa nhau (C) Hai đoạn giao nhau

Bổ đề 1: r, s là hai đoạn thì một trong các hàm sau sẽ đúng

Ngày đăng: 18/06/2014, 22:15

HÌNH ẢNH LIÊN QUAN

Bảng 1.1.  Một bảng định tuyến  với 5 quy tắc (W = 5) - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Bảng 1.1. Một bảng định tuyến với 5 quy tắc (W = 5) (Trang 7)
Hình 2.1.  Các bước xây dựng một cây RPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.1. Các bước xây dựng một cây RPST (Trang 17)
Hình 2.2.  Cây RPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.2. Cây RPST (Trang 17)
Hình 2.3.  Chèn một nút vào cây RPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.3. Chèn một nút vào cây RPST (Trang 18)
Hình 2.4.  Xóa một nút từ cây RPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.4. Xóa một nút từ cây RPST (Trang 19)
Hình 2.5.  Xây dựng cây RBPST sử dụng quy tắc trận đấu từ dưới lên - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.5. Xây dựng cây RBPST sử dụng quy tắc trận đấu từ dưới lên (Trang 22)
Hình 2.6.  Chèn một nút vào cây RBPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.6. Chèn một nút vào cây RBPST (Trang 24)
Hình 2.7.  Chèn một nút mới và cấu trúc lại cây RBPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.7. Chèn một nút mới và cấu trúc lại cây RBPST (Trang 26)
Hình 2.8  Phép quay trong cây PST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.8 Phép quay trong cây PST (Trang 27)
Hình 2.9.  Ví dụ xóa một điểm trong cây RBPST - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.9. Ví dụ xóa một điểm trong cây RBPST (Trang 29)
Hình 2.11.  MinXinRectangle trong cây - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.11. MinXinRectangle trong cây (Trang 31)
Hình 2.10.  MinXinRectangle trong hình chữ nhật - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.10. MinXinRectangle trong hình chữ nhật (Trang 31)
Hình 2.12.  MaxXinRectangle trong hình chữ nhật - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.12. MaxXinRectangle trong hình chữ nhật (Trang 32)
Hình 2.14  MinYinXRectangle trong hình chữ nhật - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.14 MinYinXRectangle trong hình chữ nhật (Trang 33)
Hình 2.16.  EnumerateRectangle trong hình chữ nhật - ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER
Hình 2.16. EnumerateRectangle trong hình chữ nhật (Trang 35)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w