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

wordpress播放pdf网站seo分析工具

wordpress播放pdf,网站seo分析工具,万创网做的网站怎么样,门户网站建设合同408答疑 文章目录 三、树形查找二叉排序树#xff08;BST#xff09;二叉排序树中结点值之间的关系二叉树形查找二叉排序树的查找过程示例 向二叉排序树中插入结点插入过程示例 构造二叉排序树的过程构造示例 二叉排序树中删除结点的操作情况一#xff1a;被删除结点是叶结点… 408答疑 文章目录 三、树形查找二叉排序树BST二叉排序树中结点值之间的关系二叉树形查找二叉排序树的查找过程示例 向二叉排序树中插入结点插入过程示例 构造二叉排序树的过程构造示例 二叉排序树中删除结点的操作情况一被删除结点是叶结点情况二被删除结点只有一棵左子树或右子树情况三被删除结点有左、右两棵子树二叉排序树中删除并插入某结点的分析 代码实操结构定义插入操作查找操作删除操作中序遍历 六、参考资料鲍鱼科技课件26王道考研书 三、树形查找 二叉排序树BST 构造二叉排序树的目的并不是排序而是提高查找、插入和删除关键字的速度二叉排序树这种非线性结构也有利于插入和删除的实现。二叉排序树也称二叉查找树或者是一棵空树或者是具有下列特性的二叉树 若左子树非空则左子树上所有结点的值均小于根结点的值。若右子树非空则右子树上所有结点的值均大于根结点的值。左、右子树也分别是一棵二叉排序树。 二叉排序树中结点值之间的关系 根据二叉排序树的定义左子树结点值 根结点值 右子树结点值因此对二叉排序树进行中序遍历可以得到一个递增的有序序列。如下图所示二叉排序树的中序遍历序列为 123468。 二叉树形查找 二叉树形查找是以二叉排序树BST为基础进行查找并演化出相应的平衡树AVL和红黑树RB。除了掌握基础的查找还需掌握平衡树的平衡调整过程。 二叉排序树的查找过程 二叉排序树的查找是从根结点开始沿某个分支逐层向下比较的过程。若二叉排序树非空先将给定值与根结点的关键字比较若相等则查找成功若不等若小于根结点的关键字则在根结点的左子树上查找否则在根结点的右子树上查找。这显然是一个递归的过程。 示例 如下图中查找值为 4 的结点。首先 4 与根结点 6 比较。由于 4 小于 6所以在根结点 6 的左子树中继续查找。由于 4 大于 2所以在结点 2 的右子树中查找查找成功。 向二叉排序树中插入结点 二叉排序树作为一种动态树表其特点是树的结构通常不是一次生成的而是在查找过程中当树中不存在关键字值等于给定值的结点时再进行插入的。 插入过程 若原二叉排序树为空则直接插入否则若关键字 k k k 小于根结点值则插入到左子树若关键字 k k k 大于根结点值则插入到右子树。插入的结点一定是一个新添加的叶结点且是查找失败时的查找路径上访问的最后一个结点的左孩子或右孩子。 示例 下图展示了在一棵二叉排序树中依次插入结点 28 和结点 58 的过程虚线表示的边是其查找的路径。 构造二叉排序树的过程 从一棵空树出发依次输入元素将它们插入二叉排序树中的合适位置。设查找的关键字序列为 {45, 24, 53, 45, 12, 24}则生成的二叉排序树如下图所示。 构造示例 每一步都是根据关键字与当前树中结点的比较结果决定插入的位置。 二叉排序树中删除结点的操作 在二叉排序树中删除一个结点时不能简单地删除该结点及其所有子结点而是需要重新链接因删除结点而断开的二叉链表确保二叉排序树的性质不丢失。删除操作的实现过程按以下三种情况来处理 情况一被删除结点是叶结点 若被删除结点 z z z 是叶结点则直接删除不会破坏二叉排序树的性质。 情况二被删除结点只有一棵左子树或右子树 若结点 z z z 只有一棵左子树或右子树则让 z z z 的子树成为 z z z 父结点的子树替代 z z z 的位置。 情况三被删除结点有左、右两棵子树 若结点 z z z 有左、右两棵子树则令 z z z 的直接后继或直接前驱替代 z z z然后从二叉排序树中删去这个直接后继或直接前驱这样就转变成了第一或第二种情况。 二叉排序树中删除并插入某结点的分析 若在二叉排序树中删除并插入某结点得到的二叉排序树是否和原来的相同 不一定。这个问题需要考虑删除和插入操作对树结构的影响以及这些操作是否能够恢复到原始的树结构。具体分析可能涉及到树的平衡性、结点的相对位置以及操作的顺序等因素。 代码实操 结构定义 定义二叉排序树的结点结构体 BSTNode包含数据域 data指向左子树的指针 left 和指向右子树的指针 right。 typedef struct BSTNode {ElemType data;struct BSTNode *left;struct BSTNode *right; } BSTNode, *BSTRoot;插入操作 在二叉排序树中插入值 x递归地找到正确的位置插入新结点。 bool insertBST(BSTNode *t, int x) {if (t NULL) {t (BSTNode*)malloc(sizeof(BSTNode));t-data x;t-left t-right NULL;return true; // 插入成功}if (x t-data)return false; // 插入失败if (x t-data)insertBST(t-left, x);elseinsertBST(t-right, x);return true; }查找操作 在二叉排序树中查找关键字 key递归地遍历树直到找到或到达叶子结点。 BSTNode* searchBST(BSTNode *t, int key) {if (t NULL || t-data key)return t;if (key t-data)return searchBST(t-left, key);else return searchBST(t-right, key); }删除操作 删除二叉排序树中关键字为 key 的结点处理三种情况无子结点、一个子结点、两个子结点。 bool removeBST(BSTNode *t, int key) {if (t NULL)return false; // 删除失败if (key t-data)removeBST(t-left, key);else if (key t-data)removeBST(t-right, key);else {BSTNode *p NULL;if (t-left ! NULL t-right ! NULL) {p t-left;while (p-right ! NULL)p p-right;t-data p-data;removeBST(t-left, p-data);} else {BSTNode *child (t-left ! NULL) ? t-left : t-right;p t;t child;free(p);}}return true; }中序遍历 对二叉排序树进行中序遍历输出有序序列。 void sortBST(BSTNode *t) {if (t ! NULL) {sortBST(t-left);printf(%d , t-data);sortBST(t-right);} }六、参考资料 鲍鱼科技课件 b站免费王道课后题讲解: 网课全程班: 26王道考研书
http://www.pierceye.com/news/91018/

相关文章:

  • 响应式网站开发费用做不规则几何图形的网站
  • 西安网站建设优化集团门户网站建设不足
  • 深圳建网站的公企业做网站有什么用
  • wordpress插件 2017南宁seo排名外包
  • 在淘宝上开网店的详细步骤丹东网站seo
  • 网站建设外包公司招聘发帖子有哪些app平台
  • 网站风格发展趋势快设计
  • 稳定的网络建站咨询电话正规网站建设咨询电话
  • 请人代做谷歌外贸网站做购彩网站是怎么盈利的
  • 网站内链怎么删除wordpress如何下载
  • 深圳网站公司有了域名搭建网站详细步骤
  • 主机宝 建设网站怎么知道网站哪家公司做的
  • 1元做网站方案城乡建设住房建设厅官方网
  • 厦门网站网页设网页素材html
  • 活字格能开发企业网站吗商品门户网站解决方案
  • 网站虚拟主机内存不足能不能链接美工怎么做网站效果图
  • 网站版建设软件开发培训班有哪些
  • 舟山市城市建设档案馆网站武夷山景区网站建设特点
  • 北京建设工程质量总站网站哈尔滨网站只做
  • 做外单网站有哪些网站开发工程师需要什么技术
  • 跨境电商自己做网站引流会宁县建设局网站
  • 对于学校网站建设的建议google推广公司哪家好
  • 国外做装饰画的网站公司logo设计图片欣赏
  • 宿州外贸网站建设公司工信部资质查询网站
  • 动漫做暧视频网站用手机制作动画的app
  • 网站备案 域名证书帝国cms响应式网站模板
  • 一个电信ip做网站卡不卡企业网站建设排名资讯
  • 网站建设论文的开题报告制作一个app软件需要多少时间
  • 我们做的网站是优化型结构做二手车网站需要什么
  • 湛江网站建设保定公司互联网信息服务平台官网