首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法/数据结构
订阅
since1986
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
漫画:什么是红黑树?
1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 接下来我们依次插入如下五个节点:7,6,5,4,3。依照二叉查找树的特性,结果会变成什么样呢? 1.节点是红色或黑色。 2.根节点是黑…
java位运算
2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100, 转换为十进制是12。 同理,>>表示右移. 右移一位表示除2. 位运算: …
如何给 100 亿个数字排序?
今天要给 100 亿个数字排序,100 亿个 int 型数字放在文件里面大概有 37.2GB,非常大,内存一次装不下了。那么肯定是要拆分成小的文件一个一个来处理,最终在合并成一个排好序的大文件。
B树的那点事儿
概述 B树(B-Tree)是一种自平衡的树,能够保证数据有序.同时它还保证了在查找、插入、删除等操作时性能都能保持在O(log n).需要注意的一点是,B-Tree并不是一棵自平衡的二叉查找树,它拥有多个分叉,且为大块数据的读写操作做了优化,同时它也可以用来描述外部存储(支持对保…
查找算法的 Java 实现
查找算法的 Java 实现
二分查找(oc/java/Python/scala)
查找过程演示: 在数组[130,150,170,190,210,230,250,270,290,310]中查找数字190,红色为二分线(折半线),灰色为查找区域,黑色为排除区域。 SYJ二分查找演示.gif 二分查找优缺点: 二分查找(折半查找)优点是比较次数少,查找速度快,平…
常见排序算法 - 堆排序 (Heap Sort)
要了解堆首先得了解一下二叉树,在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于 2 的结…
算法入门:堆排序
堆排序是比较基础的排序算法,也是我认为比较难的一种算法,因为它的流程比较多,理解起来不会像冒泡排序和选择排序那样直观。 要理解堆排序,需要先理解二叉树: 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right sub…
两个有序数组合并成一个有序数组
这是我在美团点评面试的时候,遇到的一个算法题把它记录下来
浅析散列存储
说到散列,我们可能觉得是个新奇的事物,但实际上学过Java的人就会知道,在equal函数中会使用到hashcode,那就是所谓的散列码,而将对应的字转换成散列码的过程,我们称之为散列过程,这个过程函数被称之为散列函数。 理想情况下,不同的关键字的散列码是不会相同的。 1. 散列表…