1-2查找学习体会
1:C++的map、set等头文件十分节省我们的时间,提供了相当好用的工具比起自己从头开始写结构体等更加方便。但是在使用它们的同时也要懂得用多种方法完成
2:查找如顺序查找和折半查找都是上学期有接触过的,比较简单。哈希表是查找这章我觉得比较新颖的数据结构,存储数据的方式和之前学习的完全不一样,哈希表能够大大节省空间
3: 需要注意的是使用count,返回的是被查找元素的个数。如果有,返回1;否则,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。
2-pta实验作业
伪代码:
代码截图:
pta提交列表说明:
第一次错误源于结点指向错误,p应指向Left而不是指向Right
第二次错误在于书写错误,p指向的data指向T指向的data,后半部分的data未书写
第三次错误是因为在第一个if结尾没有写上return false
伪代码
:
代码截图:
pta提交列表说明:
未考虑到两结点之一即为答案这一情况,因此第二次提交在结尾处添加了两个if,用来特指前述的情况,修改完提交为正确
伪代码:
代码截图:
pta提交列表说明:
本题其实并无遇到大问题,经过多日反复修改求解后得知,编译错误的原因仅仅是因为提交格式选择的是c而未选择c++,这也给我们敲响了警钟,凡是遇到这种棘手的问题,先从简单的方面入手
pta网站的问题其实更为普遍
pta最后排名
阅读代码
https://blog.csdn.net/qq_35644234/article/details/68068293
代码过于冗长,若全部附上会占用大量空间,因此只留下网址
网址内的博客详细介绍了使用哈希表查找的三种解决冲突的方法 ,即线性探测,二次探测,链地址法,备注描述得十分专业且详细,值得深入研究和思考。
原文:https://www.cnblogs.com/zzb123456789/p/9095605.html