首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
数据结构与算法 - 前端
颜酱
创建于2023-04-26
订阅专栏
基于javascript的数据结构与算法 大部分数据结构需要用数组或者对象伪造下
等 4 人订阅
共18篇文章
创建于2023-04-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口)
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口) 📑 目录 一、双指针是什么? 二、双指针的分类 2.1 快慢指针 2.2 左右指针(相向指针) 2.3 同向指针(滑动窗口) 2.3
前端必备动态规划的10道经典题目
前端必备动态规划:10道经典题目详解(DP五部曲实战) 动态规划零基础的可以先补下 从经典问题入手,吃透动态规划核心 用填充表格法-吃透01背包及其变形 用填充表格法-继续吃透完全背包和多重背包及其变
用填充表格法-继续吃透完全背包和多重背包及其变形
用填充表格法-继续吃透完全背包及其变形 动态规划中的「完全背包问题」是算法学习的核心考点之一,其衍生的「计数、最值、布尔判断」等变形题更是频繁出现在面试和算法竞赛中。很多初学者容易被「一维优化」「遍历
用填充表格法-吃透01背包及其变形
用填充表格法吃透01背包及其变形 01背包问题是动态规划(Dynamic Programming, DP)领域最经典、最基础的模型之一,后续很多复杂的DP问题都可看作是它的变形或延伸。本文将从"表格可
从经典问题入手,吃透动态规划核心(DP五部曲实战)
从经典问题入手,吃透动态规划核心(DP五部曲实战) 动态规划(Dynamic Programming,简称DP)是算法面试中的高频考点,其核心思想是「将复杂问题拆解为重叠子问题,通过存储子问题的解避免
学习卡特兰数:从原理到应用,解决所有递推计数问题
学习卡特兰数:从原理到应用,解决所有递推计数问题 在组合数学和算法面试中,有一类问题始终占据重要地位——它们的答案都指向同一个数列:卡特兰数。无论是“合法括号组合”“出栈序列计数”,还是“二叉搜索树形
滑动窗口详解:原理+分类+场景+模板+例题(视频贼清晰)
滑动窗口的核心是「用单调性压缩遍历维度」,剪枝只是优化手段。掌握它的关键在于: 1. 判断问题是否满足「连续区间+状态单调性+状态可快速更新」; 2. 根据目标(最长/最短/计数)确定「缩窗口条件
理解洋葱模型
洋葱模型 洋葱模型(Onion Model)是中间件执行的核心逻辑模式,特点是请求先逐层穿过外层中间件到达核心逻辑,再反向逐层穿过外层中间件返回,形似洋葱的层级结构。每个中间件既可以处理 “进入” 阶
理解编程的设计模式(前端角度)
设计模式(Design Pattern)是在软件开发中,针对反复出现的问题总结出的可复用解决方案,它是对代码设计经验的提炼,目的是提高代码的可维护性、可扩展性和可读性。简单来说,设计模式是 “前人踩坑
理解编程的设计原则(前端角度)
编程中的设计原则是指导开发者编写 “高内聚、低耦合、可复用、易维护” 代码的核心思想,贯穿需求分析、架构设计、编码实现全流程。 这里说说最核心、最常用的设计原则,按 “通用原则(跨范式)+ OOP 核
理解编程范式(前端角度)
编程范式(Programming Paradigms)是编程的一种风格或方法,它定义了代码的结构和组织方式。编程范式提供了不同的思考和解决问题的角度,影响着程序员如何编写代码。 常见的前端编程范式包括
实现一个mini编译器,来感受编译器的各个流程
编译器深度解析:从理论到实践 引言 编译器是计算机科学中的核心概念,它将人类可读的源代码转换为机器可执行的代码。理解编译器的工作原理不仅有助于更好地理解编程语言,还能提升编程能力和系统设计思维。 本文
MD5的【轻度】科普
MD5是缩写,MD表示Message-Digest Algorithm(消息摘要算法),5表示第五版。 MD系列由罗纳德·李维斯特(Ronald Rivest)设计,之前也有MD1、MD2、MD3..
怎么理解递归和可视化递归过程
于是你开始展示你智慧的一面了,先问前排的人他是第几排,你想只要在他的数字上加一,就知道自己在哪一排了。 但是,前面的人也看不清啊,所以他也问他前面的人。就这样一排一排往前问~ 直到问到第一排的人,说我在第一排,然后再这样一排一排再把数字传回来。 直到你前面的人告诉你他在哪一排,…
用JS表示链表类,嗯,没练习
夯下数据结构和算法基础,JS 里没有栈、队列、链表巴拉巴拉明显的结构,只能用类去伪造,不然做算法题真的费劲。 这次用对象构建造链表相关类:单向链表、有序链表、循环链表、双向链表。
用JS表示双端队列类,且练习用deque实现回文检测
夯下数据结构和算法基础,JS 里没有栈、队列、链表巴拉巴拉明显的结构,只能用类去伪造,不然做算法题真的费劲。 这次造双端队列类吧,这边底层使用数组,当然有空的话,你也可以试试对象。
用JS表示队列类,且练习用queue实现击鼓传花
夯下数据结构和算法基础,JS 里没有栈、队列、链表巴拉巴拉明显的结构,只能用类去伪造,不然做算法题真的费劲。 这次造普通队列类吧,这边底层使用数组,当然有空的话,你也可以试试对象。
用JS表示Stack类,且练习用栈实现任意进制转换
夯下数据结构和算法基础,JS 里没有栈、队列、链表巴拉巴拉明显的结构,只能用类去伪造,不然做算法题真的费劲。 先造最简单的栈类吧,这边底层使用数组