Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Cây nhị phân có luồng (Threaded Binary Trees) trong Cấu trúc dữ liệu


Xem cấu trúc dữ liệu cây nhị phân có luồng (threaded binary tree). Cây nhị phân nút tối đa hai con. Nếu chỉ có một con hoặc không con, phần liên kết trong biểu diễn danh sách liên kết vẫn null. Dùng threaded binary tree để tái sử dụng các liên kết rỗng bằng cách tạo luồng (thread).

Nếu nút có vùng con trái/phải trống, dùng làm luồng. Có hai loại: single-threaded (left/right) và fully-threaded. Single-threaded: left-threaded (con trỏ trái trỏ đến predecessor inorder) hoặc right-threaded (con trỏ phải trỏ đến successor inorder). Nếu không có predecessor/successor thì trỏ về header node.

Fully-threaded: mỗi nút có 5 trường: 3 trường bình thường, 2 trường boolean đánh dấu liên kết bên nào là luồng.

Left Thread FlagLeft LinkDataRight LinkRight Thread Flag

Cây nhị phân có luồng (Threaded Binary Trees) trong Cấu trúc dữ liệu

Ví dụ left-threaded và right-threaded:

Cây nhị phân có luồng (Threaded Binary Trees) trong Cấu trúc dữ liệu

Fully-threaded binary tree:

Cây nhị phân có luồng (Threaded Binary Trees) trong Cấu trúc dữ liệu