二叉排序樹的建立(簡化版)

2021-10-13 17:58:44 字數 794 閱讀 2324

最簡單的二叉排序樹建立,其實這個二叉排序樹,跟二分查詢有點異曲同工之處,

#include

#include

#include

#define n 6

using

namespace std;

typedef

struct node* pnode;

typedef

struct node

node;

typedef node* pnode;

void

func

(pnode root,pnode previous,

int key)

;pnode root;

int k;

intmain()

func

(root, previous,

rand()

%100);

//開始插入,這裡的previous就是p的父節點,用來連線新建立的結點}}

}int flag =1;

//flag為0時在左節點插,為1時在右節點查

void

func

(pnode root, pnode previous,

int key)

if(key < root-

>key)

//key小於當前結點,就插在當前節點左孩子

else

if(key > root-

>key)

}

先記錄一下,**還是不夠嚴謹,之後會重新修改的

建立二叉排序樹

建立二叉排序樹 1 建立二叉排序樹,二叉樹排序樹有個特點,如果結點值大於根,則在右子樹去查詢插入位置,如果小於樹根,在左子樹去查詢樹根,如果相等,不作任何操作 2 根據上面的特性,需要兩個結點,分別是當前結點和父節點 3 先遍歷二叉樹節點,找到要插入的位置,根據父節點的指向要插入的位置 實現過程如下...

二叉排序樹的建立

首先二叉排序樹的查詢,這裡father用於記錄訪問點的前序,如果找到關鍵字,也就是程式中的e,則p指向這個結點,而father則指向p的父結點,如果沒有找到關鍵字,則father指向查詢路徑上的最後乙個結點,也可以理解為要插入的結點 關鍵插入father的左子樹或者右子樹 typedef struc...

二叉排序樹的建立

首先二叉樹排序樹 binary sort tree 簡稱bst,又叫二叉查詢樹。具有以下性質 若它的左子樹不為空,則左子樹上的所有結點的值均小於它的根結構的值 若它的右子樹不為空,則右子樹上的所有結點的值均大於它的根結構的值 它的左,右子樹也分別為二叉排序樹。簡單的概括起來就是 左 中 右 由此可知...