這裡演示了排序二叉樹節點的插入,中序遍歷,極值的查詢和特定值的查詢的功能.
基本沒有提供什麼概念和定義.建議先簡單了解一下本文提供的幾個概念在來看本文.
實際上,只是簡單的提供了**,注釋也很少,各位辛苦了.
二叉樹:在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。
排序二叉樹:左孩子節點的值小於父節點的值,右孩子節點的值大於父節點的值.
幾個概念:
根節點葉子節點
左子樹右子樹
中序遍歷
前序遍歷
後序遍歷
二叉樹查詢
中序遍歷:
先遍歷左子樹,在遍歷本節點,在遍歷右節點.遍歷之後的結果就是排序好之後的結果
// created by 曲朋維
// 排序二叉樹
// 完成以下任務.
// 1. 將節點插入到對應位置
// 2. 使用中序遍歷遍歷這個二叉樹
// 3. 找到這個二叉樹的極值
// 4. 搜尋乙個特定的值
class node
}class binarytreeelse
}elseif ($node->key > $newnode->key)else
}} public function insert($key)else
} // 中序遍歷
public function midsort()
public function midsortnode($node)
} // 尋找極值
public function findmin()
} public function findminnode(node $node)else
} public function findmax()
} public function findmaxnode(node $node)else
} // 查詢特定的值
public function find($val = '')
} public function findnode(node $node,$val)else if ($node->key > $val)else
}else if ($node->key < $val)else}}}
$tree = new binarytree();
// 節點插入
$nodes = array(8,3,10,1,6,14,4,7,13);
foreach ($nodes as $value)
// 中序遍歷
//$tree->midsort();
//print_r($tree->sortarr);
// 尋找極值
//$tree->findmin();
//$tree->findmax();
// 查詢特定的值
$tree->find(7);
echo "
";$tree->find(11);
執行結果:
找到7了
沒有這個東西!
PHP實現排序二叉樹的基本功能
本文實現了 排序二叉樹節點的插入,中序遍歷,極值的查詢和特定值的查詢的功能.基本沒有提供什麼概念和定義.建議先簡單了解一下本文提供的幾個概念在來看本文.實際上,只是簡單的提供了 注釋也很少,各位辛苦了.二叉樹 在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。排序二叉樹 左孩子節點的值小於父節點...
二叉樹的基本功能實現(c )
第一次學二叉樹啊,基本的功能為 建立,求葉子,求樹高,前序 遞迴 非遞迴 中序 遞迴 非遞迴 後序 遞迴 非遞迴 輸出.雖然有很多成分是書上的,不過辛苦了很久,安慰一下自己吧 include include head.h using namespace std int main 析構函式 void ...
用C 遞迴的方法實現二叉樹的基本功能
各功能的實現主要是運用遞迴的方法 運用遞迴的方法特點就是 簡短且易於理解 首先是標頭檔案的引入 引入了佇列 include includeusing namespace std 然後是樹的實現部分 用類的方法實現 函式實現方法均在類內實現 運用遞迴實現各項功能 class node 節點 char ...