博客作业05-查找

1-1查找的思维导图

1-2查找学习体会

1:C++的map、set等头文件十分节省我们的时间,提供了相当好用的工具比起自己从头开始写结构体等更加方便。但是在使用它们的同时也要懂得用多种方法完成

2:查找如顺序查找和折半查找都是上学期有接触过的,比较简单。哈希表是查找这章我觉得比较新颖的数据结构,存储数据的方式和之前学习的完全不一样,哈希表能够大大节省空间

3:  需要注意的是使用count,返回的是被查找元素的个数。如果有,返回1;否则,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。

2-pta实验作业

6-2 是否二叉搜索树

伪代码:

代码截图:

pta提交列表说明:

第一次错误源于结点指向错误,p应指向Left而不是指向Right

第二次错误在于书写错误,p指向的data指向T指向的data,后半部分的data未书写

第三次错误是因为在第一个if结尾没有写上return false

6-3 二叉搜索树中的最近公共祖先

伪代码

代码截图:

pta提交列表说明:

未考虑到两结点之一即为答案这一情况,因此第二次提交在结尾处添加了两个if,用来特指前述的情况,修改完提交为正确

7-1 QQ帐户的申请与登陆

伪代码:

代码截图:

pta提交列表说明:

本题其实并无遇到大问题,经过多日反复修改求解后得知,编译错误的原因仅仅是因为提交格式选择的是c而未选择c++,这也给我们敲响了警钟,凡是遇到这种棘手的问题,先从简单的方面入手

pta网站的问题其实更为普遍

pta最后排名

阅读代码

 https://blog.csdn.net/qq_35644234/article/details/68068293

代码过于冗长,若全部附上会占用大量空间,因此只留下网址

网址内的博客详细介绍了使用哈希表查找的三种解决冲突的方法 ,即线性探测,二次探测,链地址法,备注描述得十分专业且详细,值得深入研究和思考。

 

posted @ 2018-05-27 12:05  zzb1234  阅读(192)  评论(1编辑  收藏  举报