Cây nhị phân là một cấu trúc dữ liệu phân cấp, trong đó mỗi nút có 0, một hoặc nhiều nhất là hai con. Mỗi nút chứa một con trỏ bên trái, một con trỏ bên phải và một phần tử dữ liệu. Con trỏ gốc của cơ sở dữ liệu đại diện cho nút trên cùng của cây. Mỗi nút trong cấu trúc dữ liệu được kết nối trực tiếp với số nút tùy ý ở hai bên, được gọi là con. Một con trỏ null đại diện cho cây nhị phân. Không có thứ tự cụ thể nào về cách các nút được tổ chức trong cây nhị phân. Các nút không có nút con được gọi là nút lá hoặc nút bên ngoài.
Nói một cách đơn giản, nó định nghĩa một hàm ghi nhãn có tổ chức trên các nút, lần lượt gán một số giá trị ngẫu nhiên cho mỗi nút. Bất cứ thứ gì có hai con và một nút cha là một cây nhị phân. Cây nhị phân được sử dụng để lưu trữ thông tin tạo thành một hệ thống phân cấp như hệ thống tệp trên máy tính cá nhân của bạn. Không giống như Mảng, Cây không có giới hạn trên về số lượng nút vì chúng được liên kết bằng cách sử dụng các con trỏ, như Danh sách được liên kết. Các chức năng chính của Cây nhị phân bao gồm biểu diễn dữ liệu phân cấp, sắp xếp danh sách dữ liệu, cung cấp các hoạt động chèn / xóa hiệu quả, v.v. Các nút cây được biểu diễn bằng các cấu trúc trong C.
Cây tìm kiếm nhị phân là một loại cấu trúc dữ liệu cây nhị phân, trong đó các nút được sắp xếp theo thứ tự, do đó còn được gọi là cây nhị phân có thứ tự. Đây là một cấu trúc dữ liệu dựa trên nút cung cấp một cách hiệu quả và nhanh chóng để sắp xếp, truy xuất, tìm kiếm dữ liệu. Đối với mỗi nút, các phần tử trong cây con bên trái phải nhỏ hơn hoặc bằng khóa trong nút cha (LP) của nó. Không nên có khóa trùng lặp. Nói một cách đơn giản, đó là một loại cấu trúc dữ liệu cây nhị phân đặc biệt lưu trữ và quản lý hiệu quả các mục trong bộ nhớ.
Nó cho phép truy cập nhanh thông tin, chèn và xóa dữ liệu, ngoài ra nó có thể được sử dụng để thực hiện các bảng tra cứu cho phép tìm kiếm các mục bằng các phím duy nhất của chúng, như tìm kiếm số điện thoại của một người theo tên. Các khóa duy nhất được sắp xếp theo cách có tổ chức, do đó việc tra cứu và các hoạt động động khác có thể được thực hiện bằng cách sử dụng tìm kiếm nhị phân. Nó hỗ trợ ba thao tác chính: tìm kiếm các phần tử, chèn các phần tử và xóa các phần tử. Cây tìm kiếm nhị phân cho phép truy xuất nhanh các phần tử được lưu trữ trong cây vì mỗi khóa nút được so sánh kỹ lưỡng với nút gốc, loại bỏ một nửa cây.
Cây nhị phân | Cây tìm kiếm nhị phân |
Cây nhị phân là một dạng cây chuyên biệt đại diện cho dữ liệu phân cấp trong cấu trúc cây. | Cây tìm kiếm nhị phân là một loại cây nhị phân giữ các khóa theo thứ tự được sắp xếp để tra cứu nhanh. |
Mỗi nút phải có nhiều nhất hai nút con với mỗi nút được kết nối từ chính xác một nút khác bằng cạnh có hướng. | Giá trị của các nút trong cây con bên trái nhỏ hơn hoặc bằng giá trị của nút gốc và các nút của cây con bên phải có giá trị lớn hơn hoặc bằng giá trị của nút gốc. |
Không có thứ tự tương đối về cách tổ chức các nút. | Nó tuân theo một trật tự dứt khoát về cách các nút nên được tổ chức trong một cây. |
Về cơ bản, nó là một cấu trúc dữ liệu phân cấp, là một tập hợp các phần tử được gọi là các nút. | Đây là một biến thể của cây nhị phân trong đó các nút được sắp xếp theo thứ tự tương đối. |
Nó được sử dụng để tra cứu dữ liệu và thông tin nhanh chóng và hiệu quả trong cấu trúc cây. | Nó chủ yếu được sử dụng để chèn, xóa và tìm kiếm các phần tử. |
Mặc dù cả hai đều mô phỏng cấu trúc cây phân cấp đại diện cho một tập hợp các nút với mỗi nút đại diện cho một giá trị, chúng khá khác nhau về cách chúng có thể được thực hiện và sử dụng. Cây nhị phân tuân theo một quy tắc đơn giản là mỗi nút cha không có nhiều hơn hai nút con, trong khi đó Cây tìm kiếm nhị phân chỉ là một biến thể của cây nhị phân theo thứ tự tương đối với cách các nút nên được tổ chức trong cây.