当前位置: 首页 > news >正文

文化传媒有限公司 网站建设wordpress模板 图片站

文化传媒有限公司 网站建设,wordpress模板 图片站,做属于公司的网站有什么好处,织梦网站新闻列表调用### 思路 1. **选择最小权值节点**#xff1a;在哈夫曼树构建过程中#xff0c;选择两个权值最小且父节点为0的节点。 2. **构建哈夫曼树**#xff1a;根据权值构建哈夫曼树#xff0c;确保左子树权值小于右子树权值。 3. **生成哈夫曼编码**#xff1a;从叶子节点到根节点… ### 思路 1. **选择最小权值节点**在哈夫曼树构建过程中选择两个权值最小且父节点为0的节点。 2. **构建哈夫曼树**根据权值构建哈夫曼树确保左子树权值小于右子树权值。 3. **生成哈夫曼编码**从叶子节点到根节点逆向生成每个字符的哈夫曼编码。 ### 伪代码 1. **选择最小权值节点**    - 遍历节点找到两个权值最小且父节点为0的节点。 2. **构建哈夫曼树**    - 初始化哈夫曼树节点。    - 输入值。    - 迭代构建哈夫曼树选择两个最小权值节点更新父节点和子节点信息。 3. **生成哈夫曼编码**    - 从叶子节点到根节点逆向生成编码存储在编码数组中。 ### C代码 #include stdio.h #include string.h #include iostream using namespace std;typedef struct {unsigned int weight;unsigned int parent, lchild, rchild; } HTNode, *HuffmanTree;typedef char **HuffmanCode;void select(HuffmanTree HT, int n, int s1, int s2) {int min1 0xFFFFFFFF, min2 0xFFFFFFFF; // Use large initial valuess1 s2 0;for (int i 1; i n; i) {if (HT[i].parent 0) {if (HT[i].weight min1) {min2 min1;s2 s1;min1 HT[i].weight;s1 i;} else if (HT[i].weight min2) {min2 HT[i].weight;s2 i;}}} }void createHuffmanTree(HuffmanTree HT, int n) {int i, m, s1, s2;if (n 1) return;m 2 * n - 1;HT new HTNode[m 1]; // 0号单元未用for (i 1; i m; i) { // 初始化HT数组HT[i].parent 0;HT[i].lchild 0;HT[i].rchild 0;}for (i 1; i n; i)cin HT[i].weight;for (i n 1; i m; i) { // 建哈夫曼树select(HT, i - 1, s1, s2);HT[s1].parent i;HT[s2].parent i;HT[i].lchild s1;HT[i].rchild s2;HT[i].weight HT[s1].weight HT[s2].weight;} }void createHuffmanCode(HuffmanTree HT, HuffmanCode HC, int n) {char *cd new char[n]; // 分配求编码的工作空间cd[n - 1] \0; // 编码结束符。int i, c, f, start;for (i 1; i n; i) {start n - 1;c i, f HT[i].parent;while (f) { // 从叶子到根逆向求编码--start;if (HT[f].lchild c) cd[start] 0;else cd[start] 1;c f, f HT[f].parent;}HC[i] new char[n - start]; // 为第i个字符编码分配空间strcpy(HC[i], cd[start]); // 从cd复制编码(串)到HC}delete[] cd; }int main() {int i, n;HuffmanTree HT;HuffmanCode HC;scanf(%d, n); // 权值个数HC new char*[n 1]; // 0空间未用createHuffmanTree(HT, n);createHuffmanCode(HT, HC, n);for (i 1; i n; i)printf(%s\n, HC[i]); // 输出哈夫曼编码for (i 1; i n; i)delete[] HC[i];delete[] HC;delete[] HT;return 0; } ### 总结 1. **选择最小权值节点**通过遍历找到两个值最小且父节点为0的节点。 2. **构建哈夫曼树**始化节点输入权值迭代构建哈夫曼树。 3. **生成哈夫曼编码**从叶子节点到根节点逆向生成编码存储在编码数组中。
http://www.dnsts.com.cn/news/9329.html

相关文章:

  • 外包网站建设报价简约个人主页
  • 网站每年费用2022年深圳在建工程查询
  • 网站开发怎么做才有利于seo上线了做网站多少钱
  • 网站建设销售客户开发怎么去掉2345网址导航
  • 东莞公司网站搭建多少钱网页广告怎么屏蔽
  • 微信网站制作企业千锋教育学费
  • 个体商户建自己的网站做销售北京互联网公司名单
  • 重庆免费建网站东莞营销型网站外包
  • 海淀企业网站建设冒险岛钓鱼网站做啥用
  • 成都网站seo厂家网站点赞怎么做
  • 如何给公司做自己的网站wordpress网站评论插件
  • 国防科技大学录取分数线优化公司怎么优化网站的
  • 设计之窗网站深圳网站设计公司在什么地方
  • 网站建设优惠本科软件开发专业
  • 如何提升网站速度wordpress手机显示不出主题
  • 商丘做网站sqlongliqiwordpress数据库注入
  • 教育局网站建设管理工作意见湖北省建设银行网站6
  • 太仓新网站优化一级造价工程师分几个专业
  • 公司国际网站怎么做用织梦建设网站
  • 怎么做二维码直接进入网站个人代做网站
  • 做的网站显示不了背景图片广东最新新闻
  • 名师工作室建设名师网站网页开发者模式快捷键
  • 如何做商业推广网站深圳互联网公司排行榜
  • 网站开发和数据库的关系网站开发与设计英文书籍
  • 表情包做旧网站shein跨境电商官网
  • 北京高级网站开发网站建设需要注意那些点
  • 沧州制作网站电商平台软件开发公司
  • 关于网站建设的请示范文h5如何做多页面网站
  • 加强机关网站内容建设入返晋人员登记网页怎么制作
  • 长沙便宜做网站wordpress社交类主题