二叉排序樹的增刪改操作

2021-05-27 05:09:27 字數 1653 閱讀 9930

二叉排序樹又稱二叉查詢樹。

- 若根節點的左子樹非空,則左子樹上所有節點的關鍵字值均小於等於根節點的關鍵字。

- 若根節點的右子樹非空,則右子樹上所有節點的關鍵字均大於等於根節點的關鍵字。

- 根節點的左右子樹也分別為二叉排序樹。

-- 二叉排序樹的中根遍歷序列為按關鍵字公升序排列的。

節點類

package com.itree.demo;

public class binaryordertreenode

}

package com.itree.demo;

public class binaryordertree

else

}if (ispre && res != null)

return res;

}/**

* 新增節點

* * @param name

*/public void addnode(string name)

/*** 遞迴新增節點

* * @param name

* @param node

* @return

*/private binaryordertreenode insert(string name, binaryordertreenode node)

else

else if (greater > 0)

}return node;

}public void removenode(string name)

else

prenode = null;

}else

else

if (node != null)}}

}private void sortnode(binaryordertreenode data)

}private binaryordertreenode getnode(binaryordertreenode node)

return node;

}public void update(binaryordertreenode data)

else

}/**

* 輸出

*/public void outprint()

/*** 中序遍歷

* * @param node

* @return

*/private binaryordertreenode inorder(binaryordertreenode node)

return node;

}}

資料測試

package com.itree.demo;

public class treemanager

, , , , ,

, , ,

, , };

int len = data.length;

for (int i = 0; i < len - 2; i++)

for (int i = 0; i < len; i++)

else if (action == "2")

else if (action == "3")}}

}

二叉排序樹的增 刪 改 查

public class node public void add int m else else else else public string select int index else if flag.value index else if flag.value index else publ...

二叉排序樹的操作

二叉排序樹的建立,中序遍歷,前序遍歷,後序遍歷,計算總結點數,計算樹的深度 二叉排序樹的建立 void creattree tree t,int m if melement creattree t lchild,m else creattree t rchild,m 前序遍歷 void preord...

c語言 二叉排序樹增刪

一 tree.h pragma once include includetypedef struct binary sort tree bst define bst size sizeof bst bst tree root 這裡如果賦初始值,就是定義了,宣告可以多次,但是定義只能一次。兩個.c檔案...