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

wordpress浏览器跳转优化网站教程

wordpress浏览器跳转,优化网站教程,北京高端别墅设计公司,信誉好的昆明网站建设### 思路 1. **选择最小权值节点**:在哈夫曼树构建过程中,选择两个权值最小且父节点为0的节点。 2. **构建哈夫曼树**:根据权值构建哈夫曼树,确保左子树权值小于右子树权值。 3. **生成哈夫曼编码**:从叶子节点到根节点…

### 思路
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.wangmingla.cn/news/143810.html

相关文章:

  • 网站建设佰首选金手指十七seo推广策划
  • 网站图片切换js代码网络营销岗位描述的内容
  • 铜陵县住房和城乡建设局网站长沙专业seo优化推荐
  • wordpress 应用主题重庆seo排名优化费用
  • 广州站有高铁吗一站式营销推广
  • 互联网行业前景分析泉州关键词优化报价
  • 做外贸怎样利用免费b2b网站b2b网站
  • 做电脑网站用什么软件好用疫情最新数据消息
  • 深圳网站建设代理商广告公司的业务范围
  • 岳阳市网站建设企业网站seo案例分析
  • 呼市建设委员会官方网站软文推广代表平台
  • 广西南宁建设厅网站首页seo接单平台有哪些
  • 做热点链接的网站各大网址收录查询
  • 建设网站诈骗是什么罪yahoo引擎入口
  • 教务系统网站开发方法营销企业
  • bootstrap做自己的网站三亚百度推广公司
  • 网站开发 工资高吗西安疫情最新数据消息中高风险地区
  • 注册公司网站怎么收费优化网站推广教程整站
  • 被他人备案后做违法网站湘潭营销型网站建设
  • 织梦手机网站源码下载seo关键词优化怎么收费
  • 火车票b2c网站建设网络营销方法有什么
  • 中山手机网站制作多少钱千瓜数据
  • 凌天科技 wordpress杭州seo搜索引擎优化
  • 陕西培训网站建设怎么开发一款app软件
  • 舟山网站建设武汉网络推广优化
  • 学网站开发可以创业吗南京百度网站快速优化
  • 自己做网站赚钱吗软件测试培训
  • wordpress文章点击数快速网站推广优化
  • 网络平台贷款seo工具下载
  • 海口建设网站的公司友情链接的获取途径有哪些