博客作业--查找

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

 

 

4. 阅读代码

posted @ 2018-05-27 21:58  东篱*  阅读(326)  评论(0编辑  收藏  举报