首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
HonestMan
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
看图轻松理解数据结构与算法系列(B树)
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 B树即平衡查找树,一般理解为平衡多路查找树,也称为B-树、B_树。是一种自平衡树状数据结…
通过分析LinkedHashMap了解LRU
我们都知道LRU是最近最少使用,根据数据的历史访问记录来进行淘汰数据的。其核心思想是如果数据最近被访问过,那么将来访问的几率也更高。在这里提一下,Redis缓存和MyBatis二级缓存更新策略算法中就有LRU。画外音:LFU是频率最少使用,根据数据历史访问的频率来进行淘汰数据。…
面试必备:List 算法
还是以“hello world”为例,作图分析下。 (1) 初始化List,数组默认容量len为8,size=0。(容量小一点方便作图,实际容量看需求而定。) (2) 队尾添加字符 h ,size++。 (3) 添加len-1个字符后,size指向数组最后一个位置。 (4) 如…
算法(六):图解贪婪算法
贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。 贪婪算法并没有固定的算法解决框架,算法…
数据结构与算法(十四)深入理解红黑树和JDK TreeMap和TreeSet源码分析
今天我们来介绍下非常重要的数据结构:红黑树。 很多文章或书籍在介绍红黑树的时候直接上来就是红黑树的5个基本性质、插入、删除操作等。本文不是采用这样的介绍方式,在介绍红黑树之前,我们要了解红黑树是怎么发展出来的,进而就能知道为什么会有红黑树的5条基本性质。 这样的介绍方式也是《算…
数据结构和算法面试题系列—链表
链表作为一种基础的数据结构,在很多地方会用到。如在Linux内核代码,redis源码,python源码中都有使用。除了单向链表,还有双向链表,本文主要关注单向链表(含部分循环链表题目,会在题目中注明,其他情况都是讨论简单的单向链表)。双向链表在redis中有很好的实现,也在我的…
看图轻松理解数据结构与算法系列(2-3树)
已删!
动态规划算法学习总结
贪心算法(Greed alalgorithm) 是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致全局结果是最好或最优的算法。 分治算法(Divide and conquer alalgorithm) 字面上的解释是“分而治之”,就是把一个复杂的问…
[算法总结] 20 道题搞定 BAT 面试——二叉树
0. 几个概念 完全二叉树:若二叉树的高度是h,除第h层之外,其他(1~h-1)层的节点数都达到了最大个数,并且第h层的节点都连续的集中在最左边。想到点什么没?实际上,完全二叉树和堆联系比较紧密哈~~~ 满二叉树:除最后一层外,每一层上的所有节点都有两个子节点,最后一层都是叶子…