2 Cây nhị phân

Một phần của tài liệu Tài liệu hỗ trợ học tập môn học toán dùng trong tin học (Trang 118 - 119)

Định nghĩa 6.3

a) Một cây xác định gốc được gọi là cây m–phân (m số nguyên dương) khi mọi đỉnh trong có tối đa số đỉnh con là m và có ít nhất một đỉnh có m đỉnh con.

b) Một cây m–phân đầy đủ là cây mà mọi đỉnh trong có đúng m đỉnh con.

c) Với m = 2, cây m–phân được gọi là cây nhị phân.

Mệnh đề 6.2

Một cây m–phân đầy đủ với:

a) n đỉnh chứa đúng k = (n–1)/m đỉnh trong và p = [(m–1)n+1]/m đỉnh lá. b) k đỉnh trong thì cây có n = (mk+1) đỉnh và p = [(m–1)k+1] đỉnh lá.

c) p đỉnh lá thì cây có n = (mp–1)/(m–1) đỉnh và chứa đúng (p–1)/(m–1) đỉnh trong

Định nghĩa 6.4

Cây tìm kiếm nhị phân là cây nhị phân với mỗi đỉnh được gắn nhãn thỏa các điều kiện: a) Nhãn là phần tử của một tập các phần tử được sắp thứ tự toàn phần – cũng được gọi

là tập các khóa.

b) Mỗi đỉnh chỉ có tối đa hai đỉnh con được xác định là đỉnh con bên trái hay bên phải với đỉnh con bên trái có khóa nhỏ hơn khóa của đỉnh cha và đỉnh con bên phải có khóa lớn hơn khóa của đỉnh cha.

Nhận xét: Để tìm kiếm phần tử nhỏ nhất và phần tử lớn nhất của một dãy các phần tử có thứ tự toàn phần ta có thể xây dựng cây tìm kiếm nhị phân theo nguyên tắc gán phần tử gốc là phần tử đầu tiên, phần tử kế tiếp là đỉnh con bên trái hay bên phải tùy giá trị nhỏ hay lớn hơn. Phần tử lớn nhất nằm cuối nhánh bên phải và phần tử nhỏ nhất nằm cuối nhánh bên trái.

1. 2. a. Thuật toán thêm một khóa vào cây tìm kiếm nhị phân

Để thêm một phần tử với khóa có giá trị k vào trong một cây tìm kiếm nhị phân: 1. Nếu cây rỗng, thì thêm phần tử mới tại gốc. Kết thúc.

2. Gọi p là khóa tại vị trí gốc.

3. Nếu k nhỏ hơn khóa được lưu trữ tại p và nếu đỉnh tại p không có đỉnh con bên trái, thì thêm phần tử mới bằng đỉnh con bên trái của p. Kết thúc.

4. Nếu k nhỏ hơn khóa được lưu trữ tại p và nếu đỉnh tại p có đỉnh con bên trái, thì gán lại p là vị trí đỉnh con bên trái đó của p. Sau đó quay về bước 3.

5. Nếu k lớn hơn khóa được lưu trữ tại p và đỉnh tại p không có đỉnh con bên phải, thêm phần tử mới vào bằng đỉnh con bên phải của p. Kết thúc.

6. Nếu k lớn hơn khóa được lưu trữ tại p và đỉnh tại p có đỉnh con bên phải, gán lại p là vị trí đỉnh con bên phải của p. Sau đó quay về bước 3.

Một phần của tài liệu Tài liệu hỗ trợ học tập môn học toán dùng trong tin học (Trang 118 - 119)

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

(155 trang)