- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学与工程学院
《算法与数据结构》实验报告(九)
专业班级 2013网络工程01 实验地点 423机房 学生学号 指导教师 赵卿松 学生姓名 实验时间 实验项目 查找技术综合应用 实验类别 基础性() 设计性(√) 综合性() 其它( ) 实验目的及要求
(1)熟练掌握查找的常用算法;
(2)设计和应用查找算法解决比较简单的实际问题 日 期: 2015 年 6 月 13 日 实 验 内 容 实验内容:二叉排序树。
任意给定一组数据,设计一个算法,建立一棵二叉排序树,对它进行查找、插入、删除等操作。
实验说明:
二叉排序树存储结构如下:
二叉排序树插入算法伪代码如下:
二叉排序树中删除一个结点f的左孩子结点p算法伪代码如下:
实 验 内 容
#includestdio.h
#includestdlib.h
#includeconio.h
#define Max 100
typedef int KeyType;
typedef struct node
{
KeyType key;
struct node *lchild, *rchild;
} BSTNode;
int InsertBST(BSTNode *p, KeyType k)
//插入关键字为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(kp-key)
return InsertBST(p-lchild,k);
else
return InsertBST(p-rchild,k);
}
BSTNode *CreateBST(KeyType A[], int n) //创建二叉排序树
{
BSTNode *bt = NULL;
int i = 0;
while(in)
{
InsertBST(bt,A[i]);
i++;
}
return bt;
}
BSTNode *SearchBST(BSTNode *bt, KeyType k) //
{
if (bt == NULL || bt-key == k)
return bt;
if (k bt-key)
return SearchBST(bt-lchild, k);
else
return SearchBST(bt-rchild, k);
}
void charu(BSTNode *bt)
{
KeyType n;
printf(请输入你要插入的元素:);
scanf(%d, n);
InsertBST(bt, n);
}
void chazhao(BSTNode *bt)
{
system(cls); //清屏
int k;
BSTNode *a;
printf(请输入要查找的元素:);
scanf(%d, k);
a = SearchBST(bt, k);
if (a != NULL)
printf(找到了元素%d\n, k);
else
printf(找不到该元素\n);
}
void shuru(BSTNode *e, int n)
{
system(cls); //清屏
int m, a[Max] = { 0 }, i;
printf(请输入二叉排序树中元素的个数:\n);
scanf(%d, m);
n = m;
for (i = 0; i n; i++)
{
printf(请输入二叉排序树的第%d个元素的个数:, i + 1);
scanf(%d, a[i]);
}
e = CreateBST(a, n);
}
void print1(BSTNode *b)
{
if (b != NULL)
{
print1(b-lchild);
printf(%d , b-key);
print1(b-rchild);
}
}
void print(BSTNode *b)
{
system(cls); //清屏
print1(b);
}
int DeleteBST(BSTNode
您可能关注的文档
- 信贷业务的竞赛内容.doc
- (地方标准)居住区绿地设计规范.doc
- (教案)四上第4讲推理问题.doc
- -供应商调查问卷.doc
- 009工艺用水系统设计和验收管理规程.doc
- 01(210-230灌溉井地埋线铺设)重要隐蔽01.doc
- 011-关键岗位培训作业指导书.doc
- 03第三章物态变化.docx
- 师说公开课导学案.doc
- 10050客服代表应知应会答案.docx
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)