博客作业05-查找
2018-05-27 15:57 工班 阅读(230) 评论(1) 编辑 收藏 举报
---恢复内容开始---
一、学习总结
1查找思维导图
2查找学习体验
查找的方法有很多种,要熟悉顺序查找和折半查找,索引储存结构和分块查找的平均查找长度。并且每个查找方法都有插入、删除、建表的代码,时间复杂度也各不相同,学的过程觉得还好,但是学完之后很多都混乱了,需要花大量的时间去复习,并去弄懂他们的区别和思路。还要多次打书上的代码才懂一点。
二:PTA实验作业
题目1:是否二叉树
1。设计思路
bool Is BST(Bintree T)
{
if树为空树则是二叉搜索树;
if树的左子树为空或右子树为空 ,返回false;
else if树的左子树和右子树都不为空
遍历右子树的新节点一定要大于根节点,左子树的新节点一定要小于根节点,左子树的各节点的值要小于右子树各节点的值,
成立,返回true,
,否则返回false。
}
2。代码截图
3。PTA提交列表说明
编译错误:因为if else 没有分开,有点乱,还有思路不太清晰。很多都没有考虑到
部分正确:把右子树写成左子树了,导致两个都是左子树
题目2:二叉搜索树种的最近公共祖先
1.设计思路
int find(Tree T,int u)
{
if 树为空返回0
if(u等于关键字则返回1)
if(u大于关键字,则查找右子树,反之,查找左子树)
}
int LCA( Tree T, int u, int v ) {
if t为空则返回error
若不为空就v或u等于关键字,等于就返回关键字
if(u大于关键字,则返回左子树,反之,返回右子树)
}
2.代码截图
3。PTA提交说明
编译错误:不太了解思路,跟着参考的代码看了一下
题目三:QQ帐户的申请与登陆
1.基本思路
若新申请帐户成功,则输出“New: OK”;
若新申请的号码已经存在,则输出“ERROR: Exist”;
若老帐户登陆成功,则输出“Login: OK”;
若老帐户QQ号码不存在,则输出“ERROR: Not Exist”;
若老帐户密码错误,则输出“ERROR: Wrong PW
2.代码截图
3.提交截图
真的不会。
三:截图本周题目集的PTA最后排名
1.PTA排名
2.我的得分:115
四:阅读代码
阅读代码题目:是否二叉搜索树,她的思路很清晰,先定义一个变量最大值max和一个变量最小值min,先判断树T是否为空,若为空返回true,遍历找出最大值更新max, 如果max>根节点数据, 返回false ,否则 T的右孩子为真 ,同上,递归调用T的左子树及右子树 ,点为最大值,右子树的为最小值。
---恢复内容结束---