亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

哈夫曼樹(最優二叉樹)

系統 1880 0

....差點忘記寫博客了...

?

?

哈夫曼樹 .. 其實就是只利用葉子結點來存儲要用信息的樹,只不過它在構造的時候就擁有了一個迷人的特性... 就是WPL(帶權路徑長度)是最小的.. 而且還能用這個樹的來為葉子結點中的信息進行編碼, 得出來的各個編碼一定不會相同,并且不會產生混淆的情況..

?

通過哈夫曼樹的特點.實現了根據一個隊列來創建一棵哈夫曼樹的方法.

    /**
	 * 得到隨機產生的隊列
	 */
	public void setQueue() {
		Random rd = new Random();
		System.out.println("隨機產生的隊列為:");
		for (int i = 0; i < 10; i++) {
			int k = rd.nextInt(20);
			TreeNode tn = new TreeNode(k);
			queue.add(tn);
			System.out.print(k + " ");
		}
		System.out.println();
	}

	// 得到隊列
	public PriorityQueue<TreeNode> getQueue() {
		return queue;
	}

	// 建樹,while (queue.size()>=2)
	public TreeNode CreatTree(PriorityQueue<TreeNode> queue) {
		TreeNode lc = queue.poll();
		TreeNode rc = queue.poll();
		// 兩個最小的結點通過這個結點連接起來
		TreeNode tr = new TreeNode((Integer) lc.getData()
				+ (Integer) rc.getData());
		tr.setLchild(lc);
		tr.setRchild(rc);
		lc.setParent(tr);
		rc.setParent(tr);
		// 將其父結點放入隊列.
		queue.add(tr);
		return tr;// 將根結點返回.當返回到最后一個根結點時就構成了一棵樹
	}

  

?到此.. 哈夫曼樹就建成了. 接下來就是哈夫曼編碼了.這個的實現我用到了遞歸,并且是每個葉結點往回找

?

    /**
	 * 為每個葉結點編碼,返回字符串
	 * 
	 * @param leaf每次傳入一個葉結點
	 * @return以字符串形式返回每個葉結點的哈夫曼編碼
	 */
	public String ToCode(TreeNode leaf) {
		String s = "";
		// 葉結點存在雙親結點.
		if (leaf.getParent() != null) {
			if (leaf.getParent().getLchild() == leaf) {
				// 向父結點遞歸
				s = ToCode(leaf.getParent()) + 0;
				return s;// 葉結點為左孩子時,在遞歸得到的編碼后面加個0;
			} else if (leaf.getParent().getRchild() == leaf) {
				// 向父結點遞歸
				s = ToCode(leaf.getParent()) + 1;
				return s;// 葉結點為右孩子時,在遞歸得到的編碼后面加個1;
			}
		}
		return s;
	}
  

?

?通過這個方法.. 實現對哈夫曼樹中葉子結點進行哈夫曼編碼的
哈夫曼樹(最優二叉樹)

?

?

?

補充個.. 今天讀取文件中的字節時..發現0出現的次數是最多的 ... 讀了個162M的文件..?0的個數比其他的數出現的次數多了10萬次 ....
?

哈夫曼樹(最優二叉樹)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 美女视频黄a视频免费全过程在线 | 草草免费观看视频在线 | 99精品欧美| 久久九九视频 | 免费网站啪啪大全 | 看日本真人一一级特黄毛片 | 伊人一区二区三区 | 久久综合九色综合97婷婷女人 | 精品久久久影院 | 免费播放国产一级 | 国产特黄| 欧美一级视频在线 | 久久国产精品免费一区二区三区 | 狠狠狠地在啪线香蕉 | 天天干狠狠操 | 99热久久国产精品这里有6 | 成人免费黄网站 | 97中文字幕在线观看 | 97在线视频网站 | 99精品久久99久久久久 | 天天做天天爱天天影视综合 | 久久久久久综合 | 国产精品1000部在线观看 | 欧美日韩亚洲国产精品一区二区 | 亚洲精品一区二区三区国产 | 欧美乱大交xxxxxbbb | 另类重口性色老妇 | 国产成人免费 | 亚洲性一级理论片在线观看 | 四虎在线免费观看 | 日本一区二区网站 | 亚洲精品中文一区不卡 | 尹人香蕉久久99天天拍欧美p7 | 欧美日韩北条麻妃一区二区 | 正在播放一区 | 一本久久a久久精品vr综合 | 日本在线观看一级高清片 | 奇米影视第四色888 奇米影视第四色首页 | 777奇米影音 | 精品久久久久久久九九九精品 | 亚洲va国产日韩欧美精品色婷婷 |