首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
lqstyle
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
「五大常用算法」一文搞懂分治算法
分治算法(divide and conquer)是五大常用算法(分治算法、动态规划算法、贪心算法、回溯法、分治界限法)之一,很多人在平时学习中可能只是知道分治算法,但是可能并没有系统的学习分治算法,本篇就带你较为全面的去认识和了解分治算法。 在学习分治算法之前,问你一个问题,相…
数据结构和算法(四)——栈及其相关算法
栈是一种运算受限的线性表,只允许在一端(栈顶)插入和删除数据。栈主要包含两个操作,入栈和出栈,也就是在栈顶插入一个数据和从栈顶删除一个数据,其时间复杂度为O(1)。 算法思路:使用一个辅助栈来保存最小值。当push元素时,如果辅助栈为空则直接插入元素;如果辅助栈不为空,则用pu…
为什么我们要尽量避免FileSort(文件排序)
现在,假设阅读此文的你穿越回了小学二年级的时光,此时的你正在不断的追求着隔壁班的班长小红,恨不得把家里所有东西都送给TA。那么问题来了,如果你要把家里东西都搬光送给小红,你有几种办法?以下是我想到 上述例子看似滑稽,但其实这是一直以来人类解决大规模数量问题的解决方案,即要么提升…
搞定面试算法系列 —— 分治算法三步走
分治算法,即分而治之:把一个复杂问题分成两个或更多的相同或相似子问题,直到最后子问题可以简单地直接求解,最后将子问题的解合并为原问题的解。 归并排序就是一个典型的分治算法。 和把大象塞进冰箱一样,分治算法只要遵循三个步骤即可:分解 -> 解决 -> 合并。 这么一说似乎还是有点…
漫画算法:辗转相除法是什么鬼?
去某IT公司面试研发工程师岗位...... 半小时后,公司会议室,面试开始...... 小灰奋笔疾书,五分钟后...... 小灰的思路十分简单。他使用暴力枚举的方法,试图寻找到一个合适的整数 i,看看这个整数能否被两个整型参数numberA和numberB同时整除。 这个整数 …
跳跃表确定不了解下😏
hello,大家好,周五见了。前面几周我们一起看了Redis底层数据结构,如动态字符串SDS,双向链表Adlist,字典Dict,如果有对Redis常见的类型或底层数据结构不明白的请看上面传送门。 今天我们来看下ZSET的底层架构,如果不知道ZSET是什么的,可以看上面传送门第…
探索JAVA系列(二)LinkedList插入数据真的比ArrayList快吗?
此时我们的数量级别是百万级别,我们惊讶的发现ArrayList插入效率要比LinkedList快接近20倍,为什么?why?我们明明记得在学习java集合的时候,明确的知道是ArrayList查询快,增删慢的,LinkedList的特细则与之相反的,可是现实测试却跟定义不一样呢…
动态规划
最近晚上没事的时候看了一下leetcode上面的算法题,这几天看了一下动态规划的题目,发现这些题目都很有趣,比如爬楼梯、最小花费爬楼梯、打家劫舍等,用的思想都很巧妙,所以记录一下。由于好长时间没有用kotlin了,所以我这里给出java和kotlin两种写法,复习复习kotli…
动态规划
以下是一个问题的两个主要特性,表明可以使用动态规划解决给定的问题。 像分而治之一样,动态规划结合了子问题的解决方案。 动态规划主要用于解决一次又一次需要计算相同子问题的复杂问题。 在动态规划中,子问题的计算解决方案存储在一个表中,这样就不必重新计算。 所以当没有共同的(重叠的)…
数据结构-堆
优先队列:一种特殊的队列,队列中元素出栈的顺序是按照元素的优先权大小,而不是元素入队的先后顺序。 最小值时,称为“最小堆”,也称小顶堆。 可以看到,对于堆(Heap)这种数据结构,从根节点到任意结点路径上所有的结点都是有序的。 堆是用数组实现的完全二叉树,因此在Java中我们可…