zoukankan      html  css  js  c++  java
  • 查找

    查找概述

    静态表查找查找

    • 顺序表查找
    • 有序表查找:二分查找,插值查找,Fibonacci查找[0.618] <-- 分割点不同
    • 索引查找:线性索引,树形索引,多级索引
      •  稠密索引
      •  分块索引:块间有序、块内无序,平均查找长度 sqrt(n)+1 ;
      •  倒排索引:速度快,索引项(次关键码,记录号表),由属性值确定记录位置。压缩优化;  

    动态表查找:插入删除

    • 二叉查找树:BST,可为空树。中序遍历有序。提高查找和插入删除速度。平均O(logn)最坏O(n);
      •  平衡二叉树:AVL树,平衡因子|BF|≤1, [LL, LR, RR, RL]。平均和最坏O(logn);
      •  红黑树:  
    • 多路查找树:MST,多个结点元素、多个孩子。所有叶子在同一层。平衡。
      •  m-B树:2-3树和2-3-4树是m阶B树的特例;
      •  B-树:
      •  B+树:文件系统需要。叶结点再现关键字,有序、指针域,含全部信息。查找删除插入的命中结点必须是叶结点,适于带范围的查找; 

    哈希查找查找

    字典集、散列表,查找O(1)。 

    插值查找

    Fibonacci查找

    二分查找

    参考

  • 相关阅读:
    scala泛函编程是怎样被选中的
    新一代编程:scala泛函编程技术-唠叨
    maven依赖本地非repository中的jar包【转】
    关于maven的profile
    intellij idea使用技巧
    springmvc的过滤器和拦截器
    spring bean的生命周期
    关于spring的bean
    关于递归
    tcp
  • 原文地址:https://www.cnblogs.com/wjcx-sqh/p/6103402.html
Copyright © 2011-2022 走看看