二叉排序樹又稱二叉查詢樹。
- 若根節點的左子樹非空,則左子樹上所有節點的關鍵字值均小於等於根節點的關鍵字。
- 若根節點的右子樹非空,則右子樹上所有節點的關鍵字均大於等於根節點的關鍵字。
- 根節點的左右子樹也分別為二叉排序樹。
-- 二叉排序樹的中根遍歷序列為按關鍵字公升序排列的。
節點類
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檔案...