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直到棧為空且無節(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
用Java編寫的二叉樹的數(shù)據(jù)結(jié)構(gòu),包括二叉樹的每個(gè)節(jié)點(diǎn)的值,以及各子樹的指針。
標(biāo)簽: Java 編寫 二叉樹 數(shù)據(jù)結(jié)構(gòu)
上傳時(shí)間: 2014-01-08
上傳用戶:qq21508895
原代碼泄露? 用webclass 來做,就不用考慮原代碼泄露這個(gè)問題了。 4.求教,有誰知道 網(wǎng)頁上的股市行情的定時(shí)刷新是怎么實(shí)現(xiàn)的嗎? ... 問:就是想得到,像這個(gè)論壇里顯示貼 子大小的方法,如(192 Bytes) 答:ADO中Field對(duì)象的ActualSize屬性7
上傳時(shí)間: 2015-04-02
上傳用戶:彭玖華
/*[原創(chuàng)]一個(gè)樹形多級(jí)菜單參考程序 這是一個(gè)用于車載電話的菜單程序,可以看成是手機(jī)功能菜單的簡化板. 我所認(rèn)為的樹形多級(jí)菜單是指:在一個(gè)父菜單項(xiàng)目下面有多個(gè)子菜單, 子菜單下面又有多個(gè)孫菜單...,進(jìn)入下層菜單主要依*當(dāng)前選中的索引.有點(diǎn)象文件的目錄結(jié)構(gòu). 本木從前實(shí)現(xiàn)這類的菜單主要*分層的switch語句,每層都是一個(gè)switch.但當(dāng)我看到曉奇大俠的 程序和耳朵灌滿lq等人的爭論后,那時(shí)那地,我的心境變化了,我意識(shí)到指針代表了先進(jìn)的生產(chǎn)力, 代表了社會(huì)的發(fā)展方向,是建設(shè)和諧社會(huì)的必要條件.不管你用了多長時(shí)間C語言,只要你不善于用 一個(gè)小針指來指去,你就是那種"用嘴吃飯的高貴騎士,決不用屁股裝彈步槍"的守舊分子和社會(huì)發(fā) 展的絆腳石.(跑題太遠(yuǎn),刪去1萬字...打住) .言歸正傳,下面的程序適用CPU為Mega16,編譯器為CVAVR 1.24.4a 由于按鍵數(shù)目較多,所以按鍵程 序把按鍵事件分為數(shù)字鍵,快捷鍵,確認(rèn)鍵,取消鍵,上下翻鍵幾類,以減小菜單結(jié)構(gòu)的容量.一下菜單 數(shù)據(jù)在菜單結(jié)構(gòu)數(shù)組中的偏移量,有多少個(gè)菜單象就有多少個(gè)宏定義*/
上傳時(shí)間: 2013-11-28
上傳用戶:tianyi223
常用的子串替換、去除空格、找子串等,以包含文件用,將main()注釋去掉,將.h改名.c就可以進(jìn)行測試。
標(biāo)簽:
上傳時(shí)間: 2015-04-27
上傳用戶:hxy200501
用c++builder6寫的連連看,有設(shè)定關(guān)卡,一共有四關(guān),大家參考看看!
標(biāo)簽: builder
上傳時(shí)間: 2015-05-06
上傳用戶:lepoke
本程序?qū)崿F(xiàn)的是一個(gè)對(duì)于一個(gè)給定的數(shù)字集合,再給一個(gè)數(shù)字限制,求得這個(gè)集合的所有子集合,使子集合的各個(gè)元素之和為給定的數(shù)字限制,如果沒有這樣的子集合,則輸入為空! 程序本身運(yùn)用的是回朔算法,但是值得注意的是,我用的是非遞歸的形式實(shí)現(xiàn)的,所以就顯現(xiàn)出了一定的難度.
上傳時(shí)間: 2015-05-25
上傳用戶:aa54
用java寫的猜數(shù)字遊戲,是猜四位數(shù)的那一種,支援人機(jī)對(duì)戰(zhàn),電腦最多猜七次就可以猜中玩家心中的數(shù)字,核心演算法是使用暴力法,大家可以參考
標(biāo)簽: java
上傳時(shí)間: 2015-06-02
上傳用戶:l254587896
用JAVA寫的網(wǎng)路五子棋遊戲,支援多人連線對(duì)戰(zhàn),還有聊天的功能,大家可以試
標(biāo)簽: JAVA
上傳時(shí)間: 2013-12-03
上傳用戶:Late_Li
---- Huffman 算法的不同實(shí)現(xiàn) 本目錄下的程序用8種不同的方式實(shí)現(xiàn)了Huffman編碼算法,這8種方式分別是 * huffman_a 使用鏈表結(jié)構(gòu)生成Huffman樹的算法,這是最基本的實(shí)現(xiàn)方法,效率最低。 * huffman_b 使用《數(shù)據(jù)結(jié)構(gòu)》(嚴(yán)蔚敏,吳偉民,1997,C語言版)中給出的算法,將二叉樹存放在連續(xù)空間里(靜態(tài)鏈表),空間的每個(gè)結(jié)點(diǎn)內(nèi)仍有左子樹、右子樹、雙親等指針。 * huffman_c 使用Canonical Huffman編碼,同時(shí)對(duì)huffman_b的存儲(chǔ)結(jié)構(gòu)進(jìn)行改造,將二叉樹存放在連續(xù)空間tree里,空間的每個(gè)結(jié)點(diǎn)類型都和結(jié)點(diǎn)權(quán)值的數(shù)據(jù)類型相同,空間大小為2*num,tree[0]未用,tree[1..num]是每個(gè)元素的權(quán)值,生成Huffman后,tree[1..2*num-1]中是雙親結(jié)點(diǎn)索引。 * huffman_d 在huffman_c的基礎(chǔ)上,增加預(yù)先排序的功能先用QuickSort算法對(duì)所有元素的權(quán)值從小到大排序,這樣,排序后最前面的兩個(gè)元素就是最小的一對(duì)元素了。我們可以直接將它們挑出來,組合成一個(gè)子樹。然后再子樹的權(quán)值用折半插入法插到已排序的元素表中, 保證所有結(jié)點(diǎn)有序。為了保證初始元素的順序不變,我們另外使用了一個(gè)索引數(shù)組,所有排序中的交換操作都是在索引數(shù)組中進(jìn)行的
上傳時(shí)間: 2015-06-12
上傳用戶:xg262122
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1