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

网络营销导向网站建设的基础是什么北京住房和城乡建设官方网站

网络营销导向网站建设的基础是什么,北京住房和城乡建设官方网站,wordpress房地产主题,营销网络地图1.树概念及结构 树是一种 非线性 的数据结构#xff0c;它是由 n #xff08; n0 #xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树#xff0c;也就是说它是根朝上#xff0c;而叶朝下的 。 有一个特殊的结点#xff…1.树概念及结构 树是一种 非线性 的数据结构它是由 n n0 个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树也就是说它是根朝上而叶朝下的 。 有一个特殊的结点称为根结点根节点没有前驱结点 除根节点外其余结点被分成M(M0)个互不相交的集合T1、T2、……、Tm其中每一个集合Ti(1 i m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱可以有0个或多个后继 因此树是递归定义的。 注意树形结构中子树之间不能有交集否则就不是树形结构  1.2 树的相关概念 节点的度一个节点含有的子树的个数称为该节点的度如上图A的为6 叶节点或终端节点度为0的节点称为叶节点如上图B、C、H、I...等节点为叶节点 非终端节点或分支节点度不为0的节点如上图D、E、F、G...等节点为分支节点 双亲节点或父节点若一个节点含有子节点则这个节点称为其子节点的父节点如上图A是B的父节点孩子节点或子节点一个节点含有的子树的根节点称为该节点的子节点如上图B是A的孩子节点 兄弟节点具有相同父节点的节点互称为兄弟节点如上图B、C是兄弟节点 树的度一棵树中最大的节点的度称为树的度如上图树的度为6 节点的层次从根开始定义起根为第1层根的子节点为第2层以此类推 树的高度或深度树中节点的最大层次如上图树的高度为4 堂兄弟节点双亲在同一层的节点互为堂兄弟如上图H、I互为兄弟节点 节点的祖先从根到该节点所经分支上的所有节点如上图A是所有节点的祖先 子孙以某节点为根的子树中任一节点都称为该节点的子孙。如上图所有节点都是A的子孙 森林由mm0棵互不相交的树的集合称为森林 1.3 树的表示 树结构相对线性表就比较复杂了要存储表示起来就比较麻烦了既然保存值域也要保存结点和结点之间 的关系 实际中树有很多种表示方式如双亲表示法孩子表示法、孩子双亲表示法以及孩子兄弟表示法 等。我们这里就简单的了解其中最常用的 孩子兄弟表示法 typedefintDataType;structNode { structNode*_firstChild1; // 第一个孩子结点 structNode*_pNextBrother; // 指向其下一个兄弟结点 DataType_data; // 结点中的数据域 }; 1.4 树在实际中的运用表示文件系统的目录树结构 2.二叉树概念及结构 2.1概念 一棵二叉树是结点的一个有限集合该集合 1. 或者为空 2. 由一个根节点加上两棵别称为左子树和右子树的二叉树组成 从上图可以看出 1. 二叉树不存在度大于 2 的结点 2. 二叉树的子树有左右之分次序不能颠倒因此二叉树是有序树 注意对于任意的二叉树都是由以下几种情况复合而成的 2.2 特殊的二叉树 1. 满二叉树 一个二叉树如果每一个层的结点数都达到最大值则这个二叉树就是满二叉树。也就是 说如果一个二叉树的层数为 K 且结点总数是 则它就是满二叉树。 2. 完全二叉树 完全二叉树是效率很高的数据结构完全二叉树是由满二叉树而引出来的。对于深度为 K 的有 n 个结点的二叉树当且仅当其每一个结点都与深度为 K 的满二叉树中编号从 1 至 n 的结点一一对 应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 2.3 二叉树的性质 1. 若规定根节点的层数为 1 则一棵非空二叉树的 第 i 层上最多有2^i-1 个结点 . 2. 若规定根节点的层数为 1 则 深度为 h 的二叉树的最大结点数是2^h   -1 . 3. 对任何一棵二叉树 , 如果度为 0 其叶结点个数为n0  , 度为 2 的分支结点个数为 n2 , 则有 n0n2 1 4. 若规定根节点的层数为 1 具有 n 个结点的满二叉树的深度 hlog2 ^(n1) . (ps 是 log 以 2 为底 n1 为对数 ) 5. 对于具有 n 个结点的完全二叉树如果按照从上至下从左至右的数组顺序对所有节点从 0 开始编号则对 于序号为 i的结点有 1. 若 i0 i 位置节点的双亲序号 (i-1)/2 i0 i 为根节点编号无双亲节点 2. 若 2i1n 左孩子序号 2i1 2i1n 否则无左孩子 3. 若 2i2n 右孩子序号 2i2 2i2n 否则无右孩子 2.4 二叉树的存储结构 二叉树一般可以使用两种结构存储一种顺序结构一种链式结构。 1. 顺序存储 顺序结构存储就是使用 数组来存储 一般使用数组 只适合表示完全二叉树 因为不是完全二叉树会有空 间的浪费。而现实中使用中只有堆才会使用数组来存储关于堆我们后面的章节会专门讲解。二叉树顺 序存储在物理上是一个数组在逻辑上是一颗二叉树。 2. 链式存储 二叉树的链式存储结构是指用链表来表示一棵二叉树即用链来指示元素的逻辑关系。 通常的方法是 链表中每个结点由三个域组成数据域和左右指针域左右指针分别用来给出该结点左孩子和右孩子所 在的链结点的存储地址 。链式结构又分为二叉链和三叉链当前我们学习中一般都是二叉链 3.二叉树的顺序结构及实现 3.1 二叉树的顺序结构 普通的二叉树是不适合用数组来存储的因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结 构存储。现实中我们通常把堆 ( 一种二叉树 ) 使用顺序结构的数组来存储需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两回事一个是数据结构一个是操作系统中管理内存的一块区域分段。 3.2 堆的概念及结构 用顺序表方式存储 小堆 ( 或大堆 ) 。将根节点最大的堆叫做最大堆或大根堆根节点最小的堆叫做最小堆或小根堆。 堆的性质 堆中某个节点的值总是不大于或不小于其父节点的值 堆总是一棵完全二叉树 4. 堆的实现 4.1 堆向下调整算法 现在我们给出一个数组逻辑上看做一颗完全二叉树。我们通过从根节点开始的向下调整算法可以把它调整 成一个小堆。向下调整算法有一个前提左右子树必须是一个堆才能调整。 4.2堆的创建 下面我们给出一个数组这个数组逻辑上可以看做一颗完全二叉树但是还不是一个堆现在我们通过算 法把它构建成一个堆。根节点左右子树不是堆我们怎么调整呢这里我们从倒数的第一个非叶子节点的 子树开始调整一直调整到根节点的树就可以调整成堆。 4.3 建堆时间复杂度 因为堆是完全二叉树而满二叉树也是完全二叉树此处为了简化使用满二叉树来证明 ( 时间复杂度本来看的 就是近似值多几个节点不影响最终结果 ) 4.4 堆的插入 先插入一个10到数组的尾上再进行向上调整算法直到满足堆。  4.5 堆的删除   删除堆是删除堆顶的数据将堆顶的数据根最后一个数据一换然后删除数组最后一个数据再进行向下调 整算法。 typedef int HPDataType; typedef struct Heap {HPDataType* _a;int _size;int _capacity; }Heap; // 堆的构建 void HeapCreate(Heap* hp, HPDataType* a, int n); // 堆的销毁 void HeapDestory(Heap* hp); // 堆的插入 void HeapPush(Heap* hp, HPDataType x); // 堆的删除 void HeapPop(Heap* hp); // 取堆顶的数据 HPDataType HeapTop(Heap* hp); // 堆的数据个数 int HeapSize(Heap* hp); // 堆的判空 int HeapEmpty(Heap* hp); 通过以上的代码详解我们了解了基于数组实现的二叉树-堆的基本操作包括初始化、销毁、入堆、出堆等操作并深入探讨了如何通过上浮和下沉操作来维护堆的性质。这些操作使得堆成为一种高效的数据结构特别适用于需要频繁获取最大或最小元素的场景。希望通过这篇博客读者能够更加深入地理解二叉树-堆的实现原理。
http://www.w-s-a.com/news/641938/

相关文章:

  • 网站制作过程内容深圳最好的活动策划公司
  • 深圳网站关键词排名查询公司网站怎么做啊
  • 微网站 制作平台广州电商聚集地
  • 建设外国商城网站网站服务器 虚拟主机
  • 天河网站建设开发电子商务公司名字大全
  • 站长推荐为何用wdcp建立网站连不上ftp
  • 云南旅行社网站开发学编程多久可以写游戏辅助
  • 推广网站的步骤网站备案号中信息有变
  • 优秀企业建站织梦能不能做门户网站
  • 广东省建设局官方网站wordpress 自动安装 插件怎么用
  • 哪类小网站容易做h5页面制作代码
  • 北京网站建设公司华网百度热搜seo
  • 小清新博客网站中山做网站公司
  • 美团做团购网站如何新建自己的网站
  • 安卓软件制作网站电子商务网站建设实训总结报告
  • 肃宁网站制作价格外国设计师素材网站
  • 自已建网站用jsp做的可运行的网站
  • 外贸建站代理网站建设设计公司哪家好
  • 普升高端品牌网站建设台州中兴建设咨询有限公司网站
  • 模板演示网站移动网站开发公司
  • 网站管理办法制度公司招聘信息
  • 宜昌市建设监理协会网站免备案免费域名
  • 河北省建设银行网站首页备案号怎么放到网站
  • 做电脑网站用什么软件有哪些wordpress版权修改
  • 加强部门网站建设工作wordpress文章页横幅
  • 中英网站怎么做wordpress本地音乐
  • 万网提供的网站建设服务的具体项目祥云平台网站建设
  • ftp网站怎么看后台的代码网站 制作软件
  • 网站开发软件教程网站tag 怎么实现
  • 中国建设监理协会化工监理协会网站彩票站自己做网站吗