首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
从头开始学算法
moonhoro
创建于2023-05-30
订阅专栏
算法学习之路
暂无订阅
共30篇文章
创建于2023-05-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
day 08 kmp
KMP 算法的核心思想:利用已匹配的部分信息,避免在文本串中回溯到已经比较过的字符。 next数组核心:寻找相同的最长前后缀。 next数组的求法: 比较p[i]和p[j+1]的值:(i=2,j=0,
day 07(三)队列
队列 特点:先进先出(FIFO) 单调队列 单调队列的基本思想和操作: 如果队列为空,将当前元素入队。 如果当前元素大于等于队列尾部的元素(保持单调递增),将队尾元素出队,直到队列为空或当前元素小于队
day07(二)栈
栈 特点:先进后出(LIFO),仅允许在栈顶进行插入(压栈)和删除(弹栈)操作,没有随机访问的能力,即只能访问或操作栈顶的元素。 单调栈 单调栈的基本思想和操作: 如果栈为空,将当前元素入栈。 如果当
day07 链表
单链表 理论上,单链表为每个节点均有一个va储存值l和next指针构成,用数组模拟采用两个数组实现,一个数组储存val,另一个储存对应的下一个数的下标,即next。 单链表没办法查看自身的前一个点的位
day06 区间合并
区间合并 多个区间有交集,合并成一个区间。 具体思路: 按区间左端点排序 每次维护一个区间,处理另一个区间,则有三个情况: 完全包含,即当前处理区间的右端点大于等于该区间的右端点,那么我们不需要做任何
day 05 离散化
离散化 当值域远大于数组长度,同时又需要以值域为下标时,将其值域映射 问题: 可能有重复元素,需要去重 如何算出离散化后的值(二分) 简单模板: 例题:假定有一个无限长的数轴,数轴上每个坐标上的数都是
day 04 双指针 位运算
双指针 第一类:两个指针分别在两个序列 第二类:两个指针在同一个序列内 核心思想:虽然是两个循环扫描,但是算法时间复杂度为O(n) 基本模板: 一个简单例子: 位运算 简单例子:
day 03 前缀和(一)
前缀和(Prefix Sum)是一种常用的算法技巧,用于在数组中快速计算某一段数的和。它的主要思想是通过预先计算并存储每个位置的前缀和,然后可以在常数时间内获取任意一段数的和。
从头开始学算法day01 快排 归并 二分
已经学过一次数据结构与算法,但是感觉第一次学时基础尚浅,学的不牢靠,故重新学一遍,所学教材为acwing的算法基础课。
day 02 高精度计算
重头学算法day 02 高精度计算,实现C++的高精度加法、减法、高精度乘以低精度,高精度除以低精度。