ADT BinaryTree 的實(shí)現(xiàn)及驗(yàn)證程序采用的主要數(shù)據(jù)結(jié)構(gòu):二叉樹、棧、隊(duì)算法思想:1、 先序建樹、輸出樹、后序遍歷用遞歸方法。性能分析:O( n )2、 先序遍歷、中序遍歷:性能分析:O( n )(1) 若遇到新節(jié)點(diǎn)非空則先入棧,然后訪問其左子樹。(2) 若為空則將棧頂結(jié)點(diǎn)出棧,訪問其右子樹。(3) 循環(huán)1、2直到棧為空且無(wú)節(jié)點(diǎn)可入棧。先序與中序的區(qū)別是:先序在入棧時(shí)訪問節(jié)點(diǎn),中序在出棧時(shí)訪問節(jié)點(diǎn)。3、 層遍歷:性能分析:O( n )(1) 根節(jié)點(diǎn)入隊(duì)(2) 節(jié)點(diǎn)出隊(duì)并訪問(3) 若節(jié)點(diǎn)有左孩子,則左孩子入隊(duì);有右孩子,則右孩子入隊(duì)。(4) 重復(fù)2、3直到隊(duì)列為空。4、 線索樹:算法與先序遍歷、中序遍歷一樣,只是將訪問節(jié)點(diǎn)的Visit函數(shù)改為連接前驅(qū)與后繼的操作。性能分析:O(
標(biāo)簽:
BinaryTree
ADT
性能分析
樹
上傳時(shí)間:
2014-12-20
上傳用戶:SimonQQ