DS博客作业07--查找
作者:互联网
1.本周学习总结
1.1思维导图
1.2.谈谈你对查找运算的认识及学习体会。
本周对查找的相关知识进行了系统地学习。经历了顺序表的查找、树表的查找和哈希表的查找。顺序表的查找中,学习了顺序查找、折半查找、索引存储结构和分块查找。树表的查找学习得比较深入,先时学习了二叉排序树与平衡二叉树,后又拓展性地学习了B-树和B+树,个人认为这里相对于之前学得所有内容来说会复杂一些,尤其是平衡二叉树插入的调整、B-树结点的插入与删除。哈希表的查找就相对要简单些。有了以前的一些的积累,哈希表的使用要相对轻松些。在原有的基础上补充了哈希冲突的相关问题,学习了解决哈希冲突的一些方法,如线性探测法、拉链法。
2.PTA实验作业
2.1题目1:6-3 二叉搜索树中的最近公共祖先 (25 分)
在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。
2.1.1设计思路
/*函数题*/
定义flag1判断u是否在树中,flag2判断v是否在树中(初始化0),定义index为下标
Tree类型 指针p,que队列(用于层次遍历)
if 空 then
return ERROR
end if
根节点入队
while 队不空 do
p指向队首
if 找到u then
flag1 = 1
end if
if 找到v then
flag2 = 1
end if
if p有左孩子 then
左孩子入队
end if
if p有右孩子 then
右孩子入队
end if
end while
if u和v都在树中
情况1 先到达u或v 当前结点为最近祖先结点
情况2 u左v右或u右v左 当前结点为最近祖先结点
情况3 u大于当前key 递归右子树
情况4 u小于当前key 递归左子树
else
return ERROR
2.1.2代码截图
2.1.3本题PTA提交列表说明。
- Q:处理判断u和v是否在树中的方法不当。一开始我的想法是在用递归来判断u和v是否在树中,但因为是函数题,缺少全局变量的支持,所以一直没有解决。后来上课听了老师的方法(单独用一个find函数来递归实现查找u和v),但却不适用于这题(函数题)。后来在自由时间突然灵光一闪,可以采用层次遍历来做到查找。当然因为是函数题无法用que容器,就用数组+下标的方法解决了这个问题。
2.2题目2:
2.2.1设计思路
2.2.2代码截图
2.2.3本题PTA提交列表说明。
PTA提交列表中的每个错误详细说明为什么及如何解决。
2.3题目3:7-2 航空公司VIP客户查询 (25 分)
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。输入首先给出两个正整数N(≤105)和K(≤500)。其中K是最低里程,即为照顾乘坐短程航班的会员,航空公司还会将航程低于K公里的航班也按K公里累积。随后N行,每行给出一条飞行记录。飞行记录的输入格式为:18位身份证号码(空格)飞行里程。其中身份证号码由17位数字加最后一位校验码组成,校验码的取值范围为0~9和x共11个符号;飞行里程单位为公里,是(0, 15 000]区间内的整数。然后给出一个正整数M(≤105),随后给出M行查询人的身份证号码。对每个查询人,给出其当前的里程累积值。如果该人不是会员,则输出No Info。每个查询结果占一行。
2.3.1设计思路
/*用c++的map容器来做会很轻松*/
定义n存放人数,k存放最低里程,字符串id存放身份证号,length暂存单次里程
输入n、k
for i=0 to n
输入id、length
if 低于最小里程 then
length = k
end if
id键对应值加length的值
end for
输入n
for i=0 to n
输入id
if 存在id为键的键值对 then
输出
else
输出 No Info
end if
end for
2.3.2代码截图
2.3.3本题PTA提交列表说明。
- Q:
3、阅读代码
找一份和查找运算相关代码,谈谈你对这个代码认识体会。
考研题种关于查找、二叉搜索树内容。
ACM、PTA天梯赛、leecode面试刷题网站,找查找相关题目阅读分析。
请按照下面内容填写代码阅读内容。请未必认真完成,如果发现应付,没有介绍代码思路、体会等扣分。
3.1 题目
介绍代码解决问题
3.2 解题思路
3.3 代码截图
3.4 学习体会
标签:结点,end,07,代码,里程,PTA,查找,DS 来源: https://www.cnblogs.com/fanfaniscute/p/11031796.html