美文网首页
数据结构与算法

数据结构与算法

作者: juexin | 来源:发表于2017-06-21 16:00 被阅读0次

    平衡二叉树

    一棵AVL树满足以下的条件:
    1.它的左子树和右子树都是AVL树
    2.左子树和右子树的高度差不能超过1

    哈夫曼树

    KMP算法描述

    B+树和B树的区别

    如图所示,区别有以下两点:

    1. B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。
    2. B+树中所有叶子节点都是通过指针连接在一起,而B树不会。
      B+树的优点:
    3. 非叶子节点不会带上ROWID,这样,一个块中可以容纳更多的索引项,一是可以降低树的高度。二是一个内部节点可以定位更多的叶子节点。
    4. 叶子节点之间通过指针来连接,范围扫描将十分简单,而对于B树来说,则需要在叶子节点和内部节点不停的往返移动。

    B树的优点:
    对于在内部节点的数据,可直接得到,不必根据叶子节点来定位。

    插入节点怎么分裂

    二分查找,递归和非递归

    红黑树的实现, TreeSet 的实现

    红黑树简单说了一下它的特性、性能和优缺点

     1、每个节点不是红色就是黑色。
     2、根节点为黑色。
     3、如果节点为红色,其子节点必须为黑色。
     4、任意一个节点到到NULL(树尾端)的任何路径,所含之黑色节点数必须相同。
    

    红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。
    红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。

    红黑树和平衡二叉树区别

    排序的种类、稳定性、时间复杂度,适用场景

    Java 中堆的实现类,堆排序的思路

    从 1 亿游戏积分数据中,如何选择前 200 名最高积分

    手写冒泡排序

    手写堆排序

    如何测一个云朵的质量

    手写上 n 个台阶总共方法数,(每次上 1 、 2 或 3 阶),递归及非递归实现

    手写代码:在一组有序数组中,找出两个数,使得其和为给定和

    只用一个变量,如何表示象棋中两方 “ 将 ”“ 帅 ” 的可走位置

    找出增序排列中一个数字第一次和最后一次出现的数组下标,数据去重,海量数据去重,找出海量数据中前10个最大的数(数据有重复)

    数组先升序在降序,找出最大数

    个正整数数组,给其中一个数字加1,使得所有数乘积最大,找出加1的那个数字

    10G文件的淘宝商品编号,只有512M内存,怎么判断究竟是不是合法编号(即编号是否存在)

    假如淘宝存着一个包含10w个敏感词的词库,紧接着需要从多个商品标题中随机抽查3个有没有包含敏感词的商品

    20亿QQ号的插入与查找最小存储开销实现方案

    图的 prime 算法 kruskal 算法 dijkstra算法 解决什么问题? 分别写一下 伪代码

    海量URL数据,低内存情况下找重复次数最高的那一个

    写大数加法代码

    设计一个洗牌发牌算法

    动态规划的思想

    怎么统计大日志文件访问量前十的ip

    知道LRU吗,20分钟基于Hashmap实现一个LRU算法

    相关文章

      网友评论

          本文标题:数据结构与算法

          本文链接:https://www.haomeiwen.com/subject/udmwqxtx.html