zoukankan      html  css  js  c++  java
  • 查找

    一.学习总结

    1.查找的思维导图:

    2.查找学习体会:查找可分为线性表查找,树表查找,哈希表查找三大类。不同的查找有着不同的查找效率,每一种查找都有其优缺点。其中线性表查找又可分为三种不同效率的查找,其中二分法查找效率最高,但也有局限,不对所有的表都适用。树表查找的平均查找长度(ASL)与树的高度有关,因此当树的元素较多时,一般二叉排序树的查找效率可能会降低,为了提高二叉排序树的查找效率,就有了平衡二叉树和B树,平衡二叉树和B树是高效率查找的二叉排序树,它们的出现都是为了提高树的查找效率。哈希表是一种不同于顺序表存储结构,链表存储结构,索引表存储结构的存储线性表的存储结构,由直接定址法,除留余数法,数字分析法三种基本方法来构造,但存在着哈希冲突,为了消除哈希冲突,有开放地址法,拉链法两种解决方法。只要构造好哈希表,哈希查找效率会非常高。

    二.PTA实验作业

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

    (1)设计思路:本题采用递归算法,定义指针p指向以T为根节点的树,若树不为空且存在孩子,则先把T->Left 赋值给指针p,判断T的左子树是否都小于根节点,满足则继续判断T的右孩子是否都大于根节点,若满足则递归IsBST函数判断T的左右孩子是否同样满足,满足返回true,即该树为二叉搜索树,否则返回false,即该树不是二叉搜索树。

    (2)代码截图:

    (3)PTA提交列表说明:

    1.没有考虑到空树时的输出导致答案错误

    2.没有正确使用变量导致编译错误

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

    (1)设计思路:本题采用递归算法,自定义了一个find函数分别判断根节点T和u,v是否有关系,再递归判断T->Right及T->Left是否都和u,v有关系,满足题意则返回根节点的值,不满足则返回ERROR。

    (2)代码截图:

    (3)PTA提交列表说明:

    1.变量使用错误导致编译错误

    2.多种情况考虑不全导致部分正确

    题目三:7-1  QQ账户的申请与登陆

    (1)设计思路:本题采用哈希表存储账户信息,采用除留余数法建哈希表,若输入信息正确,则返回true,若输入信息有误,返回相应错误信息。

    (2)代码截图:

    (3)PTA提交列表说明:

    1.编译环境错误导致编译错误

    三.本周题目集的PTA排名:

    本次题目集总分:175分

    必做题共:145分

    (1)PTA排名:43

    (2)我的总分:120

    四.阅读代码:

    1.代码截图

    2.代码解读:该查找算法使用除留余数法存储地址信息,用线性探测法处理哈希冲突,用指针p记录键值k除留余数法后的地址,访问该地址的键值是否与k相同,不相同则地址加1,直至找到k值所在的地址,查找成功返回该地址,查找失败返回查找失败提示。

  • 相关阅读:
    bzoj 4012: [HNOI2015]开店
    POJ 1054 The Troublesome Frog
    POJ 3171 Cleaning Shifts
    POJ 3411 Paid Roads
    POJ 3045 Cow Acrobats
    POJ 1742 Coins
    POJ 3181 Dollar Dayz
    POJ 3040 Allowance
    POJ 3666 Making the Grade
    洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P
  • 原文地址:https://www.cnblogs.com/txx120/p/9092198.html
Copyright © 2011-2022 走看看