博客作业05--查找

1.学习总结

1.1查找的思维导图

1.2 查找学习体会

  • 通过学习查找,可以把之前学习的树运用在查找这一方面,树的知识就有BST,AVL树,B树,一些内容都是环环相扣
    的,都是在前面的基础上增强,然后学习了哈希表,了解了哈希函数,哈希冲突的解决,最大的收获是了解到map,
    hash-map,通过前人的源代码,了解了红黑树,容器等基本概念,利用map就可以轻松解决qq账号等问题。

2.PTA实验作业

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

2.2 设计思路

* 定义静态变量 min为-32768
* 如果T为空树,return true
    否则 
       中序遍历左子树
       如果根节点大于min,赋值于min
         否则return false
       中序遍历右子树
* return true

2.3 代码截图

2.4 PTA提交列表说明。

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

2.2 设计思路

* while BST不空
    如果u大于节点   BST指向右孩子节点
     要不然u小于节点 BST指向左孩子节点
       否则 退出循环
* 如果BST空  return error
* BST =T;
* 对于v也是如上操作
* while T不空 
   如果节点在u,v之间,return节点
    要不然节点大于u,v, T指向左孩子节点
     否则,T指右左孩子节点

2.3 代码截图

2.4 PTA提交列表说明。

  • 原先代码
  • 1:sample 2 等价(ERROR重定义) 6:sample 2 等价(ERROR重定义)7:sample 2 等价(ERROR重定义)
    测试点是由于没有按题目return error
  • 3:sample 2 等价(ERROR重定义) 5:sample 2 等价(ERROR重定义)
    缺少考虑节点等于u,v的情况

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

2.2 设计思路

* 定义整形变量n,i,,字符变量point,id,password,map字符串mymap
* 输入n
* for i=0 to n
   输入命令符point,账号id,密码password
   如果命令符point为N,则:
      如果mymap已有账号,输出ERROR Exist
      否则   将id,password存入map中,并输出NEW ok
   如果 如果命令符point为L,则:
      如果map账号不存在,输出.ERROR:Not Exist
      否则  
         如果 map密码不对,输出ERROR:wrpong pw
         不然输出login:ok
* end for

2.3 代码截图

2.4 PTA提交列表说明。

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

3.1 PTA排名

3.2 我的总分:

  • 我的得分2.5分

4. 阅读代码

地址:https://blog.csdn.net/v_JULY_v/article/details/6114226

  • 这篇代码的好处在于出现的生词比其源代码少很多,让我不用看的头昏脑涨,让我花费较少的时间去了解红黑树的,
    注释也很清晰。相对契合我们刚刚学习的二叉树,都是根据左子树小于节点,右子树大于节点来编写代码。

5. 代码Git提交记录截图

posted @ 2018-05-26 19:43  君甚秀  阅读(217)  评论(0编辑  收藏  举报