博客作业05--查找

时间:2022-08-23 21:57:17

1.学习总结(2分)

1.1查找的思维导图

博客作业05--查找
博客作业05--查找

1.2 查找学习体会

  • 查找有很多方法,感觉知识点挺多挺乱挺杂,B—和B+树的插入和删除操作,平衡二叉树的调整,删除都挺容易混乱的,哈希表的查找及其他代码的操作
  • 知识点挺紧凑,画图操作性的东西很多,map函数的使用自己还是一知半解,ASL的计算方式在不同的查找方法下都挺不同的,需要好好去区分消化
  • STL 容器的查找函数:https://blog.****.net/u014260855/article/details/38125295

    2.PTA实验作业(4分)

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

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

bool IsBST ( BinTree T ){
  空树返回真
  定义静态变量 min=-32768;
  中序遍历树,左子树上的数都比根结点小,右子树上的数都比根结点大为真
}

2.3 代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

博客作业05--查找

2.4 PTA提交列表说明。

博客作业05--查找
博客作业05--查找
编译错误

自己的编写有括号出错

部分正确

博客作业05--查找

自己没有定义静态变量min,这样每次递归比较时min是不变的,根据讲解定义静态变量后才正确

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

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

int LCA( Tree T,  int u, int v ){
    空树或者有元素不在树时直接返回error
    其中有一个在根上,直接返回该根结点值
    一个在左子树一个在右子树时,返回该树根结点 
   都在右子树上
        return LCA(T->Right,u,v);  
    都在左子树上
        return LCA(T->Left,u,v); 
}

int find(Tree T,int number){
    空树返回0
    找到返回1
    在左子树上
    return find(T->Left,number);
        在右子树上
    return find(T->Right,number);
}

2.7 代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

博客作业05--查找

2.8 PTA提交列表说明。

博客作业05--查找
博客作业05--查找
博客作业05--查找

部分正确

都在左子树上与都在右子树上书写错误,自己原先写博客作业05--查找

应改为博客作业05--查找

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

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

#include <iostream> 
using namespace std;
#include <map> 
int main(){

  输入组数num
  for i=0 to i<num i++{
      输出字符串ch
      若ch[0]=='N'为新用户时
         申请账号密码
         已存在该账号时输出ERROR: Exist;
         否则输出New: OK
      旧用户
          输入账号密码
          无该用户时,输出ERROR: Not Exis;
          否则输出Login: OK
}

2.11 代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

博客作业05--查找

2.12 PTA提交列表说明。

博客作业05--查找

编译错误

自己C与C++语言的问题

一开始感觉挺麻烦挺没思路的,在老师介绍Map后感觉确实代码量会少,不过自己对map的使用还是很懵懂啊

自己一开始用C写都提示有些东西找不到,之后换成c++的头文件就可以,感觉#include 需要在C++的头文件里运行比较方便找到

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

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

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

博客作业05--查找

3.2 我的总分:130

本题评分规则:

(1)2个题目集PTA总分145--175分:3分(全部题目都做)
(2)PTA总分在120分--145分:2.5分(必做题全部做完,选做题做部分)
(3)PTA总分在105--120分:2分(必做题大部分做完)
(4)PTA总分在80--105分:1.5分
(5)PTA总分在45分-80分:1分
(6)PTA总分在45分以下:0分

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

本次为必做
查找是一个比较重要且常用的内容,请找一篇哈希表或红黑树实现查找代码。
可以去看STL重map、hash_map容器源码如何实现。也可以看JAVA\Python源码。

5. 代码Git提交记录截图

博客作业05--查找