首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
数据结构和算法
NOxONE
创建于2022-07-18
订阅专栏
能写代码就尽量不多BB
暂无订阅
共10篇文章
创建于2022-07-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
10.二叉树遍历
二叉树遍历无非就是递归和迭代 递归有三种方式:先序、中序、后序,框架如下: 迭代有四种方式:先序、中序、后序、层序,框架如下:
9.顶堆结构js实现
顶堆结构JS实现,顶堆结构JS实现,顶堆结构JS实现,顶堆结构JS实现,顶堆结构JS实现,顶堆结构JS实现
8.BFS和DFS
1.BFS、DFS BFS即广度优先搜索,DFS即深度优先搜索,BFS采用队列实现,DFS采用栈实现 2.图结构和二叉树结构 3.BFS遍历图和二叉树 4.DFS遍历图和二叉树
7.分治算法
1.分治思想 将一个大问题递归分解为每个小问题,直到不能再分解,逐一求解最后再合并,具体实现分为三个过程:分解=>求解=>合并 2.实现代码 排序算法中的归并排序及快速排序就使用到了分治的思想
6.滑动窗口算法
1.滑动窗口算法思想 维护一对左右指针,窗口即为[l,...,r],在一定条件内移动右指针以扩大窗口大小,直到窗口内的元素不满足条件时根据情况移动左指针,重复移动左右指针的操作并在区间内求解,直到双指
4.双指针算法
1.双指针 双指针:采用两个指针,对一个数组或者字符串进行遍历,包括同向的快慢指针和反向的对撞指针 2.对撞指针 i:左指针 0,j:右指针 lenght-1,当i>=j则代表指针对撞,这时应该终止,
5.字符串匹配算法
判断一个字符串是否为另一个字符串的子串,是则返回所在索引,不是返回-1 1.BF算法 BF算法即Brute Force,暴力算法,时间复杂度O(n*m) 2.RK算法 将字符串转为hashcode,迭
2.排序算法
1 冒泡排序 时间复杂度O(n^2) 2 选择排序 时间复杂度O(n^2) 3 插入排序 时间复杂度O(n^2) 4 归并排序 时间复杂度O(nlogn),采用分而治之的思想,先分后排 5 快速排序
3.动态规划
1.动态规划三个要素 动态规划,即Dynamic Programming,简称DP,解题由三个要素构成: 状态:dp[i]或dp[i][j],沿升递归到第i个界限所得到的目标值 状态初始化: dp[1
1.各种数据结构简介与实现
0.写在开头 本篇文章旨在实现各种数据结构,实现为主,介绍为辅(或者说基本不介绍),要看具体详情可以参考《在 JavaScript 中学习数据结构与算法》这篇博客 1.栈 栈(Stack):后进先出L