![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小绿龙
node.js/php/go
展开
-
插入排序
简介Insertion Sort 和打扑克牌时,从牌桌上逐一拿起扑克牌,在手上排序的过程相同。举例:Input: {5 2 4 6 1 3}。首先拿起第一张牌, 手上有 {5}。拿起第二张牌 2, 把 2 insert 到手上的牌 {5}, 得到 {2 5}。拿起第三张牌 4, 把 4 insert 到手上的牌 {2 5}, 得到 {2 4 5}。以此类推。算法从第一个元素开始...原创 2020-04-07 16:33:44 · 209 阅读 · 0 评论 -
直接选择排序
var foo=[1,3,6,4,5]; function sort(arr) { var maxIndex=arr.length-1; var minVal; for(let bar=0;bar<=maxIndex;) { var k; ...原创 2018-05-23 11:51:08 · 197 阅读 · 0 评论 -
两数相加
问题给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头示例// 例如输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807分析将当前...原创 2018-09-05 10:30:22 · 193 阅读 · 0 评论 -
二分法查找
// typescript版本的/** * 二分法查找 * @param {Array<number>} -nums 查找的数组 如[1,2,3,4] * @param {number} key -需要查找的值 如3 * @return {number} -返回下标或者-1(未找到) */function binarySearch(nums: Array&l...原创 2019-08-13 19:07:34 · 144 阅读 · 0 评论 -
冒泡排序详解
简介一组数字,按从小到大排序,从左到右不断交换相邻的元素(如果右边小于左边的话),一次循环过后,最大的值在最右边了。演示如下图示例// typescript 示例/** * 冒泡排序 * @param {number[]} nums -需要排序的数组 * @return {number[]} -返回排序后的数组 */function bubble(nums: number[]...原创 2019-08-14 15:13:04 · 318 阅读 · 0 评论 -
插入排序
说明每次都将当前元素插入到左侧已经排序的数组中,使得插入之后左侧数组依然有序。当数组[3,4,1]排序时,先将[3]归为已排序的数组,[4,1]为未排序数组,遍历未排序数组,先取4和3比较,正序排序就不变,反序就交换两个值。…遍历完成,已排序数组越来越大,未排序数组越来越少。直到排序完成。时间复杂度插入排序的时间复杂度取决于数组的初始顺序,如果数组已经部分有序了,那么逆序较少,需要的交换次数...原创 2019-08-22 19:07:21 · 65 阅读 · 0 评论