问题及代码:
/*
*烟台大学计算机与控制工程学院
*作 者:孙丽玮
*完成日期:2016年11月28日
*问题描述:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。
*/
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef int KeyType; //定义关键字类型
typedef char InfoType;
typedef struct node //记录类型
{
KeyType key; //关键字项
InfoType data; //其他数据域
struct node *lchild,*rchild; //左右孩子指针
} BSTNode;
int path[MaxSize]; //全局变量,用于存放路径
void DispBST(BSTNode *b); //函数说明
int InsertBST(BSTNode *&p,KeyType k)
//在以*p为根节点的BST中插入一个关键字为k的节点
{
if (p==NULL) //原树为空, 新插入的记录为根节点
{
p=(BSTNode *)malloc(sizeof(BSTNode));
p->key=k;
p->lchild=p->rchild=NULL;
return 1;
}
else if (k==p->key)
return 0;
else if (

本文探讨了在二叉排序树中查找操作的过程。无论查找成功还是失败,都会从根节点开始沿着特定路径移动。查找成功时,路径将通向目标节点;查找不成功时,路径将引领至某叶子节点。
最低0.47元/天 解锁文章
3435

被折叠的 条评论
为什么被折叠?



