博客作业05--查找

1.学习总结(2分)

1.1查找的思维导图

1.2 查找学习体会

查找是一种十分有用的操作,而且非常重要,然后我觉得它同时也挺复杂的,学起来不轻松,而且很多算法我得翻书看代码,尤其是哈希表的算法,可能理解的不够好。还需要多看看。

2.PTA实验作业(4分)

2.1 题目1:6-3 二叉搜索树中的最近公共祖先

2.2 设计思路(伪代码或流程图)

1.定义全局变量和一个新的查找函数
2。(祖先函数)
      空树返回ERROR;
      第一次遍历树,用查找函数判断所要找的孩子节点是否在树中,不在返回ERROR;
     if u,v分别大于此时的根节点,说明该节点为其共同祖先;
     if u,v都比它小,递归T->Left;
    if u,v都比它大,递归T->Right;
3.(查找函数)
     if T为NULL,没找到,返回1;
     if T->key等于u或v,已找到,返回2;
     if T->key小于u或v,递归右子树;
    if T->key大于u或v,递归左子树;
       

2.3 代码截图

2.4 PTA提交列表说明。

一开始没有想到可以用u,v的数值是否大于当前节点的做法来打代码,一直在想怎么递归遍历所有节点,所以想的不全,部分正确,后来就换了一种思路,差的三分是因为没有判断u,v是否都在树中,所以添加了一个新的查找函数。

2.1 题目1:6-2 是否二叉搜索树

2.2 设计思路(伪代码或流程图)

1.空树返回NULL;
2.定义一个树指针p;
3.  if 树 T 的左子树不为空{
            P指向树T的左子树
             while(P的右子树不为空)P指针指向树T的左子树的最大节点;
            比较此时 P 和 T 的数值;
              if(P的节点数值大于T的节点数值)返回false;else  递归左子树;
       }(第一个if结束)
4.   if 树T的右子树不为空{
             内容同上左子树;
             此时P要找的是右子树的最小节点;
             递归右子树;
        }(if  结束)
5.  else   返回false;(此时节点左右子树都为空 )
6.  返回 true;

2.3 代码截图

2.4 PTA提交列表说明。

这道题我截图的是自己部分正确的写法,这个写法我调整了很多次,其中最大的错误是,没有添加 检查左子树的最大节点是否大于根节点的 代码,但是添加了这个步骤后还是部分正确,不知道测试点0应该怎么改,于是请教同学换了新的写法。

2.1 题目1:7-1 QQ帐户的申请与登陆

2.2 设计思路(伪代码或流程图)

1.定义整型变量N,i,字符型数组  ch[1],PN[11],PW[17];
2.输入N;
3.while(N不等于0){
                输入ch;
4.              if  ch[0]==‘N’){
                             输入账号密码;
                             if(Q不是空的)说明已注册过,输出ERROR;
                             else  注册成功,账号Q[PN]填入对应的密码,输出OK;
                       }
 5.            if(ch[0]==‘L'){
                             输入账号密码;
                             if(Q[PN]是空的)说明还没注册过,输入Not Exist;
                            else  if  账号密码不匹配   密码输入错误;
                             else    登陆成功  输出OK;
                     }

  6.          }(while循环结束)

2.3 代码截图

2.4 PTA提交列表说明。

这道题一开始我不会用map,所以总是想着如何将注册好的账户和密码存储起来,又要如何查找,后来发现大家都在使用map,就上网搜了map和#include <bits/stdc++.h>,并照着这个写法写,答案错误是在判断输入字符是N还是L的时候,我一开始用的是字符 ch 来判断,但是这种写法貌似根本无法输入,就换成ch[1],不理解为什么ch不行。

3.截图本周题目集的PTA最后排名(3分)

本次题目集总分:175分
必做题共:145分

3.1 PTA排名(截图带自己名字的排名)

3.2 我的总分:

120分

4. 阅读代码(必做,1分)

给出a,b,c,d然后求出x1,x2,x3,x4有多少组解

5. 代码Git提交记录截图

posted @ 2018-05-26 20:27  一叶落而秋将至  阅读(222)  评论(0编辑  收藏  举报