![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 54
心本逍遥灬
故事无结尾
展开
-
如何判断链表是否有环
给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般可能涉及到以下几个问题: 1、给一个单链表,判断其中是否有环的存在; 2、如果存在环,找出环的入口点; 3、计算环的长度;下面,我将针对上面这几个问题一一给出解释。1、判断时候有环(链表头指针为head) 对于这个问题我们可以采用 “快慢指针” 的方法。就是有两个指针 fast 和 slow,开始原创 2021-09-30 15:28:19 · 9855 阅读 · 2 评论 -
求全排列和组合(JS)
/** * 全排列 */function allSort(arr, start, end) { if (start > end) { // 做一些想要的操作 console.log(arr); } else { for (let i = start; i <= end; i++) { swap(arr, i, start); allSort(arr, start + 1, end); swap(arr, i, sta.原创 2021-09-30 14:35:13 · 68 阅读 · 0 评论 -
各种sort算法的区别比较
1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大原创 2016-05-16 11:57:26 · 537 阅读 · 0 评论 -
JS版本 冒泡排序,快速排序
/** * 冒泡排序 */function bubbleSort(arr) { var didswap; for (var i = 0; i < arr.length - 1; i++) { didswap = false; for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j]...原创 2019-06-10 15:41:51 · 112 阅读 · 0 评论