zoukankan      html  css  js  c++  java
  • DS博客作业07--查找

    DS博客作业07--查找

    1.本周学习总结

    1.思维导图

    2.谈谈你对查找运算的认识及学习体会

        通过本周对查找运算的学习,系统的深入了解一些算法和查找方法,例如顺序查找,折半查找,希尔排序等;
    这些方法可以帮我们解决不同情况下的查找,例如在大数据的情况下,要求要得到前十个数,快排速度是快,但是
    要求只是前十个,不如用堆排。
        
    

    2.PTA实验作业

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

       在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点。
    现给定某二叉搜索树(BST)中任意两个结点,要求你找出它们的最近公共祖先。
    
    

    2.1.1设计思路(伪代码)

    思路如下:
    有两种情况:1.u,v不在树中;
     2.u,v在树中:    <1>u,v都在左子树上;
                                <2>u,v都在右子树上;
                                <3>u,v一个在左子树上,一个在右子树上;
                                <4>u,v有一个在根上。 
    
    

    2.1.2代码截图


    2.1.3本题PTA提交列表说明


    Q:考虑了是否是根,在根的同一边,找不到的情况,两个数在根的同一边忘记考虑了
    A:后面带入数据,才知道少了种情况

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

        实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。
    

    2.2.2代码截图

    2.2.3本题PTA提交列表说明

        这题会map一般就没问题,编译错误是忘记换成c++
    
    

    2.3.题目1:是否二叉搜索树

       本题要求实现函数,判断给定二叉树是否二叉搜索树。 
    

    2.3.1设计思路(伪代码)

      首先二叉搜索树,就是:
    非空左子树的所有键值小于其根结点的键值。
    非空右子树的所有键值大于其根结点的键值。
    左、右子树都是二叉搜索树。
    所以就按这个考虑
    

    2.3.2代码截图

    2.3.3本题PTA提交列表说明

    思路明确的话,一般不会有问题,后面多提交的是为了想找几个特殊点看看,能不能过
    
    

    3.阅读代码

    3.1 题目:查找书籍

        给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价
    

    3.2 代码截图


    3.3 学习体会

        熟悉一些常用的算法,这样解题可以加快速度
    
  • 相关阅读:
    内存溢出和内存泄漏的区别、产生原因以及解决方案
    HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
    TCP, UDP, HTTP, HTTPS协议
    测试面试常见面试题汇总
    SDK测试方法
    App弱网测试工具--Qnet
    PerfDog性能狗移动端性能测试工具
    Jmeter作用域
    事务(转账功能)
    DBUtils
  • 原文地址:https://www.cnblogs.com/B-hai/p/11027186.html
Copyright © 2011-2022 走看看