深圳搜索优化排名企业seo的措施有哪些

张小明 2026/1/13 2:41:01
深圳搜索优化排名,企业seo的措施有哪些,wordpress4.7.3下载,静态网站开发步骤7.11 哈夫曼树 1. 哈夫曼树的基本概念 哈夫曼树#xff0c;是二叉树的一个具体应用。有关概念如下#xff1a; 路径#xff1a;从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。路径长度#xff1a;路径上的分支数目称作路径长度。树的路径长度#xf…7.11 哈夫曼树1. 哈夫曼树的基本概念哈夫曼树是二叉树的一个具体应用。有关概念如下路径从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。路径长度路径上的分支数目称作路径长度。树的路径长度从树根到每一结点的路径长度之和。权赋予某个实体的一个量是对实体的某个或某些属性的数值化描述。在数据结构中实体有结点元素和边关系两大类所以对应有结点权和边权。结点权或边权具体代表什么意义由具体情况决定。带权树如果一棵树中的结点上带有权值则称此树为带权树。结点的带权路径长度从根结点到具有权值的结点之间的路径长度与该结点上权的乘积为结点的带权路径长度Weighted Path Length, WPL。树的带权路径长度树中所有叶子结点的带权路径长度之和通常记作WPL ∑ k 1 n w k l k \text{WPL}\sum\limits_{k1}^nw_kl_kWPLk1∑n​wk​lk​其中n nn表示叶子结点的个数w k w_kwk​和l k l_klk​分别表示第k kk个叶子结点的权值和根到它之间的路径长度即从根结点到该叶子结点的路径上经过的分支数。以图 7.10.3 所示二叉树为例从结点 G 到结点 J 的路径是G → H → I → J G\to H\to I\to JG→H→I→J从 A 到 D 的路径是A → B → C → D A\to B\to C\to DA→B→C→D。从根结点 A 到 叶子结点 D 的路径长度是 3共计 3 个分支从 E 到 H 的路径长度是 2。记录下从根结点 A 到每结点的路径长度l k ( k 1 , 2 , ⋯ , 9 , 即 : B , C , D , E , F , G , H , I , J ) l_k~(k1,2,\cdots,9,即:B,C,D,E,F,G,H,I,J)lk​(k1,2,⋯,9,即:B,C,D,E,F,G,H,I,J)则该二叉树的路径长度是L ∑ k 1 9 l k L\sum\limits_{k1}^9l_kLk1∑9​lk​。假设叶子结点 DFJ 权分别是 7,2,8 那么结点 D 的带权路径长度为7 × 3 21 7\times3217×321。二叉树的带权路径长度为WPL 7 × 3 2 × 2 8 × 5 65 \text{WPL}7\times32\times28\times565WPL7×32×28×565。如果有一组具有确定权值的叶子结点用这些叶子结点可以构造出多个具有不同带权路径长度的二叉树如图 7.11.1 所示由 4 个具有确定权值的叶子结点构成了 4 棵不同的二叉树这些树的带权路径分为为图 7.11.1(a)WPL 1 × 2 3 × 2 5 × 2 7 × 2 32 \text{WPL}1\times23\times25\times27\times232WPL1×23×25×27×232图 7.11.1(b)WPL 1 × 2 3 × 3 5 × 3 7 × 1 33 \text{WPL}1\times23\times35\times37\times133WPL1×23×35×37×133图 7.11.1©WPL 7 × 3 5 × 3 3 × 2 1 × 1 43 \text{WPL}7\times35\times33\times21\times143WPL7×35×33×21×143图 7.11.1(d)WPL 1 × 3 3 × 3 5 × 2 7 × 1 29 \text{WPL}1\times33\times35\times27\times129WPL1×33×35×27×129图 7.11.1 带权树由上述计算可知即使叶子结点的权值相同但是由于二叉树不同或者在二叉树中的位置不同最终所得到的二叉树的带权路径长度 WPL 的值也不同特别是比较图 7.11.1© 和图 7.11.1(d) 可知如果将权值比较大的叶子结点放置在靠近根结点的位置即路径长度小而叶子结点权值较小的放置在远离根结点的位置即路径长度大这样所构造的二叉树的 WPL 的值较小。假设有m mm个权值{ w 1 , w 2 , ⋯ , w m } \{w_1,w_2,\cdots,w_m\}{w1​,w2​,⋯,wm​}可以构造一棵含n nn个叶子结点的二叉树每个叶子结点的权为w i w_iwi​则其中带权路径长度 WPL 最小的二叉树称做最优二叉树或哈夫曼树。图 7.11.1(d) 的 WPL 是图中各树最小并且可以验证它恰为哈夫曼树即其带全路径长度在所有权为 7, 5, 3, 1 的 4 个叶子结点的二叉树中最小。由上述例子可以直观地发现在哈夫曼树中权值越大的结点离根结点越近。根据这个特点哈夫曼最早给出了一个构造哈夫曼树的方法称哈夫曼算法。2. 哈夫曼树的构造算法1哈夫曼树的构造过程根据给定的n nn个权值{ w 1 , w 2 , ⋯ , w n } \{w_1,w_2,\cdots,w_n\}{w1​,w2​,⋯,wn​}构造n nn棵只有根结点的二叉树这n nn棵二叉树构成一个森林F FF。在森林F FF中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。在森林F FF中删除这两棵树同时将新得到的二叉树加入F FF中。重复 (2) 和 (3) 直到F FF只含一棵树为止。这棵树便是哈夫曼树。在构造哈夫曼树时首先选择权小的这样保证权大的离根较近这样一来在计算树的带权路径长度时自然会得到最小带权路径长度这种生成算法是一种典型的贪心法。贪心算法Greedy Algorithm又称贪婪算法是一种在每一步选择中都采取在当前状态下最好或最优即最有利的选择从而希望导致结果是最好或最优的算法。比如在旅行推销员问题中如果旅行员每次都选择最近的城市那这就是一种贪心算法。贪心算法在有最优子结构的问题中尤为有效。最优子结构的意思是局部最优解能决定全局最优解。简单地说问题能够分解成子问题来解决子问题的最优解能递推到最终问题的最优解。例如图 7.11.2 为哈夫曼树的构造过程。图 7.11.2 哈夫曼树的构造过程2哈夫曼算法的实现哈夫曼树是一种二叉树可以采用之前所学习过的通用存储方法而由于哈夫曼树中没有度为1 11的结点则一棵有n 0 n_0n0​个叶子结点即二叉树中度为 0 的结点的哈夫曼树共有2 n 0 − 1 2n_0-12n0​−1个结点可以存储在一个大小为2 n 0 − 1 2n_0-12n0​−1的一维数组中。【定理】对于具有n 0 n_0n0​个叶子结点的哈夫曼树共有2 n 0 − 1 2n_0-12n0​−1个结点。证明在哈夫曼树的构造过程中每次都是将两棵树合并为一棵树所以哈夫曼树中不存在度为 1 的结点即n 1 0 n_10n1​0。由二叉树的性质n 0 n 2 1 n_0n_21n0​n2​1即n 2 n 0 − 1 n_2n_0-1n2​n0​−1则n n 0 n 1 n 2 n 0 n 2 n 0 n 0 − 1 2 n 0 − 1 nn_0n_1n_2n_0n_2n_0n_0-12n_0-1nn0​n1​n2​n0​n2​n0​n0​−12n0​−1。树中每个结点还要包含其双亲信息和孩子结点的信息由此每个结点的存储结构设计如图 7.11.3 所示。图 7.11.3 哈夫曼树的结点结构哈夫曼树中的结点类型typedefstruct{intweight;//结点的权值intparent,lchild,rchild;//结点的双亲、左孩子、右孩子的下标}HTNode,*HuffmanTree;//动态分配数组存储哈夫曼树哈夫曼树的各结点存储在由 HufmanTree 定义的动态分配的数组中为了实现方便数组的 0 号单元不使用从 1 号单元开始使用所以数组的大小为2 n 2n2n。将叶子结点集中存储在前面部分1 ∼ n 1\sim n1∼n个位置而后面的n − 1 n-1n−1个位置存储其余非叶子结点。【算法步骤】构造哈夫曼树算法的实现可以分成两大部分。① 初始化首先动态申请2 n 2n2n个单元然后循环2 n − 1 2n-12n−1次从 1 号单元开始依次将 1 至2 n − 1 2n-12n−1所有单元中的双亲、左孩子、右孩子的下标都初始化为 0最后再循环n nn次输入前n nn个单元中叶子结点的权值。② 创建树循环n − 1 n-1n−1次通过n − 1 n-1n−1次的选择、删除与合并来创建哈夫曼树。选择是从当前森林中选择双亲为 0 且权值最小的两个树根结点 s1 和 s2删除是指将结点 s1 和 s2 的双亲改为非 0合并就是将 s1 和 s2 的权值和作为一个新结点的权值依次存入到数组的第n 1 n1n1之后的单元中同时记录这个新结点左孩子的下标为 s1右孩子的下标为 s2。【算法描述】voidCreateHuffmanTree(HuffmanTreeHT,intn){//构造哈夫曼树 HTif(n1)return;m2*n-1;HTnew HTNode[m1];//0 号单元未用所以需要动态分配 m1 个单元HT[m] 表示根结点for(i1;im;i){//将 1~m 号单元中的双亲、左孩子、右孩子的下标都初始化为 0HT[i].parent0;HT[i].lchild0;HT[i].rchild0;}for(i1;in;i){//输入前 n 个单元叶子结点的权值cinHT[i].weight;}//初始化工作结束下面开始创建哈夫曼树for(in1;im;i){//通过 n-1 次的选择、删除、合并来创建哈夫曼树//在 HT[k] (1≤k≤i-1) 中选择两个其双亲域为 0 且权值最小的结点//并返回它们在 HT 中的序号 s1 和 s2Select(HT,i-1,s1,s2);//得到新结点 i从森林中删除 s1, s2//将 s1 和 s2 的双亲域由 0 改为 iHT[s1].parenti;HT[s2].parenti;//s1, s2 分别作为 i 的左右孩子HT[i].lchilds1;HT[i].rchilds2;//i 的权值为左右孩子权值之和HT[i].weightHT[s1].weightHT[s2].weight;}}例 7.11.1已知w ( 5 , 29 , 7 , 8 , 14 , 23 , 3 , 11 ) w(5, 29, 7, 8, 14, 23, 3, 11)w(5,29,7,8,14,23,3,11)利用哈夫曼树的构造方法构造一棵哈夫曼树并计算树的带权路径长度。【解】将叶子结点按照权值从小到大排序如下图所示。将前两个叶子结点构造成一个新的二叉树并且重新排序。按照上述的方法不断构建二叉树最终得到哈夫曼树。WPL ( 3 5 7 8 ) × 4 ( 11 14 ) × 3 ( 23 29 ) × 2 271 \text{WPL}(3578)\times4(1114)\times3(2329)\times2271WPL(3578)×4(1114)×3(2329)×2271例 7.11.1高度为h ( h ≥ 1 ) h~(h\ge1)h(h≥1)的哈夫曼树中至少有① 个结点至多有②个结点。A.2 h − 1 2^h-12h−1\qquadB.2 h − 1 2^{h-1}2h−1\qquadC.2 h 2h2h\qquadD.2 h − 1 2h-12h−1【解】当高度为h ( h ≥ 1 ) h~(h\ge1)h(h≥1)的哈夫曼树为一个满二叉树时结点个数最多此时总节点数为2 h − 1 2^h-12h−1。最少时第 1 层只有一个结点2~h 层各 2 个节点此时为2 h − 1 2h-12h−1个。本题答案①D②A例 7.12.1由带权为 9、2、5、7 的 4 个叶子结点构成的一棵哈夫曼树的带权路径长度是 A. 23\qquadB.37\qquadC. 46\qquadD. 44【解】根据权值构造如下图所示的哈夫曼树计算其带全路径长度 ( 2 5 ) × 3 7 × 2 9 × 1 44 (25)\times37\times29\times144(25)×37×29×144。本题答案D
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站是用什么编程语言编写的wordpress 导入 微信

编程中的数学与语言特性问题及解决方案 1. 计算圆周率 π 的值 计算圆周率 π 的一个合适方法是使用蒙特卡罗模拟。蒙特卡罗模拟是一种利用随机输入样本来探索复杂过程或系统行为的方法,在物理、工程、计算、金融、商业等众多领域都有广泛应用。 其原理基于圆和正方形的面积…

张小明 2025/12/25 18:13:12 网站建设

网站展示型广告案例解析网站名称有哪些

MySQL用户管理 与Linux操作系统类似,MySQL也有超级用户好普通用户之分如果一个用户只需要访问MySQL中的某一个数据库,设置数据库中的某一个表,那么可以为其创建一个普通用户,并未该用户赋予对应的权限,而不让用户看到…

张小明 2026/1/10 7:44:15 网站建设

乐清有那些网站浙江省建设厅证书查询

如何利用负载均衡提升 Linly-Talker 的并发处理能力 在虚拟主播、智能客服和数字员工逐渐走入日常的今天,用户对“能说会听”的数字人系统提出了更高的期待——不仅要理解语义、生成自然语音,还要实时驱动面部表情,实现口型同步的视觉呈现。L…

张小明 2025/12/25 18:13:10 网站建设

搜索大全引擎入口网站网站建设平台推荐

Qwen3-14B Docker一键部署指南:全能中型模型的商用落地实践 在智能客服系统上线前的最后一轮压测中,某金融科技公司的MLOps工程师突然发现——原本响应稳定的AI服务,在并发请求达到30QPS时开始频繁超时。日志显示GPU显存反复触顶,…

张小明 2025/12/25 18:13:12 网站建设