1樓:匿名使用者
資料結構樹和二叉樹的實際應用:哈夫曼編碼。
利用哈夫曼編碼進行通訊可以大大提高通道的利用率,縮簡訊息傳輸的時間,降低傳輸成本。根據哈夫曼編碼的原理,編寫一個程式,在使用者輸入結點權值的基礎上求哈夫曼編碼。
從鍵盤輸入若干字元及每個字元出現的頻率,將字元出現的頻率作為結點的權值,建立哈夫曼樹,求出各字元的哈夫曼編碼。
要求:輸出存放哈夫曼樹的陣列ht的初態和終態;輸出每個字元的哈夫曼編碼;輸入由上述若干字元組成的字串,對電文進行編碼並輸出;輸入電文的哈夫曼編碼,進行譯碼並輸出。
在電腦科學中,樹是用來模擬具有樹狀結構性質的資料集合。它是由n(n>=0)個有限節點組成一個具有層次關係的集合。把它叫做「樹」是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
(n = 0 時稱為空樹)
特點有:每個節點有零個或多個子節點;沒有父節點的節點稱為根節點;每一個非根節點有且只有一個父節點;除了根節點外,每個子節點可以分為多個不相交的子樹。
二叉樹的性質:
二叉樹的第ii層至多擁有2i−12i−1個節點數, ii>=1);
深度為 kk的二叉樹至多總共有 2k−12k−1 個節點數,(kk>=1);
對任何一棵非空的二叉樹tt,如果其葉片(終端節點)數為 n0n0,分支度為22的節點數為 n2n2,則 n0=n2+1。
2樓:蔥秀才
一個單位有10個部
門,每個部門都有一部**,但是整個單位只有一根外線,當有**打過來的時候,由轉接員轉到內線**,已知各部門使用外線**的頻率為(次/天)
5 20 10 12 8 4 3 5 6 9問應該如何設計個內線**號碼,使得接線員撥號次數儘可能少?
這是哈夫曼樹的應用
資料結構中,怎麼樣才能學好二叉樹,? 與實際程式設計中有什麼用?
3樓:匿名使用者
一種資料結
構,來用於自儲存和處理樹狀的資料,如家譜bai應用極為廣泛du,因為根zhi據資料結構的理dao論,任何複雜的樹夠可以轉換為二叉中並進行處理二叉樹再排序、查詢、大規模資料索引方面有很多很多應用二叉樹排序是簡單演算法排序中速度最快的
比如顯示一個樹結構.在一個樹裡找指定的結點.寫遊戲的時候,我把場景放到節點上,這樣出了一個場景,就切到父節點的場景.
這個叫做'入口'技術,通過變換節點在樹中的位置,開啟同一個門,就可以到不同的地方.
二叉樹是用來幹什麼的?在軟體工程方面有什麼用途,請幫小弟舉幾個例項。
4樓:石立川
二叉樹沒怎麼用過,只是學習時候入門用的資料結構.現在用的基本上都是多於二個叉的樹.比如顯示一個樹結構.
在一個樹裡找指定的結點.寫遊戲的時候,我把場景放到節點上,這樣出了一個場景,就切到父節點的場景.這個叫做'入口'技術,通過變換節點在樹中的位置,開啟同一個門,就可以到不同的地方.
泛泛的二叉樹沒怎麼用,不過排序二叉樹倒是不錯,提高查詢速度.我在遊戲裡面用了,很有效果哦:)
5樓:匿名使用者
一種資料結構,用於儲存和處理樹狀的資料,如家譜應用極為廣泛,因為根據資料結構的理論,任何複雜的樹夠可以轉換為二叉中並進行處理
二叉樹再排序、查詢、大規模資料索引方面有很多很多應用二叉樹排序是簡單演算法排序中速度最快的
6樓:匿名使用者
簡單來說,二叉樹是一種獲得最佳答案的演算法,在實際專案中,用在決策分析的場合比較多
7樓:
二叉樹是一種資料結構,軟體工程中會有許多這樣的資料結構,很有用
資料結構中,圖與樹,二叉樹比線性表有什麼優點?
8樓:涼念若櫻花妖嬈
二叉樹二叉樹能夠說是人們假想的一個模型,因此,允許有空的二叉樹是無爭議的。二叉樹是有序的,左邊有一個孩子和右邊有一個的二叉樹是不同的兩棵樹。做這個規定,是因為人們賦予了左孩子和右孩子不同的意義,在二叉樹的各種應用中,會清楚的看到。
看各種講資料結構的書,會發現一個有趣的現象:在二叉樹這裡,基本操作有計算樹高、各種遍歷,就是沒有插入、刪除——樹是怎麼建立起來的,其實這很好理解,對於非線性的樹結構,插入刪除操作不在一定的法則規定下,是毫無意義的。因此,只有在具體的應用中,才會有插入刪除操作。
節點結構,資料域、左指標、右指標肯定是必須的。除非很少用到節點的雙親,或是資源緊張,建議附加一個雙親指標,這將會給很多演算法帶來方便,尤其是在這個「空間換時間」的時代。
9樓:匿名使用者
你好,圖:非線性結構 點與點是多對多的關係 之間是平等的 沒有父節點 兄弟 孩子之分
樹:非線性結構 點與點是一對多的關係 有父節點 孩子節點 兄弟節點 (注意*樹不能為空**** 所以二叉樹不是樹)
儲存: 雙親表示法 孩子表示法 孩子兄弟表示法)二叉樹:有左右方向之分 可以為空 ,二叉樹可以順序儲存(主要用於完全二叉是樹的儲存)也可用二叉連結串列 三叉連結串列 索引表
線性表:線性結構
可以順序表示 也可以用連結串列表示
希望能夠幫到你,望採納
資料結構二叉樹題目,資料結構二叉樹題目
下面是c 的 主要是一個遞迴的思維。收好都是我自己寫的,能用 bintree.h 定義 struct node class bintree bintree.cpp bintree.cpp implementation of the bintree class.include bintree.h bi...
二叉樹的問題,二叉樹問題
二叉樹就是僅有兩個分支,而且左右分支位置不能交換的樹型結構。a b c d e 這就是一個簡單的二叉樹。所謂中序遍歷就是指訪問二叉樹時先訪問左孩子,接著訪問它的雙親,最後訪問右孩子的一種遍歷方法。有一個資料結構的學習網頁,不錯。還有動畫配合理解。二叉樹問題 50 二叉樹問題 先解釋為什麼d對,因為二...
滿二叉樹和完全二叉樹的區別
滿二叉樹 除了葉結點外每一個結點都有左右子女且葉結點都處在最底層的二叉樹,這個似乎很好想像出來 完全二叉樹 只有最下面的兩層結點度小於2,並且最下面一層的結點都集中在該層最左邊的若干位置的二叉樹 這個,就說從滿二叉樹裡,最下一層的葉子,如果是從右往左拿掉葉子,不論多少,都是完全的,如果不是從右往左拿...