首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
卖油条的
创建于2021-09-29
订阅专栏
算法相关
等 1 人订阅
共11篇文章
创建于2021-09-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
前端算法系列(11):位运算
概述 首先要明确一些基础概念,位运算间有一些常见位操作。 逻辑位操作 ~ 按位取反,对每一位执行非操作,最终结果是~x=-(x + 1) & 按位与,对每对比特位执行与操作,当两者都是1时才是1 |
前端算法系列(10):动态规划
概述 动态规划和很多其他算法都是通过子问题的解决来解决整体问题。 贪心是每一步都达到当前最优,是否最终最优不一定,这个过程要有一定证明。 深度优先搜索通过递归或栈解决子问题,其本身就是穷举+剪枝。 动
前端算法系列(9):贪心
概述 贪心算法的每次计算的局部最优解可以推出最后的整体最优解。 可以用贪心算法的问题无后效性,即后面阶段的求解不会修改前面阶段的结果。 贪心算法求解之前往往需要预处理,比如排序 例题 这里介绍两个例题
前端算法系列(8):搜索
概述 搜索就是以某种顺序访问数据结构中的各个元素,包括 查找,即找到符合条件的即结束 遍历,保证对所有元素进行访问,通常每个元素只访问一遍 搜索过程中要按照一定顺序(比如深度优先或广度优先),且尽量减
前端算法系列(7):图
概述 图也是节点之间通过指针连接的数据结构 另外图还有一些其他特征 有向和无向 有环和无环 图中的指针(通常在图中称为边)不仅仅是作为节点的一个属性,也用来表示节点之间的关系,换句话说在图中节点(ve
前端算法系列(6):树
概述 树是有多个指向下一个节点指针的链表,且这种指向是单向的,且每个节点最多只能有一个上级节点(在树中称为父节点),如果有多个上级节点,便是图。 树的实现 leetcode中默认树节点的实现为 最常用
前端算法系列(5):链表
概述 链表是继数组之外,另一个基本的线性数据结构,内存不需要连续。 每个节点中保存一个值,只能通过next指针从一个节点访问下一个节点,因此链表问题通常需要迭代或递归解决,在到达链表结尾之前不知道链表
前端算法系列(4):散列表和js引擎中的对象实现
概述 当对数组中的无序元素进行查找等操作时,需要对该数组进行遍历,即时间复杂度为o(n)。 散列表可以使用o(n)的空间复杂度存储数据,然后通过散列函数找出存储的位置,从而实现接近o(1)的时间复杂度
前端算法系列(3):数组(字符串)、队列和栈
概述 这是几种比较基础的数据结构,js提供了大部分直接使用的api。 数组和字符串 数组是使用连续内存存储的数据结构,稍微复杂的就是二维数组,比如对角线遍历。 字符串可以看成是utf-16字符组成的数
前端算法系列(2):排序
概述 js提供的排序api为 如果不提供排序函数,则会将元素转化为字符串并按从前到后依次对比各字符的charcode升序排列,比如 比较函数的两个参数a,b是待比较的两个元素,如果函数返回值小于0,则
前端算法系列(1):常见的手写题
概述 准备算法有小半年时间了,也做了一些题,接下来会对相关知识点做一下梳理。 前端的算法和后端算法并没什么本质区别,只不过多了一些和js相关的手写题。本期会对常见手写题做一下整理,和js弱关联的不会出