博客作业--查找
1.学习总结(2分)
1.1查找的思维导图
1.2 查找学习体会
个人认为本章的重点在于分辨各类查找的时间复杂度与ASL,是非常依赖前面学习的一章。
基于我个人而言各类查找的分门别类记忆是有难度的,我并不能较好的将其区分开,尤为甚的是哈希表的相关知识。
2.PTA实验作业(4分)
2.1 题目1:6-2 是否二叉搜索树
题目2:6-3 二叉搜索树中的最近公共祖先
题目3:7-1 QQ帐户的申请与登陆
2.2 设计思路(伪代码或流程图):
题目一伪代码描述:
judge = strcmp(Name, root->Name);
if(judge == 0) 此节点的count++;
else if(judge > 0)
if(左子树存在) 递归遍历左子树
else 添加一个左子树节点
else if(judge < 0)
if(右子树存在) 递归遍历右子树
else 添加一个右子树节点
题目二伪代码描述:
Procedure dfs(u);
begin
设置u号节点的祖先为u
若u的左子树不为空,dfs(u - 左子树);
union(u, u的左子树)
若u的右子树不为空,dfs(u - 右子树);
union(u, u的右子树)
标记u为已经访问
访问每一条与u相关的询问u、v
-若v已经被访问过,则输出v当前的祖先t(t即u,v的LCA)
end
题目三伪代码描述:
题目二伪代码描述:
2.3 代码截图:
题目一 题目二 题目三(三张截图)
2.4 PTA提交列表说明:
前期未能注意到搜索二叉树非空左子树所有键值都是小于根结点的,非空右子树同理。于是采用递归调用算法求得解。
一开始忽略了u,v有一个在根上的问题且字符大小写错误
此题是借助网上大佬的思路打出来的。
3.截图本周题目集的PTA最后排名(3分)
3.1 PTA排名(截图带自己名字的排名)
3.2 我的总分:120