Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Binary Search Trees (BST) ในโครงสร้างข้อมูล


คุณสมบัติของ BST

  • ทุก BST เป็น Binary Tree
  • Left Child มีค่า น้อยกว่า Root
  • Right Child มีค่า มากกว่า Root
  • BST ที่สมบูรณ์ไม่มีค่าซ้ำ

ตัวอย่างต้นไม้

Binary Search Trees (BST) ในโครงสร้างข้อมูล

Inorder Traversal: 5, 8, 10, 15, 16, 20, 23

โค้ด C++ ตัวอย่าง

#include <iostream>
using namespace std;

class node {
public:
    int h_left, h_right, bf, value;
    node *left, *right;
};

class tree {
private:
    node* get_node(int key);
public:
    node *root;
    tree() { root = NULL; }
    void inorder_traversal(node *r);
    node* insert_node(node *root, int key);
};

// get_node, inorder_traversal, insert_node implementations...
// main: insert 10,5,16,20,15,8,23 แล้ว inorder traversal

Output

In-Order Traversal: 5 8 10 15 16 20 23