首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法和数据结构
monday
创建于2021-11-25
订阅专栏
记录算法和数据结构的学习过程
等 2 人订阅
共32篇文章
创建于2021-11-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
判断链表是不是回文结构
判断链表是不是回文结构,采用两种解法。1、额外空间复杂度为O(1)的写法,全程只使用了n1、n2、n3三个有限变量;2、额外空间复杂度为O(N)的写法,采用栈来做。
排序算法总结
说了这么久的排序算法,是时候进行总结一下了。本文总结了排序算法的稳定性、排序算法常见的坑、工程上对排序算法的改进等。
不基于比较的排序
不基于比较的排序,核心思想就是桶排序,时间复杂度都是O(N)。常见的有计数排序、基数排序。 计数排序:适用于排序元素的值范围比较小的,且是整数;基数排序:适用于十进制正整数
前缀树
1、前缀树定义,2、简版的前缀树:只能存放26个小写字母组成的字符串,3、通用的前缀树:不限定存放的内容
与堆有关的题目
和堆有关的题目。 1、几乎有序的数组排序; 2、最大线段重合问题,求:线段最多的重合区域中,包含了几条线段
堆和堆排序
大家好,我是周一。 今天我们聊聊堆,以及堆排序。 一、堆 谈到堆,首先我们要从二叉树说起,从二叉树到完全二叉树,再才到堆。 1、二叉树 每个结点最多只能有两棵子树,且有左右之分 2、完全二叉树 一棵深
荷兰国旗问题以及快速排序
大家好,我是周一。 最近几篇算法,我们都是聊的归并排序,归并排序也说的差不多了,今天讲讲快速排序。 一、荷兰国旗问题 1、啥是荷兰国旗问题 荷兰国旗是由红白蓝3种颜色的条纹拼接而成,如下图所示: 假设
归并排序干掉的LeetCode第一个Hard题(LeetCode327 区间和的个数),帅
大家好,我是周一。 最近几篇算法,我们都是聊的归并排序,今天再开一篇。再聊两题。 一、大于右侧数的两倍 怕大家忘了归并排序,所以先拿一题练练手。 1、题目描述 求给定数组中,当前数 大于 右侧数两倍
归并排序:解决小和、逆序对问题
大家好,我是周一。 在上一篇归并排序中,我们讲了归并排序的基本概念、merge(合并)过程等,今天趁热打铁,我们来说说使用归并排序的一些常见面试题。 一、小和问题 1、题目描述: 在一个数组中,每一个
归并排序以及Master公式
一、概念 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子
基础数据结构--栈和队列的练习
1、如何用栈结构实现队列结构 首先,用一个栈肯定是实现不了的。所以,考虑两个栈来实现。一个是push栈、一个是pop栈。 放数据的时候往push栈放,当取数据的时候,将数据全部倒到pop栈,再从pop
基础数据结构--链表的练习
一、单链表和双链表反转 核心点: (1)单链表: 拿到next节点,修改当前节点的next节点,修改pre节点,当前节点后移