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查找

    二分查找

    参考

  • 相关阅读:
    选择排序法
    计算大阶乘(值很大)
    递归计算阶乘
    计算m的m次方倒数的和
    使用文件(FILE)输入输出
    判断回文数
    最小公倍数(调用函数与全局变量)
    How to 共用体
    How to 枚举
    有效编写软件的75条建议(转)
  • 原文地址:https://www.cnblogs.com/wjcx-sqh/p/6103402.html
Copyright © 2011-2022 走看看