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

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

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

  • 相关阅读:
    ThinkPHP中pathinfo模式与URL重写
    JS分割字符串并放入数组的函数
    js解决弹窗问题实现班级跳转DIV示例
    javascript客户端遍历控件与获取父容器对象
    Apache 虚拟目录和默认首页的设置
    linux Apache CGI 安装配置
    apache与和mysql重启命令
    带你从零学ReactNative开发跨平台App开发(三)
    带你从零学ReactNative开发跨平台App开发(一)
    C#/Net定时导出Excel并定时发送到邮箱
  • 原文地址:https://www.cnblogs.com/genggeng/p/9786735.html
Copyright © 2011-2022 走看看