数据结构回顾

  1. 数据量小==>内排序
  2. 数据量大==>外排序

  1. O(n)得到第(前)K大元素==>快排思想(适合小数据量)
  2. O(nlogn)得到前K大元素==>维护一个K个元素的小顶堆(适合大数据量)【一次堆化需要logn,堆化n个元素需要n个logn】

  1. 链表中范围查找==>跳表【O(logn)】【链表存储使用跳表】
  2. 数组中范围查找==>二分法【O(logn)】【数组存储数组二分法】

  1. Redis的有序集合ZSet思想:散列表(key)+跳表(score)【查key的score,按score区间查key】
  2. 出现上亿,T级数据:哈希算法数据分片,存储到不同的服务器上

  1. KMP算法:
    模式串与主串进行比较;
    当匹配指针发现不匹配字符时,则寻找指针左端的模式串部分 的 公共最长前后缀,然后将前缀部分移动到后缀部分再进行比较(而不是每次移动一位)【最长公共前后缀越短,移动的越多】
    在这里插入图片描述

  1. 堆是一个完全二叉树;
    红黑树是一个平衡二叉树;(尽可能的保持平衡,子树高度查不会超过1)
    B树是一个平衡树!(注意B树不是二叉树)

  1. B树(也就是B-)和B+树的区别:
    1)节点的分支数不同;
    在这里插入图片描述
    2)B树的每个节点关键字存储数据;而B+树中的数据都存储在叶子结点上,非叶子节点仅仅起到索引的作用(数据库索引的查找功能
    3)B+树有一个指向根结点,还有一个指向关键字最小的叶子结点,且将叶子结点依关键字的大小自小而大顺序链接!数据库索引的排序功能
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值