Thuật toán so sánh trong cây nhị phân năm 2024
Cây tìm kiếm nhị phân là một thuật toán nâng cao được sử dụng để phân tích nút, các nhánh trái và phải của nó, được mô hình hóa theo cấu trúc cây và trả về giá trị. BST được phát minh dựa trên archikiến trúc của thuật toán tìm kiếm nhị phân cơ bản; do đó nó cho phép tra cứu, chèn và loại bỏ các nút nhanh hơn. Điều này làm cho chương trình thực sự nhanh chóng và chính xác. Show
Thuộc tính của cây tìm kiếm nhị phânMột BST được tạo thành từ nhiều nút và bao gồm các nút sau:wing thuộc tính:
Tại sao chúng ta cần Cây tìm kiếm nhị phân?
Các loại cây nhị phânBa loại cây nhị phân là:
Tìm hiểu thêm về Cây nhị phân trong cấu trúc dữ liệu nếu bạn quan tâm đến. Cây tìm kiếm nhị phân hoạt động như thế nào?Cây luôn có nút gốc và các nút con khác, dù ở bên trái hay bên phải. Thuật toán thực hiện tất cả các thao tác bằng cách so sánh các giá trị với nút gốc và các nút con tiếp theo của nó trong cây con bên trái hoặc bên phải tương ứng. Tùy thuộc vào phần tử được chèn, tìm kiếm hoặc xóa, sau khi so sánh, thuật toán có thể dễ dàng loại bỏ cây con trái hoặc phải của nút gốc. BST chủ yếu cung cấp các dịch vụ theo dõiwing ba loại hoạt động để bạn sử dụng:
Mỗi hoạt động có cấu trúc và phương pháp thực hiện/phân tích riêng, nhưng phổ biến nhất làplex trong số đó là thao tác Xóa. Hoạt động tìm kiếmLuôn bắt đầu phân tích cây tại nút gốc và sau đó di chuyển xa hơn sang cây con bên phải hoặc bên trái của nút gốc tùy thuộc vào phần tử được định vị nhỏ hơn hay lớn hơn nút gốc.
Mã giả cho Searching trong BSTsearch(element, root)
Chèn thao tácĐây là một hoạt động rất thẳng về phía trước. Đầu tiên, nút gốc được chèn vào, sau đó giá trị tiếp theo được so sánh với nút gốc. Nếu giá trị lớn hơn gốc, nó sẽ được thêm vào cây con bên phải và nếu nó nhỏ hơn gốc, nó sẽ được thêm vào cây con bên trái.
Mã giả để chèn nút vào BSTinsert (element, root)
Xóa hoạt độngĐể xóa một nút khỏi BST, có một số trường hợp, tức là xóa nút gốc hoặc xóa nút lá. Ngoài ra, sau khi xóa một nút gốc, chúng ta cần nghĩ đến nút gốc. Giả sử chúng ta muốn xóa một nút lá, chúng ta có thể xóa nó, nhưng nếu muốn xóa một nút gốc, chúng ta cần thay thế giá trị của nút gốc bằng một nút khác. Hãy theo dõiwing thí dụ: Thuật toán tìm kiếm nhị phân được thực hiện như thế nào?Thuật toán tìm kiếm nhị phân hoạt động trên các mảng đã được sắp xếp. Thuật toán bắt đầu bằng việc so sánh một phần tử đứng chính giữa mảng với giá trị cần tìm. Nếu bằng nhau, vị trí của nó trong mảng sẽ được trả về. Nếu giá trị cần tìm nhỏ hơn phần tử này, quá trình tìm kiếm tiếp tục ở nửa nhỏ hơn của mảng. Cho biết tính chất của một cây nhị phân tìm kiếm là gì?Cây nhị phân tìm kiếm là cây nhị phân mà trong đó, các phần tử của cây con bên trái đều nhỏ hơn phần tử hiện hành và các phần tử của cây con bên phải đều lớn hơn phần tử hiện hành. Do tính chất này, cây nhị phân tìm kiếm không được có phần tử cùng giá trị. Xây dựng cây nhị phân tìm kiếm là gì?Cây tìm kiếm nhị phân là một cấu trúc dữ liệu cơ bản được sử dụng để xây dựng các cấu trúc dữ liệu trừu tượng hơn như các tập hợp, đa tập hợp, các dãy kết hợp. Nếu một BST có chứa các giá trị giống nhau thì nó biểu diễn một đa tập hợp. Cây loại này sử dụng các bất đẳng thức không nghiêm ngặt. Node gốc là gì?node gốc (root node): Là node ở vị trí đầu tiên của cây quyết định. Mọi phương án đều bắt nguồn từ node này. Ở ví dụ trên là (Tổng điểm >= 28.5) node cha (parent node): Là node mà có thể rẽ nhánh xuống những node khác bên dưới. |