91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 51.84MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2022-07-10
  • 語言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

一、實(shí)驗(yàn)?zāi)康?br/>1、深入掌握自適應(yīng)Huffman編碼的原理
2、掌握自適應(yīng)Huffman編碼算法的實(shí)現(xiàn)過程
3、掌握和熟悉利用編程語言實(shí)現(xiàn)自適應(yīng)Huffman編碼器和解碼器

二、實(shí)驗(yàn)要求
1、實(shí)現(xiàn)編碼器,對(duì)輸入字符給出相應(yīng)的編碼結(jié)果;
2、實(shí)現(xiàn)解碼器,對(duì)步驟1中的編碼結(jié)果進(jìn)行解碼;
3、請(qǐng)使用初始編碼表如下:

4、對(duì)字符串ABBCADAD進(jìn)行編碼;
5、截圖顯示編碼中間結(jié)果,并保證最終解碼結(jié)果正確;
6、編輯程序說明文檔。

資源截圖

代碼片段和文件信息

#include?“huffmanTree.h“


int?HuffmanTree::sum?=?1;

//存儲(chǔ)解碼數(shù)據(jù)的字符串
string?outp?=?““;

//二叉樹成員函數(shù)實(shí)現(xiàn)
BinaryTree::BinaryTree(int?num?int?weight)
{
p_root?=?new?Node(nullptr?nullptr?nullptr);
p_root->num?=?num;?//節(jié)點(diǎn)的序號(hào)
p_root->weight?=?weight;??//節(jié)點(diǎn)的權(quán)重值
}

BinaryTree::~BinaryTree()
{
deleteNode(p_root);
}

//交換節(jié)點(diǎn)位置的函數(shù)
bool?BinaryTree::swap(Node?*?p_nodeA?Node?*?p_nodeB)
{
if?(p_nodeA?==?nullptr?||?p_nodeB?==?nullptr?||?p_nodeA?==?p_nodeB)
return?false;
Node?*pTemp;
if?(getBrotherState(p_nodeA)?==?LeftChild)?{?//如果A節(jié)點(diǎn)是左孩子
if?(getBrotherState(p_nodeB)?==?LeftChild)?{?//?如果B節(jié)點(diǎn)是左孩子
pTemp?=?p_nodeA->p_parent->p_left;
p_nodeA->p_parent->p_left?=?p_nodeB->p_parent->p_left;
p_nodeB->p_parent->p_left?=?pTemp;
}
else?{
pTemp?=?p_nodeA->p_parent->p_left;
p_nodeA->p_parent->p_left?=?p_nodeB->p_parent->p_right;
p_nodeB->p_parent->p_right?=?pTemp;
}
}
else?{
if?(getBrotherState(p_nodeB)?==?LeftChild)?{
pTemp?=?p_nodeA->p_parent->p_right;
p_nodeA->p_parent->p_right?=?p_nodeB->p_parent->p_left;
p_nodeB->p_parent->p_left?=?pTemp;
}
else?{
pTemp?=?p_nodeA->p_parent->p_right;
p_nodeA->p_parent->p_right?=?p_nodeB->p_parent->p_right;
p_nodeB->p_parent->p_right?=?pTemp;
}
}
//交換了子節(jié)點(diǎn)之后,需要交換父節(jié)點(diǎn)
pTemp?=?p_nodeA->p_parent;
p_nodeA->p_parent?=?p_nodeB->p_parent;
p_nodeB->p_parent?=?pTemp;
return?true;

}

//把子節(jié)點(diǎn)加到父節(jié)點(diǎn)上,第一個(gè)參數(shù)是父節(jié)點(diǎn),第二個(gè)參數(shù)是子節(jié)點(diǎn),第三個(gè)參數(shù)是位置
bool?BinaryTree::addNode(Node?*?p_parent?Node?*?p_child?Brother?brotherState)
{
if?(p_parent?==?nullptr?||?p_child?==?nullptr)
return?false;
if?(brotherState?==?LeftChild)?{?
if?(p_parent->p_left?!=?nullptr)?{
std::cout?< return?false;//如果父節(jié)點(diǎn)有左孩子,則不能添加到左孩子位置
}
p_parent->p_left?=?p_child;//否則可以添加
}
else?if?(brotherState?==?RightChild)?{?
if?(p_parent->p_right?!=?nullptr)?{
std::cout?< return?false;//如果父節(jié)點(diǎn)有右孩子,則不能添加到右孩子位置
}
p_parent->p_right?=?p_child;//否則可以添加
}
else?{
std::cout?< return?false;
}
p_child->p_parent?=?p_parent;
return?true;
}

//判斷p節(jié)點(diǎn)是否在樹中,返回節(jié)點(diǎn)信息
Node?*?BinaryTree::findNode(Node?*p)
{
Node?*p_node?=?p_root;
std::queue?queue;
queue.push(p_node);
while?(!queue.empty())?{?//若隊(duì)列不為空
p_node?=?queue.front();?//將隊(duì)列中第一個(gè)元素拿出來
if?(p_node?==?p)?{
return?p_node;?//如果該元素是我想找的節(jié)點(diǎn),則返回
}
queue.pop();?//如果不是則踢出隊(duì)列
//繼續(xù)往下找
if?(p_node->p_left?!=?nullptr)?{
queue.push(p_node->p_left);
}
if?(p_node->p_right?!=?nullptr)?{
queue.push(p_node->p_right);
}
}
return?nullptr;
}

//給節(jié)點(diǎn)賦序號(hào)值
bool?BinaryTree::setNodeNum(Node*?p_node?int?num)
{
if?(p_node?==?nullptr)
return?false;
else?{
p_node->num?=?num;
return?true;
}
}

//判斷第二個(gè)參數(shù)對(duì)應(yīng)的節(jié)點(diǎn)是否在第一個(gè)參數(shù)對(duì)應(yīng)節(jié)點(diǎn)的更高層里面
bool?BinaryTree::isAncestor(Node?*?p_nodeChild?Node?*?p_nodeAncestor)
{
while?(p_n

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-01-12?18:30??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\實(shí)驗(yàn)報(bào)告\
?????文件?????1113617??2020-01-12?18:30??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\實(shí)驗(yàn)報(bào)告\1191170125+嚴(yán)偉+實(shí)驗(yàn)二.docx
?????目錄???????????0??2019-11-13?10:39??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\
?????目錄???????????0??2019-11-13?10:41??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\
?????目錄???????????0??2019-11-13?10:13??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\
?????目錄???????????0??2019-11-13?10:13??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\
?????目錄???????????0??2019-11-14?16:32??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\
?????文件???????38912??2019-11-14?16:32??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\.suo
?????文件????37789696??2019-11-14?16:32??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\Browse.VC.db
?????目錄???????????0??2019-11-13?10:14??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\
?????目錄???????????0??2019-11-13?10:41??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\
?????目錄???????????0??2019-11-14?12:30??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\1e0a61e5ddd2089\
?????文件????38600704??2019-11-14?15:58??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\1e0a61e5ddd2089\ADATIVEHUFF.ipch
?????目錄???????????0??2019-11-13?10:41??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\1f43f785a88f2e7a\
?????文件????38141952??2019-11-13?10:41??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\1f43f785a88f2e7a\ADATIVEHUFF.ipch
?????目錄???????????0??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\59b291d91855879a\
?????文件????40566784??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\59b291d91855879a\ADATIVEHUFF.ipch
?????目錄???????????0??2019-11-13?10:15??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\a0c76fed011b15ef\
?????文件????31719424??2019-11-13?10:34??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\a0c76fed011b15ef\HUFFMANTREE.ipch
?????目錄???????????0??2019-11-13?10:40??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\bca905110c37abfa\
?????文件????40566784??2019-11-13?10:40??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\.vs\adaptiveHuffman\v15\ipch\AutoPCH\bca905110c37abfa\ADATIVEHUFF.ipch
?????文件????????1458??2019-11-13?10:13??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman.sln
?????目錄???????????0??2019-11-14?11:45??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\
?????文件????????6034??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\adaptiveHuffman.vcxproj
?????文件????????1080??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\adaptiveHuffman.vcxproj.filters
?????文件?????????165??2019-11-13?10:13??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\adaptiveHuffman.vcxproj.user
?????文件???????10522??2019-11-14?11:45??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\adativeHuff.cpp
?????目錄???????????0??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\Debug\
?????文件?????????199??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\Debug\adaptiveHuffman.log
?????目錄???????????0??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\Debug\adaptiveHuffman.tlog\
?????文件?????????296??2019-11-13?10:38??1191170125_嚴(yán)偉_實(shí)驗(yàn)2\源代碼\adaptiveHuffman\adaptiveHuffman\Debug\adaptiveHuffman.tlog\adaptiveHuffman.lastbuildstate
............此處省略37個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源