首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
是悟空呀
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
堆排序
1. 堆排序的基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆,注意:没有要求结点的左孩子…
JavaScript 数据结构与算法之美 - 归并排序、快速排序、希尔排序、堆排序
1. 前言 想学好前端,先练好内功,只有内功深厚者,前端之路才会走得更远。 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 JavaScript ,旨在入门数据结构与算法和方便以后复习。 之所以把归并排序、快速排序、希尔排序、堆排序放在一起比较,是因为它们的…
一文吃透时间复杂度和空间复杂度
第一段代码,不管n是多少,都只执行一次,所以它的时间复杂度就是O(1)。第二个其实也同理,我们不关心系数是多少。虽然第二段代码会执行3次echo输出,但是不管n是多少,它都只执行3次,因此它的时间复杂度也是「常数复杂度」,也就是O(1) 这两段代码都是随着n的不同,它执行的次数…
「算法与数据结构」DFS和BFS算法之美
最近面网易某部门的时候,其中一道算法题考点就是DFS,深度优先遍历,所以这次准备梳理一遍,练练手,下次再找的话,也比较方便。 一定要会多种解法,面试的时候,我就是写了递归,面试小哥哥问我能不能用迭代去完成,所以多种解法都要会。 简单的说,BFS是从根节点开始,沿着树的宽度遍历树…
前端进阶算法7:小白都可以看懂的树与二叉树
不同于我们上面介绍的线性结构,树是一种非线性结构。 二叉树中,每一个节点的左右子树的高度相差不能大于 1,称为平衡二叉树。 1. 链式存储法 一棵二叉树可以由根节点通过左右指针连接起来形成一个树。 2. 数组存储法(适用于完全二叉树) 如果我们把根节点存放在位置 i=1 的位置…
整理了一系列的JavaScript树操作方法,不用再一遍又一遍的百度了
树结构的数据操作对于一个开发者来说是一个必备的技能。在实际的业务开发中,我们也会遇到许多树结构的。文章整理了一系列的关于JavaScript树的操作,拿来即用~
JS中的算法与数据结构——链表(Linked-list)
主要是针对前端同学,将一些常见的算法和数据结构用 JavaScript 去实现,起到一个抛砖引玉的作用
JavaScript实现链表
链表简介 链表是什么?链表是一种动态的数据结构,这意味着我们可以任意增删元素,它会按需扩容。为何要使用链表?下面列举一些链表的用途: 因为数组的存储有缺陷:增删元素时往往需要移动元素。而链表在内存中的
JS 实现栈结构
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表,是一种先进后出(FILO)的数据结构,限定只能在一端进行插入和删除操作,允许操作的一端称为栈顶...
栈、堆、队列深入理解,面试无忧
Event Loop的执行栈、任务队列。 变量存储的堆、栈问题。 栈、队列数据结构的实现问题。 还有一些列相关的手写问题。 在面试中,经常问遇到与之相关的一些列问题哈。 栈 是一种遵循 后进先出(LIFO) 原则的有序集合。新添加和待删除的数据都保存在栈的同一端栈顶,另一端就是…