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

买的网站模板里面是什么做论坛app网站

买的网站模板里面是什么,做论坛app网站,沙井网站开发,专业团队黑人抬棺图片#上一章我们把搜索二叉树的知识给传授完毕#xff0c;如果认真的看下去并且手打了几遍#xff0c;基本上内部的逻辑还是可以理解的#xff0c;那我们现在就截至继续学习树的一些重要知识啦~~ 树高怎么求呀#xff1f;如果用上一次学的层次遍历来求树高#xff0c;有点小题…#上一章我们把搜索二叉树的知识给传授完毕如果认真的看下去并且手打了几遍基本上内部的逻辑还是可以理解的那我们现在就截至继续学习树的一些重要知识啦~~ 树高怎么求呀如果用上一次学的层次遍历来求树高有点小题大做了这章我们就教大家如何用递归来求树高。 如何查找树里的元素呢 哈夫曼树是个啥子 在这一章节我都会很细致的给大家说明啦~ 树高咋求 我们现在掌握的方法只有层次遍历来求树高那我们怎么用递归来求树高呢 我们现在先拿最极端情况来说明如果一棵树没有一个元素那我们的树高是不是为0这样来看我们的终止条件就找到啦没错就是当根节点为空的是后我们就返回0 我们的树高应该看最长的一部分那我们就应该先定义两个高度一个是左子树高度另一个是右子树高度之后我们比较左子树高度和右子树高度哪个高哪个高哪个就决定了树高因为左子树和右子树都是从第二层开始才有的所以我们最后返回的树高应该让左右子树1。 这样来看我们大概的逻辑不就出来了嘛 先写一个极端判断条件然后比较左右子树高度即可。 int treeheight(treenode* root) {if(rootNULL)return 0;int lhtreeheight(root-lchild);int rhtreeheight(root-rchild);return lhrh?lh1:rh1; } 这样看来是不是还挺简单嘞嘿嘿。 那我们接着来下面的知识如何查找元素嘞 怎么查找树里面的元素 查找的话我们大概想一下就知道要用bool函数来判断啦在这个结构中我们首先要把根节点和查找的元素定义起来。 我们怎么查找呢肯定也是一层一层查找如果一棵树都查完了也没找的这个元素那我们就可以说这棵树没有这个元素。 由此我们可以得到我们判断结束的条件当树不为空时候我们就循环如果为空我们就结束判断。 代码部分也是很简单如下   bool find(treenode* root,int target) {while(root){if(root-valuetarget)return 1;if(root-valuetarget)rootroot-lchild;if(root-valuetarget)rootroot-rchild;} } 由以上内容和之前的文章我们现在掌握了如何构建查找二叉树如何前中后序遍历如何层次遍历如何求树高如何查找元素二叉树中基本的知识我们大概已经学完啦下面我们来认识一个重要的树哈夫曼树。 哈夫曼树 定义 我们首先了解哈夫曼树的定义 对于哈夫曼树我们的权值只有叶子结点 性质 1.权值越大的叶子节点越靠近根节点 2.权值越小的叶子节点越远离根节点 3.哈夫曼树并不唯一 4.哈夫曼树的子树也是哈夫曼树 5.哈夫曼树无度为1的结点 这些性质也是比较好看出来的在这里就不多余赘述啦~ 哈夫曼树的构建 结点的不同 在我们构建搜索二叉树时候我们初始将左右子树设置为空但是在我们的哈夫曼树的初始化时我们应该将左右子树保留。 如下 struct treenode{int weight;treenode* lchild;treenode* rchild;treenode(int v,treenode* l,treenode* r){weightv,lchildl,rchildr;} }; 因为我们左右孩子会构造出来我们的根节点所以左右孩子这里不为空。 构建过程 1.我们首先要把每个节点初始化之后push进我们的vector里面 2.定义左孩子右孩子根节点三个变量 3.对元素进行降序排列之后再弹出最后两个元素同时利用最后两个元素构建出我们的父节点。 此时的父节点需要new来开辟空间。 过程也相对容易接下来是代码部分 void build(vectorint a){vectortreenode*b;for(int i0;ia.size();i){treenode* tmpnew treenode(a[i],NULL,NULL);b.push_back(tmp);}treenode* lNULL,*rNULL,*pNULL;while(b.size()1){sort(b.begin(),b.end(),[](treenode* a,treendoe* b){return a-weightb.weight;});lb[b.size()-1];b.pop_back();rb[b.size()-1];b.pop_back();pnew treenode(l-weightr-weight,l,r);}return p; } 求WPL 怎么求wpl呢这里就用到了我们之前学的层次遍历啦。 我们首先层次遍历判断结点是否没有左右孩子这样就能找到我们的叶子节点然后乘以我们的层次-1如此加和进去就可以得到我们的wpl啦 void layersearch(treenode* root) {queuetreenode*q;q.push(root);treenode* lastroot;treenode* nlastNULL;while(!q.empty()){treenode* tmpq.front();couttmp-weight;if(tmp-lchildNULLtmp-rchildNULL){wpltmp-weight*L;}q.pop();if(tmp-lchildNULL){q.push(tmp-lchild);nlasttmp-lchild;}if(tmp-rchildNULL){q.push(tmp-rchild);nlasttmp-rchild;}if(tmplast){coutendl;L;lastnlast;}}} //以上就是我们树里面残留的问题啦一些基本的原理和代码部分我都有提到在这里还得看大家自己下去的实践能力多打代码才能更透彻的了解理解底层逻辑。 如果我的文章对对大家有帮助的作用希望大家多多支持哦~~谢谢大家的点赞关注啦~ 阿里嘎多everybody~
http://www.zqtcl.cn/news/206654/

相关文章:

  • dedecms_v5.6室内装饰设计公司企业网站模板.rarwordpress添加3d地图吗
  • 开发网站的意义百度推广计划
  • 网站设计师网站网站建设从入门到精通pdf
  • 游戏网站建设方案百度文库wordpress调用搜索框
  • 京东物流网站建设特点网站开发与维护岗位说明书
  • 制作一个网站的基本步骤星巴克网站建设ppt
  • 搭建企业网站宽带多大php微信公众号开发教程
  • 国家建设公债拍卖网站新手如何自己建网站
  • 网站建设颊算网站注册界面代码
  • 微信h5网站模板下载百姓网征婚
  • 模板网站和插件有哪些河南第一火电建设公司网站
  • 怎么测网站流量吗网络运维工程师教程
  • 有谁帮做网站网站建设seo合同书
  • 自己做视频网站只能用地址连接专业网站建设效果
  • 重庆网站建设价格费用酒店协会网站集静态模板
  • 会议专题网站建设报价单网站代码在哪里修改
  • 怎么用net123做网站怎么给企业制作网站
  • 网站建设合同模板网页设计团队
  • 做排行的网站淘宝流量平台
  • 用dw怎么做网站后台做一个网站需要怎么做
  • 沧州地区阿里巴巴做网站修改wordpress标题图片
  • 怎么判断网站开发语言互联网推广模式
  • 做电影网站被找版权问题怎么处理网站做的简单是什么意思
  • 九江网站建设网站制作深圳seo优化服务商
  • 上海网站推广珈维做映射后 内网无法通过域名访问网站
  • 太原网站关键词优化常州企业网站建设公司
  • 网站开发流程详细步骤不用淘宝客api如何做网站
  • xuzhou网站制作wordpress漫画小说
  • 公司建设网站的通知书百度经验官网入口
  • 如何做产品网站的推广静态网页制作总结