zoukankan      html  css  js  c++  java
  • 查找算法

    经典查找算法一般应用符号表来实现对数据的快速查找

    其底层实现包括三种静态数据类型 :二叉查找树 ,红黑树 , 散列表

    需要实现的基本API有

    • 创建表
    • 插入键值对
    • 获取key对应值
    • 删除key
    • 查询key是否存在对应值
    • 表是否为空
    • 表键值对数量
    • 所有键的集合

    二叉查找树:以二叉树方式排列数据并使用二分法查找
      特点:对数级别的成本,与快排相似。但是最坏情况下的情况性能差

    红黑树:2-3树的具体实现,用平衡插入算法解决了二叉树的自动调整问题,在最坏情况下仍然有较好的性能
      特点:红连接均为左连接

           没有结点同时与两条红色链接相连
         任意空链接到根节点路径上的黑色连接数量相同

    散列表(哈希表):散列函数将键转换为索引,应用拉链法(一个散列值对应多个时插入链表)开放地址(留出空间便于键值对插入)处理碰撞               
      特点:相对于二叉树,代码更简单,查找时间更优(常数级)
         但是抽象结构更复杂

      

  • 相关阅读:
    VMware安装Centos7超详细过程
    LVS+Keepalived小试牛刀
    Spring入门之AOP篇
    Spring学习笔记及资源
    Spring入门第一例
    Mybatis学习手记(二)
    Mybatis学习手记(一)
    java web 开发入门实例
    关于JAVA编译时找不到自定义包的问题
    Java 学习笔记及资源
  • 原文地址:https://www.cnblogs.com/lvoooop/p/10815620.html
Copyright © 2011-2022 走看看