
算法
文章平均质量分 54
心本逍遥灬
故事无结尾
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何判断链表是否有环
给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。 首先,关于单链表中的环,一般可能涉及到以下几个问题: 1、给一个单链表,判断其中是否有环的存在; 2、如果存在环,找出环的入口点; 3、计算环的长度; 下面,我将针对上面这几个问题一一给出解释。 1、判断时候有环(链表头指针为head) 对于这个问题我们可以采用 “快慢指针” 的方法。就是有两个指针 fast 和 slow,开始原创 2021-09-30 15:28:19 · 10091 阅读 · 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 · 108 阅读 · 0 评论 -
各种sort算法的区别比较
1 快速排序(QuickSort) 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。 (1) 如果不多于1个数据,直接返回。 (2) 一般选择序列最左边的值作为支点数据。 (3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。 (4) 对两边利用递归排序数列。 快速排序比大原创 2016-05-16 11:57:26 · 652 阅读 · 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 · 152 阅读 · 0 评论