c-数据结构 搜索二叉树的应用

问题描述

数据结构 搜索二叉树的应用
if(child!=t)
{
    pre=SearchPre(t,child);
    printf("发现结点:%cn",pre->data);
}

这是在删除节点时的一段代码,但我没懂是什么意思 希望有人给我讲下

解决方案

这段代码,需要放在全部的代码中才好理解,就只这段代码的意思:
当 child 不等于 t 时,查找(SearchPre) 节点,并将查找到的节点的 data 成员输出。

解决方案二:

if(child!=t) 当前结点child和t不等,这个t应该是要删除的值吧
{
pre=SearchPre(t,child); 这个应该是对child进行前序遍历,查找t的值是否在child中,然后将查询结果返回给pre
printf("发现结点:%cn",pre->data);
}

时间: 2024-10-29 21:49:09

c-数据结构 搜索二叉树的应用的相关文章

数据结构有关二叉树问题

问题描述 数据结构有关二叉树问题 一颗完全二叉树有700个结点,则共有几个叶子结点. 答案是350个,求详细计算过程 解决方案 ?? #define null 0???#include "stdio.h" ???typedef char datatype;?? typedef struct tn? {datatype data;?? struct tn *lc,*rc;??......答案就在这里:数据结构-二叉树 问题---------------------- 解决方案二: n0=

二叉树 层序遍历-C++ 数据结构、二叉树、层序遍历问题

问题描述 C++ 数据结构.二叉树.层序遍历问题 代码结构如下: template class CirQueue... // 栈类: template struct BiNode{ // 节点类: T data; BiNode *lchild, * rchild; }; template class BiTree.... // 二叉树类: ? template void BiTree::leverOrder( ) { // 层序遍历: if( root == NULL ) { cout<<&q

数据结构关于二叉树遍历的一道题 在线等~

问题描述 数据结构关于二叉树遍历的一道题 在线等~ 利用栈的基本操作写出先序遍历二叉树的非递归算法 要求进栈的元素最少, 并指出下列二叉树中需进栈的元素. 这是答案: 根据上述代码, (1)左子树lchild不需要入栈吗? (2)入栈顺序是什么? (3)最后一行代码 if (top>0) bt=s[top--] 是什么意思? (4)如果是中序或后序,入栈顺序又是什么? 谢谢大神们啦~~ O(∩_∩)O 解决方案 3 if (top>0) bt=s[top--] 出栈.取出top位置的元素,并且

数据结构之---二叉树C实现

学过数据结构的都知道树,那么什么是树? 树(tree)是包含n(n>0)个结点的有穷集,其中: (1)每个元素称为结点(node): (2)有一个特定的结点被称为根结点或树根(root). (3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,--Tm-1,其中每一个集合Ti(1<=i<=m)本身也是一棵树,被称作原树的子树(subtree). 树也可以这样定义:树是由根结点和若干颗子树构成的.树是由一个集合以及在该集合上定义的一种关系构成的.集合中的元素称为树的

数据结构 排序二叉树(BST) 插入删除查询 中序遍历 销毁(后序遍历)

结构概念如下: 二叉排序树(binary sort tree): 1.也叫做二叉查找树 2.如果他的左子树不为空,则左子树上所有结点的 值均小于他的根结构的值 3.如果他的右子树不为空,则右子树上所有结点的 值均大于他的根结构的值 4.他的左右子树分别为二叉排序树 5.按照二叉树中序遍历其返回结果树有序的 下面就是一颗典型的二叉树,只是是字母,可以将字母换位字母的顺序进行审视,但是它不是平衡二叉树 排序二叉树(BST)的优点在于进行数据查找比较方便,因为他是按照数据来到的顺序进行如上的规则进行的

数据结构之二叉树

一 树.二叉树和二叉查找树 1.树的概念: 递归定义: 1) 一个空结构是一个空树 2)如果t1,...,tk是分离的树,那么以t1,...,tk的根为子节点的根结构也是树 3)只有按照1,2规则产生的结构才是树 树的概念更多用于分层结构,比如数据库管理系统的分层模型. 2.二叉树(binary tree):所有节点都有两个子节点(可以为空),并且每个子节点都指明为左子节点还是右子节点 1)完全二叉数,满足第i层,有2的i-1次方个子节点此条件的二叉树 2)对于所有非空二叉树,如果它的中间子节点

数据结构例程——二叉树的构造

本文是数据结构基础系列(6):树和二叉树中第13课时二叉树的构造的例程. 1.由先序序列和中序序列构造二叉树 定理:任何n(n≥0)个不同节点的二叉树,都可由它的中序序列和先序序列唯一地确定. 证明(数学归纳法) 基础:当n=0时,二叉树为空,结论正确. 假设:设节点数小于n的任何二叉树,都可以由其先序序列和中序序列唯一地确定. 归纳:已知某棵二叉树具有n(n>0)个不同节点,其先序序列是a0a1-an−1:中序序列是b0b1-bk−1bkbk+1-bn−1. 先序遍历"根-左-右&quo

数据结构例程——二叉树遍历的非递归算法

本文是数据结构基础系列(6):树和二叉树中第11课时二叉树遍历非递归算法的例程. [二叉树遍历的非递归算法] 实现二叉树的先序.中序.后序遍历的非递归算法,并对用"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"创建的二叉树进行测试. 请利用二叉树算法库. [参考解答](btreee.h见算法库) #include <stdio.h> #include "btree.h" void PreOrder1(BTNode *b) {

数据结构例程——二叉树遍历的递归算法

本文是数据结构基础系列(6):树和二叉树中第10课时二叉树的遍历的例程. [二叉树遍历的递归算法] 实现二叉树的先序.中序.后序遍历的递归算法,并对用"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"创建的二叉树进行测试. 请利用二叉树算法库. [参考解答](btreee.h见算法库) #include <stdio.h> #include "btree.h" void PreOrder(BTNode *b) //先序遍历的递