Skip to main content

Cây tìm kiếm là gì?

Cây tìm kiếm là cấu trúc dữ liệu được sử dụng trong lập trình máy tính để chứa và sắp xếp danh sách dữ liệu. Mỗi cây tìm kiếm bao gồm một tập hợp các nút được đặt hàng. Các nút này có thể được kết nối với 0 hoặc nhiều hơnCác nút khác. Các nút riêng lẻ chứa một số dữ liệu cũng như các liên kết đến bất kỳ nút nào khác. Dữ liệu được chứa trong các nút của cây thường được sắp xếp theo một cách nào đó để cho phép các thuật toán hiệu quả tìm kiếm,Chèn và loại bỏ các nút một cách dễ dàng. Các nút của cây tìm kiếm được mô tả với bốn thuật ngữ quan trọng. Phần trên của cây, nơi đặt nút đầu tiên, được gọi là gốc.Nếu một nút chứa các liên kết đến nút phụ, nút đó được gọi là cha mẹ. Các nút bên dưới cha mẹ được gọi là con cái và bất kỳ nút nào không có nút con làđược gọi là một chiếc lá. Vì vậy, một nút gốc được xác định vì nó không có cha mẹ và các nút lá sẽ không có con.Một chương trình có thể di chuyển qua một cây tìm kiếm dữ liệu bằng cách bắt đầu tại một nút cụ thể, thực hiện kiểm tra có điều kiện và sau đó chuyển sang nút logic tiếp theo nếu không có dữ liệu cần thiết.được sử dụng, tìm kiếm này có thể mất một lượng thời gian thay đổi. Nếu cây tìm kiếm được tổ chức trong quá trình thêm và loại bỏ các nút, tìm kiếm có thể rất nhanh. Khi một cây làĐược lắp ráp ngẫu nhiên, chưa được phân loại hoặc cho phép nhiều phụ huynh, tìm kiếm có thể mất một thời gian rất dài. Một yếu tố ảnh hưởng đến việc sử dụng cây tìm kiếm là vấn đề cân bằng. Một cây cân bằng làMột trong đó cả con bên phải và trái của nút gốc chứa cùng độ sâu của các nút con hoặc nằm trong số một nút của nhau. Độ sâu của cây là số lượng nút từLá thấp nhất của cây đến gốc. Một cây không cân bằng có thể có tất cả các nút chỉ ở một bên hoặc có tất cả các nútĐược sắp xếp theo kiểu tuyến tính không có nhánh. Khi độ sâu của cây tăng lên, tốc độ của các thuật toán tìm kiếm có thể giảm đáng kể. Có một số loại cây tìm kiếm được mô tả là tự cân bằng.Những cây này sử dụng các hoạt động như xoay cây để giúp duy trì sự cân bằng trong khi bảo tồn thứ tự dữ liệu trong lá. Mặc dù thực hiện xoay cây có thể làm chậm chương trình khi thêm và loại bỏ các nút,Điều này được chống lại bởi tốc độ lấy dữ liệu có thể được lấy. Mặc dù có nhiều loại cây tìm kiếm, cấu trúc dữ liệu cây phổ biến nhất là một cây tìm kiếm nhị phân. Loại dữ liệu này bao gồm các nút mà mỗi nút không cócho hai nút con. Chỉ có một nút gốc và tất cả các lá trong cây được đặt hàng từ trái sang phải trong các giá trị tăng dần theo dữ liệu chúng giữ.Các thuật toán tồn tại cho các cây tìm kiếm nhị phân có thể giúp dữ liệu đặt hàng rất dễ dàng. Không có tiêu chuẩn duy nhất iMPLEMENTION cho các nút cây tìm kiếm. Các nút có thể được biểu diễn bằng nhiều cấu trúc dữ liệu. Mảng mảng có thể được sử dụng, như có thể nhân danh sách được liên kết. Thông thường, cây tìm kiếm sử dụngCấu trúc dữ liệu được thiết kế để hỗ trợ hoàn thành các hoạt động cần thiết được chương trình yêu cầu.