1.学习总结
1.1查找的思维导图
1.2 查找学习体会
在学习完查找这个章节以后,我觉得我对查找的理解有更深刻,学会了计算不确定度,也接触了不同种的查找,为以后写代码打下了基础。同时在写QQ帐户的申请与登陆时也浅学了STL容器,知道了它的三种种类以及其中map容器的用法,其本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置来获取。
2.PTA实验作业
6-2
设计思路:
定义bool型函数IsBST{
如果树空,返回为真
如果左子树不空并且左子树数据大于树的数据,返回为假
如果左子树或者右子树空了,返回为假
其他情况返回为真
}
调试过程:
编译错误是因为变量的大小写搞错了,但是在后来的调试中还是没有发现那两分应该如何拿到。
6-3
设计思路:
定义int型函数LCA{
定义俩Tree型变量S,R,都赋值为T;
While找到u和v
If没找到,返回ERROR
If树空,返回ERROR
If u或者v等于树中Key,或者u,v有一个数大于T->Key,另外一个小于T->Key,返回T->Key
If u大于T->Key,递归T的右子树
If u小于T->Key,递归T的左子树
}
调试过程:
第一个编译错误是因为在dev中复制时忘记把括号复制下来了,第二,三个编译错误是因为大小写字母问题,部分正确是因为我在查找的时候while循环的条件出错导致了除了树空已经找不到u,v以外的结果都不能得到正确的答案,经过调试解决。
7-1
设计思路:
定义i,n
For(i=0 to n-1){
if c为N,
If账号存在 输出ERROR: Exist
Else 插入并输出New: OK
If c为L
If账号存在:
If密码错误:ERROR: Wrong PW
Else if账号错误:ERROR: Not Exist
Else:Login: OK
}
调试过程:
在写的过程中,自己尝试写出现了挺多错误,然后就是借鉴了宿舍同学的代码,有一部分是因为条件不完整所以出现了错误,后来在同学的帮助下修改成功。
3.截图本周题目集的PTA最后排名
本次题目集总分:175分
必做题共:113分
3.1 PTA排名
3.2 我的总分:2分
4. 阅读代码
map的插入操作:
添加元素有两种方法:1、先用下标操作符获取元素,然后给获取的元素赋值 2、使用insert成员函数实现
下标操作添加元素:如果该键已在容器中,则 map 的下标运算与 vector 的下标运算行为相同:返回该键所关联的值。只有在所查找的键不存在时,map 容器才为该键创建一个新的元素,并将它插入到此 map 对象中。此时,所关联的值采用值初始化:类类型的元素用默认构造函数初始化,而内置类型的元素初始化为 0。