zoukankan      html  css  js  c++  java
  • 常见数据结构和算法题

    小顶堆、大顶堆

    堆生成 调整算法

    https://www.cnblogs.com/MOBIN/p/5374217.html

    红黑树:是一种自平衡二叉查找树

    B树

    B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据库文件系统

    B 树可以看作是对2-3查找树的一种扩展,即他允许每个节点有M-1个子节点。

    • 根节点至少有两个子节点
    • 每个节点有M-1个key,并且以升序排列
    • 位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间
    • 其它节点至少有M/2个子节点

    下图是一个M=4 阶的B树:

    https://www.cnblogs.com/vincently/p/4526560.html

    2-3-4树

    二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。
    二叉查找树每个节点只可以有一个key,而2-3-4树就是将节点的key的数量增加,可以有多个key,并且2-3-4树可以保持完美平衡。完美平衡就是每条从根节点到叶节点的路径的高度都是一样的。

    2-3-4树的名字是根据子节点数来确定的。
    我们看2-3-4树的key的种类。

    • 2-node: one key, two children.一个key值,两个儿子节点
    • 3-node: two keys, three children.两个key值,三个儿子节点
    • 4-node: three keys, four children.三个key值,四个儿子节点

    其中2-node的左孩子就代表比key小,右孩子就代表比key大,
    3-node的左孩子代表比第一个key小,中间的孩子代表值位于第一个key和第二个key之间,右孩子代表值大于第二个key
    4-node同理

    https://www.jianshu.com/p/37c845a5add6
     
     

    Trie树(单词查找树、字典树)

    快排

    非递归实现快排

    https://www.cnblogs.com/TenosDoIt/p/3665038.html

    https://blog.csdn.net/ouyangjinbin/article/details/51079136

    第k大的数(快排思想)

    和最大连续子数组

    积最大连接子数组

    全排列问题

    https://blog.csdn.net/jacky_chenjp/article/details/66477538

    https://blog.csdn.net/summerxiachen/article/details/60579623

    https://www.cnblogs.com/nowornever-L/p/6008954.html

    给定二叉树前序、中序遍历结果。求后序遍历结果(递归)

    链表是否有环  找环的入口点

  • 相关阅读:
    IDEA快捷键
    关于redis key命名规范的设计 【转载】
    Mybatis数据源与连接池 【转载】
    通过缓冲区读文件和非缓冲区读文件有什么区别
    BCB6 使用正则表达式的例子
    QT在子窗口外单击关闭子窗口
    QT5 中文乱码
    QT 鼠标右键菜单
    关于线程池的几个问题
    关于ConcurentHashMap的几个问题
  • 原文地址:https://www.cnblogs.com/genggeng/p/9786735.html
Copyright © 2011-2022 走看看