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值所在的地址,查找成功返回该地址,查找失败返回查找失败提示。

  • 相关阅读:
    Leetcode 83. Remove Duplicates from Sorted List
    Leetcode 61. Rotate List
    Leetcode 24. Swap Nodes in Pairs
    增强式学习
    散布矩阵
    特征选择
    CouchDB
    echarts和matplotlib
    特征缩放
    K-means、SLC、EM
  • 原文地址:https://www.cnblogs.com/txx120/p/9092198.html
Copyright © 2011-2022 走看看