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

    1.本周学习总结

    1.1思维导图

    1.2学习体会

    本章学习了顺序表、树表、哈希表的查找方式,学会计算各种查找方式下的ASL
    树表部分的b树和平衡二叉树较为复杂,哈希表相对容易掌握
    期末要复习的有点多,最近代码打得太少,进度有点跟不上

    2.PTA实验作业

    2.1

    是否二叉搜索树

    2.1.1 设计思路

    bool IsBST
        这只是个壳
    
    bool isBSTReal //真·isBST
        if bt==NULL //该分支是二叉搜索树
            return true
        if 元素值超出min-max范围
            return false
        递归执行isBSTReal(左子树,min,bt->Data-1)和isBSTReal(右子树,bt->Data+1,max)
    

    2.1.2 代码截图

    2.1.3 本题PTA提交列表说明

    递归代码left,right写反,导致正确的测试点不能过
    一波递归写完发现给定函数没法递归,然后懒得不想重写,套了个壳交上去发现竟然有分
    打了快一年PTA才发现函数题可以这么玩

    2.2

    航空公司VIP客户查询

    2.2.1 设计思路

    定义map类 airline
    for i=0 to n
        输入用户,航程
        航程不满最小值替换为最小值
        用户,航程存入map类
    for i=0 to n
        输入用户
        if 找到
            输出航程
        else
            输出No Info
    

    2.2.2 代码截图


    2.2.3 本题PTA提交列表说明

    超时,超时,超时·······
    对比了其它人的代码发现同样的思路使用scanf,printf可以压着时间过,查了一下资料

    可以用ios::sync_with_stdio(false);取消cin cout 与 stdio 同步
    强烈质疑测评机制有问题:原封不动的代码打个注释又超时了

    2.3

    二叉搜索树中的最近公共祖先

    2.3.1 设计思路

    int LCA
        调用Find判断两数是否都在树中
            否,return ERROR
        if 空树
            return ERROR
        while 树不空
            if 两数都小于元素值
                树指针指向左子树
            if 两数都大于元素值
                树指针指向右子树
            else
                返回指针指向的节点
    
    int Find 
        if 空树
            return 0
        if 找到对应元素
            return 1
        if 元素值大于查找值
            递归在左子树中查找
        else
            递归在右子树中查找
    

    2.3.2 代码截图


    2.3.3 本题PTA提交列表说明

    Q1.return ERROR直接用return -1
    Q2.给定数字不在树中时错误
    A2.加入Find函数判断给定数字是否在树中

    3.阅读代码

    3.1 题目

    查找和最小的K对数字

    3.2 解题思路

    for i=0 to nums1.size()
        for j=0 to nums2.size()
            生成所有可能的数字对,两数字和为键,两数字为值,存入multmap
    for 使用迭代器遍历multmap
        将前k个的值存入数组res中
        返回数组res
    

    3.3 代码截图

    3.4 学习体会

    学习了pair的用法,multmap的部分用法,为课设做准备

  • 相关阅读:
    Maximal Square
    Largest Rectangle in Histogram
    Number of Islands
    Ajax工作原理及C/S与B/S的区别
    Spring的AOP和IoC及隔离级别
    final,finally,finalize的区别
    Servlet生命周期
    数组和链表
    Spring工作原理
    JVM加载class文件原理
  • 原文地址:https://www.cnblogs.com/kisamko/p/11032283.html
Copyright © 2011-2022 走看看