博客作业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. 阅读代码(必做,1分)
    找出一个字符串中第一个只出现一次的字符

    利用哈希表的原理映射字符出现的次数,实现查找,好像程序设计大赛有这题,可惜当时没看到这里

  2. 代码Git提交记录截图

原文地址:https://www.cnblogs.com/hbw985609191/p/9079389.html