首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构和算法
订阅
xioashitou
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
【数据结构与算法】KMP算法详解
KMP算法 1. 引入 KMP算法中最著名的应用就是 "求子串问题"。 题目: 现在有str1="abcd1234efg" 和str2="1234",如何判断str2是不是str1的子串? 注意,子串
【数据结构与算法】Manacher算法详解
Manacher算法 1. 引入 Manacher算法和KMP算法都是解决字符串相关题目的常见算法原型,但是各自解决的问题却不一样。 Manacher算法一开始是专门用来解决 "字符串中最长回文子串问
栈、堆、队列深入理解,面试无忧
Event Loop的执行栈、任务队列。 变量存储的堆、栈问题。 栈、队列数据结构的实现问题。 还有一些列相关的手写问题。 在面试中,经常问遇到与之相关的一些列问题哈。 栈 是一种遵循 后进先出(LIFO) 原则的有序集合。新添加和待删除的数据都保存在栈的同一端栈顶,另一端就是…
Morris遍历
写在前面 笔试不推荐用,容易出错,平常写就好 面试推荐用,增加印象分 综述 一种遍历二叉树的方式,并且时间复杂度是O(N), 额外空间复杂度是O(1) 通过利用原树中大量空闲指针的方式,达到节省空间的
【数据结构与算法】Morris遍历详解
Morris遍历 1. 介绍 我们不管是用递归方式还是非递归方式遍历二叉树,只能做到时间复杂度为O(N),额外空间复杂度为O(logN),根本做不到额外空间复杂度为O(1)。 因为递归方式遍历二叉树的
看一遍就理解:动态规划详解
我们刷leetcode的时候,经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。今天跟大家一起来学习动态规划的套路,文章如果有不正确的地方,欢迎大家指出哈,
漫画:什么是Bitmap算法?
1. 给定长度是10的bitmap,每一个bit位分别对应着从0到9的10个整型数。此时bitmap的所有位都是0。 2. 把整型数4存入bitmap,对应存储的位置就是下标为4的位置,将此bit置为1。 3. 把整型数2存入bitmap,对应存储的位置就是下标为2的位置,将此…
bitMap原理及实战
在实际项目中,我们经常需要聚合统计,比如统计一个年龄在20-30,喜欢看技术书籍,喜欢听音乐,喜欢宅在家的程序员等等一系列标签的用户。 如果使用mysql求并集,首先语句随着标签变长而变长,其次聚合,分组,去重严重影响语句性能。这种情况如何解决? 比如现在比较火的面试题,在10…
排序算法总结
依次选择一个待排序的数据,插入到前边已排好序的序列中。 时间复杂度为$O(N^2)$,空间复杂度为$O(1)$。算法是稳定的,比较次数和交换次数都与初始序列有关。 直接插入排序每次往前插入时,是按顺序依次往前找,可在这里进行优化,往前找合适的插入位置时采用二分查找的方式,即折半…
31-并查集(Union Find)
为了完成上面的需求,能不能使用前面介绍的数据结构呢,例如:数组,链表,平衡二叉树,集合?其实是可以的,只是效率上高与低的问题。 例如使用动态数组完成上面这种操作,可以通过下面的方式完成。 其他几种数据结构操作也类似。但是使用这些数据结构存在一个问题,它们的查询,连接时间复杂度都…