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

青岛专业网站建设推广报价网站版面设计方案

青岛专业网站建设推广报价,网站版面设计方案,如何注册个做电影的网站,湛江高端网站开发一、哈夫曼树概念 哈夫曼树又称最优树给定N个权值作为N个叶子结点#xff0c;构造一棵二叉树#xff0c;若该树的带权路径长度达到最小#xff0c;称这样的二叉树为最优二叉树#xff0c;也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树#xff0c;权值较大…一、哈夫曼树概念 哈夫曼树又称最优树给定N个权值作为N个叶子结点构造一棵二叉树若该树的带权路径长度达到最小称这样的二叉树为最优二叉树也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树权值较大的结点离根较近。 例给定一个有序数组{3,5,6,9,10}构造出一个哈夫曼树如下 树的带权路径长度规定为所有叶子结点的带权路径长度之和记为WPL WPL  (35)*4   6*3 9*2 10*1 98 二、实现代码 1、定义树结点 typedef struct huffmantreenode {int* data;struct huffmantreenode* leftNode;struct huffmantreenode* rightNode; } HuffmanTree; 2、声明函数操作 /***创建节点 */ HuffmanTree* create_huffman_tree(int data);/*** 初始化哈夫曼根节点 */ HuffmanTree* create_huffman_tree_root(int first,int second);/*** 新增节点 */ void insert_huffmantree_node(HuffmanTree** tree,int data);/*** 前序遍历 */ void pre_oder_huffmantree(HuffmanTree** tree);/*** 销毁树 */ void destroy_huffmantree(HuffmanTree* tree); 3、函数定义 HuffmanTree* create_huffman_tree(int data) {HuffmanTree* node malloc(sizeof(HuffmanTree*));if(nodeNULL){perror(节点点申请内存失败);return NULL;}node-data malloc(sizeof(int*));*(node-data) data;node-leftNode NULL;node-rightNode NULL;return node; }HuffmanTree* create_huffman_tree_root(int first,int second) {HuffmanTree* firstNode create_huffman_tree(first);HuffmanTree* secondNode create_huffman_tree(second);HuffmanTree* root create_huffman_tree(firstsecond);root-leftNode firstNode;root-rightNode secondNode;return root; }void insert_huffmantree_node(HuffmanTree** tree,int data) {HuffmanTree* root *tree;if(rootNULL){perror(初始结点为空);return;}int rootData *(root-data);HuffmanTree* node create_huffman_tree(data); HuffmanTree* newRoot create_huffman_tree(datarootData); bool isLeft rootDatadata;newRoot-leftNode isLeft?root:node;newRoot-rightNode isLeft?node:root;*tree newRoot; }void pre_oder_huffmantree(HuffmanTree** tree) {HuffmanTree* curNode *tree;if(curNodeNULL){return;}printf(前序遍历sort%d\n,*(curNode-data));pre_oder_huffmantree((curNode-leftNode));pre_oder_huffmantree((curNode-rightNode)); }void destroy_huffmantree(HuffmanTree* tree) {if(treeNULL){return;}destroy_huffmantree(tree-leftNode);destroy_huffmantree(tree-rightNode);free(tree); } 4、测试函数 void test_huffmantree() {int arr[] {3,5,6,9,10};HuffmanTree* root create_huffman_tree_root(arr[0],arr[1]);int i 2;for(;i5;i){insert_huffmantree_node(root,arr[i]);}pre_oder_huffmantree(root);destroy_huffmantree(root); }
http://www.tj-hxxt.cn/news/131371.html

相关文章:

  • 怎么修改公司网站图片张家港网站制作服务
  • 龙岗外贸网站制作图片生成链接网站
  • 美容 北京 公司 网站建设昆明网站建设天猫运营
  • ps制作网站logo怎么增加网站流量
  • 东八区网站建设中信建设有限责任公司内江分公司
  • 为什么有些网站更新的信息看不到有赞商城网站建设
  • 怎么用word做一个网站综合性门户网站列举
  • 福州网站设计外包书城网站开发
  • 宝安电子厂做高端网站一键优化为什么不能100
  • 食品网站建设规划书比较好的响应式网站
  • 荷城网站制作网站开发工资怎么样
  • 深圳做网站服务商免费企业名录搜索软件
  • h5营销型网站跨境网络服务
  • 平面排版网站什么是网络营销的渠道策略
  • 100m的光纤可以做网站吗云南省建设学校网站
  • 网站文章不收录怎么做电脑网站与手机的区别
  • 集团网站建设的好处个人html网站
  • 网站改版需要多久什么是跨境电商平台
  • 怎么做兼职类网站石家庄网站制作招聘
  • 廊坊市网站推广网站广告推广价格
  • wordpress做资源下载站wordpress里无法添加图片
  • 广州天河区建设网站公司网站开发和竞价
  • 鹰潭做网站的汽配公司的网站要怎么做
  • 网站和管理系统的区别互联网营销师怎么做
  • 济南网站建设和优化wordpress菜单分列
  • wordpress自适应建站wordpress玻璃质感主题
  • 清河网站建设价格空气净化器用什么网站做外贸
  • php网站源码建设教程互联网创业项目排行榜
  • 网站开发报价明细济南网站seo报价
  • php网站制作工具做网站关键词必须要中文网址