博客作业05--查找
1.学习总结(2分)
1.1查找的思维导图
1.2 查找学习体会
这章主要是为我们介绍怎么用B树和哈希表查找,理解他们的工作原理,知晓他们的创建,插入,查找,删除。
学了这章之后才知道原来查一个东西还可以有这么多学问
2.PTA实验作业(4分)
2.1 题目1:6-2 是否二叉搜索树
2.2 设计思路(伪代码或流程图)
ISMAX:判断是否左子树都比根结点小
if(树空)返回true;
if(有节点值比根结点小)就不是二叉搜索树返回false
递归进入左子树和右子树
ISMIN:判断是否右子树都比根结点大
if(树空)返回true;
if(有节点值比根结点大)就不是二叉搜索树返回false
递归进入左子树和右子树
ISBST:判断是否为二叉搜索树
左子树判断是否满足根结点最大
右子树判断是否满足根结点最小
递归进入左子树和右子树
2.3 代码截图
2.4 PTA提交列表说明。
只考虑到满足左子树小于根结点,右子树大于根结点,没想到要考虑空树和只有一个节点的极端情况
2.1 题目2:7-1 QQ帐户的申请与登陆
2.2 设计思路(伪代码或流程图)
造一个图容器,关联账号密码
if登录
输入账号密码,调用find函数,查找容器中是否有这个账号
if没找到输出 ERROR: Not Exist
if密码不匹配输出 输出 ERROR: Wrong PW
if都匹配输出 Login: OK
if注册
输入账号密码,调用find函数,查找容器中是否有这个账号
if找到 输出 ERROR: Exist
if没有找到则注册成功 输出 New: OK
2.3 代码截图
2.4 PTA提交列表说明。
输出时忘记换行了,然后格式错误
2.1 题目3:7-2 航空公司VIP客户查询
2.2 设计思路(伪代码或流程图)
造一个图容器,关联身份证号和里程
数据入库N个数据,最小里程K
for i=0 to N
{
调用find函数,判断是否该用户在库中
if在库中,将库中的数据和本次相加,不足K按K算
if不在库中,直接入库 ,不足K按K算
}
查询:
输入身份证号,调用find函数,查找是否有该用户
if存在,输出里程
if不存在,输出No Info
2.3 代码截图
2.4 PTA提交列表说明。
迷糊了,对着测试数据写,于是把最小里程定成500了,后面看到还有个K,K,K。。。
3.截图本周题目集的PTA最后排名(3分)
3.1 PTA排名(截图带自己名字的排名)
3.2 我的总分:145
-
阅读代码(必做,1分)
找出一个字符串中第一个只出现一次的字符
利用哈希表的原理映射字符出现的次数,实现查找,好像程序设计大赛有这题,可惜当时没看到这里 -
代码Git提交记录截图