首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法150
欧浪浪
创建于2021-10-30
订阅专栏
Flag: 150+ 算法
等 4 人订阅
共90篇文章
创建于2021-10-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JS 实现链表反转
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 链表的反转实际上是将链表的指针反转 原链表: 反转后: 分析 遍历链表,既然需要反转,那么就需要记录前一个节点的指针
JS链表相交问题
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 链表的长度不一定相等,也就是说两个链表的交点不一定是在他们所在链
JS链表旋转
给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 每旋转一次,实际上就是将链表的最后一个节点指向链表的 head,并且将链表的倒数第二个节点指向 null 分析 值得注
JS翻转二叉树
翻转二叉树 翻转一棵二叉树。 示例: 输入: 输出: 分析 翻转二叉树即将二叉树左右互换,从上到下依次。 图解: 本例较为简单可分为三组,其都需要做反转交换的操作,且逻辑一样,另外这三组数据又有关联性
JS 计数排序解析
将给定数组使用计数排序,从小到大排序,输出排序后的数组 计数排序: 计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何
经典排序算法(四)希尔排序
原理:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。 图解: 代码实现: 结果
经典排序算法(二)插入排序
原理:插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表
经典排序算法(五)快速排序
原理: 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到
经典排序算法(三)冒泡排序
原理:重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
经典排序算法(一)选择排序
原理:第一次从待排序的中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾