首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
hilly
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
漫画:什么是动态规划?
有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我…
二叉树遍历Java(递归+迭代):前序、中序和后续遍历(双栈法+Deque法)
核心思维模型:对于二叉树的遍历,首先要将 Base Case 具体化出来,最底层的子节点不是没有左、右两个子节点,应该将其左、右两个子节点用 null 表示出来。即最底层子节点的左、右子节点都是 null。 在每次递归遍历中,该子节点相对于本次遍历都是一个根节点,它的左右子节点…
看动画轻松理解时间复杂度(一)
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比如排序就有前面的十大经典排序和几种奇葩排序,虽然结果相同,但在过程中消耗的资源和时间却会有很大的区别,比如快速排序与猴子排序:)。 主要还是从算法所…
聊聊缓存淘汰算法-LRU 实现原理
我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们聊聊 LRU 算法。 LRU 是 L…
搞编程,你必知必会的复杂度分析
在开发中,我们会经常听到关于时间复杂度、空间复杂度相关词汇,如果你没有这方面的知识,你肯定会一脸懵逼。那什么是时间复杂度、空间复杂度还有我们又怎么去分析?首先我们先来弄清楚我们为什么需要做复杂度分析。 真实的时间复杂度、空间复杂度我们需要在机器上执行我们编写的代码,才能统计出我…
数据结构与算法中有那些奇技淫巧?
今天的这篇文章,算是一种补充,同时会列举一些常见的算法题,如何用这些技巧来解决,通过使用这些方法,可以让一些算法题变的更加简单。 其实还是有挺多用处的,在做题的时候也是会经常碰到,下面我列举几道经典、常考的例题。 如果一个数是 2 的幂次方,意味着 n 的二进制表示中,只有一个…
算法学习思路
很多前端童鞋对算法都有莫名的恐惧,究其原因无非两点:其一,对算法不了解;其二,没有找到实际应用场景。 这是个很有意思的问题,对算法感兴趣的人,不需要问为什么,算法对他们可能是一种兴趣。曾经有位同事,他刷遍了所有算法题,只要有算法竞赛,他都会去参加。当然,也取得了不错的成绩,甚至…
数据结构与算法--浅析图
让有向无环图中所有顶点排成一个线性序列,使图中任意一对顶点u和v,若点u到v连通,都满足在线性序列中u位于v前。有两种实现方法,分别是Kahn算法和DFS 实质上是贪心算法。如果某个顶点入度为 0 ,就表示没有任何顶点必须先于这个顶点执行,那么这个顶点就可以执行了。 …
前端该如何准备数据结构和算法?
据我了解,前端程序员有相当一部分对“数据结构”和“算法”的基础概念都不是很清晰,这直接导致很多人在看到有关这部分的内容就会望而却步。 实际上,当你了解了“数据结构”和“算法”存在的真正意义,以及一些实际的应用场景,对它有了一个整体的认知之后,你可能会对它产生强烈的兴趣。当然,它…