首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法基础
一往无前fly
创建于2021-08-28
订阅专栏
基础数据结构,排序,查找算法
暂无订阅
共18篇文章
创建于2021-08-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
非递归二叉树遍历
` 二叉树非递归遍历,前序遍历和中序遍历递归相对好写一些,后序遍历采用了先输出逆序,然后再逆序的方式 `
leetcode 163
给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。 示例: 输入: nums = [0, 1, 3, 50, 75], l
leetcode 251
注意: 请记得 重置 在 Vector2D 中声明的类变量(静态变量),因为类变量会 在多个测试用例中保持不变,影响判题准确。请 查阅 这里。 你可以假定 next() 的调用总是合法的,即当 nex
leetcode 277
假设你是一个专业的狗仔,参加了一个 n 人派对,其中每个人被从 0 到 n - 1 标号。 在这个派对人群当中可能存在一位 “名人”。 所谓 “名人” 的定义是:其他所有 n - 1 个人都认识他/她
[leetcode] 285. Inorder Successor in BST
Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th
leetcode 340
给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T。 作者:珺王不早朝 链接:https://www.jianshu.com/p/3ac7558763ee\ 来源:简书 著作权归作者
leetcode 348
题目描述 设计一个在n×n网格上两个玩家之间玩的Tic-tac-toe游戏。 您可以假定以下规则: 1.一个移动被保证是有效的,并且被放置在一个空块上。 2.一旦达到获胜条件,就不再允许移动。 3.成
堆 python
堆中每个节点的值必须大于或者等于(或者小于等于)其子树中每个节点的值,实际上,我们还可以换一种说法,堆中每个节点的值都大于或者等于(或者小于等于)其左右子节点的值,这两种说法等价 ` `
leetcode 253 会议室二
给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室
AC自动机
AC 自动机算法,全称是 Aho-Corasick 算法。其实,Trie 树跟 AC 自动机之间的关系,就像单串匹配中朴素的串匹配算法,跟 KMP 算法之间的关系一样,只不过前者针对的是多模式串而已
Trie 树
Trie 树的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。最后构造出来的就是下面这个图中的样子。 ` `
堆
堆是一个完全二叉树,堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值。第一点,堆必须是一个完全二叉树。还记得我们之前讲的完全二叉树的定义吗?完全二叉树要求,除了最后一层,其他层的节点
二叉查找树
二叉查找树是二叉树中最常用的一种类型,也叫二叉搜索树。顾名思义,二叉查找树是为了实现快速查找而生的。不过,它不仅仅支持快速查找一个数据,还支持快速插入、删除一个数据。它是怎么做到这些的呢?这些都依赖于
队列
队列可以用数组来实现,也可以用链表来实现。用数组实现的栈叫作顺序栈,用链表实现的栈叫作链式栈。同样,用数组实现的队列叫作顺序队列,用链表实现的队列叫作链式队列。 用数组实现 用链表实现
排序算法
排序算法对于程序员来说并不陌生,在平常的项目中以及面试中,都会涉及排序算法,常见算法有,冒泡排序,插入排序,选择排序,堆排序,计数排序,归并排序,基数排序,桶排序。
查找
二分查找: 二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 应用场景: 首先
链表
链表结构很多,最常见三种最常见的链表结构,它们分别是:单链表、双向链表和循环链表。 单链表 双向链表 循环链表 常见链表操作
栈
栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。 我第一次接触这种数据结构的时候,就对它存在的意义产生了很大的疑惑。因为我觉得,相比数组和链表,栈带给我的只有限制,并没有任何优势。那我直接使