
算法
我就是陈星烨
前端开发
展开
-
控制promise并行执行的个数
控制promise并行执行的数量原创 2022-10-04 12:24:01 · 390 阅读 · 1 评论 -
js排序算法
1.选择排序var sort_choose = function (arr) { for(var i = 0;i<arr.length-1; i++){ var pos = i; for(var j = i+1;j<arr.length; j++){ if(arr[pos] > arr[j]){原创 2017-06-30 19:45:54 · 254 阅读 · 0 评论 -
3路排序算法
原理 索引0~zero都是0,two~n-1都是2,中间为1,即从0开始,当前索引i指向的数arr[i] 若arr[i]===1,即中间的1多了一个,将i++即可 若arr[i]===2,则将当前的arr[i]放到two-1的位置,即two又扩展了1位 若arr[i]===0,则将当前的arr[i]放到zero+1的位置,即zero又扩展了1位 当前索引i===two原创 2017-07-11 08:48:26 · 444 阅读 · 0 评论 -
二叉搜索树
定义左孩子节点小于父节点,有孩子节点大于父节点。实现function Node(ele) { this.data = ele; this.left = null; this.right = null; this.parentNode = null; this.show = show;}function BST() { this.root = nul原创 2017-07-24 22:40:31 · 247 阅读 · 1 评论 -
JavaScript堆排序
构建堆本文都是最大堆。利用数组存储堆中的元素,且堆中第一个元素序号为1,子元素小于父元素 如上图:对于第i个节点,他的子节点为2i,2i+1,父节点为i/2,以数组存储堆。1.直接插入每当在数组末尾即最后一个叶子节点后面插入新元素,都可能破坏最大堆的性质,因此要调整堆,即比较新插入的元素和其父元素的大小,若大于父元素就和父元素交换位置,循环这个过程。function Heap() {原创 2017-07-24 17:10:25 · 590 阅读 · 1 评论