
算法
小绿龙
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 · 256 阅读 · 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 · 244 阅读 · 0 评论 -
两数相加
问题 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头 示例 // 例如 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 分析 将当前...原创 2018-09-05 10:30:22 · 233 阅读 · 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 · 187 阅读 · 0 评论 -
冒泡排序详解
简介 一组数字,按从小到大排序,从左到右不断交换相邻的元素(如果右边小于左边的话),一次循环过后,最大的值在最右边了。演示如下图 示例 // typescript 示例 /** * 冒泡排序 * @param {number[]} nums -需要排序的数组 * @return {number[]} -返回排序后的数组 */ function bubble(nums: number[]...原创 2019-08-14 15:13:04 · 362 阅读 · 0 评论 -
插入排序
说明 每次都将当前元素插入到左侧已经排序的数组中,使得插入之后左侧数组依然有序。当数组[3,4,1]排序时,先将[3]归为已排序的数组,[4,1]为未排序数组,遍历未排序数组,先取4和3比较,正序排序就不变,反序就交换两个值。…遍历完成,已排序数组越来越大,未排序数组越来越少。直到排序完成。 时间复杂度 插入排序的时间复杂度取决于数组的初始顺序,如果数组已经部分有序了,那么逆序较少,需要的交换次数...原创 2019-08-22 19:07:21 · 105 阅读 · 0 评论