一、学习总结

1.查找的思维导图

2.查找学习体会

查找:顺序查找,二分查找,二叉排序树的查找……不同的情况对应不同的查找算法,每种查找的时间复杂度也不同。查找的ASL是每种算法的优劣标准。在写二叉树的代码中,要学会熟练的用递归算法会比较容易解决问题。

二、PTA作业

题目1:是否二叉搜索树

1.设计思路

定义最小静态变量 min=-32768
if(结果为空)
    return true
递归遍历左子树
   如果 T->data >min
        min =T->data
    否则
           return false
递归遍历右子树
最后return true

2.代码截图

3.PTA提交说明

判断为空树时,应该返回false,而我返回了true

题目2:QQ账户的申请与登陆

com存放命令 N或L
输入 n组数据
for i=1 to n
{
    输入  com
    判断 com是否为N
           为N :匹配qq号,如果匹配到,输出 ERROR:Exist
                                        否则 存放到QQ中 ,输出 New :OK
           不为N:匹配qq号,如果没有匹配到,输出  ERROR: Not Exist
                        否则判断密码是否匹配,如果匹配,输出 Login:OK
                                                                       否则,输出 ERROR:Wrong PW
}
end

2.代码截图

3.PTA提交说明

map函数不会用,后面模仿别的同学写的

题目3:航空公司VIP客户查询

1.设计思路

int VIP客户个数n,计入最低飞行里程K, 查询个数m,飞行里程distance
char  str和str1存放身份证信息
输入n,K,录入str
while(n--)
{
    输入身份证号,飞行里程
    如果找不到相同身份证号
                   里程是否<k,小于:按最小里程算入vip[str],大于:把里程算入vip[str]
    找到相同身份证号
                    若里程是否<k,小于:vip[str] +=k,大于:vip[str] +=distance
}
输入m
while(m--){
    是否找到相应身份证号
    找不到:输出 No Info
    否则 输出vip中的里程
}

2.代码截图

3.PTA提交记录

编译器的选择问题和运行超时问题

三、截图本周题目集的PTA最后排名

由于最后做,可以参考大佬的代码,本身的编程能力还是很弱,能看懂,自己写却没多少思路

四、代码阅读

map中数据删除的操作