
算法
Lily_sayhi
这个作者很懒,什么都没留下…
展开
-
基本算法的Js实现【二】快速排序
快速排序:解析:1.采用分而治之的思想,选取一个基准,一趟排序后把数据分成两部分,一部分都比基准小,另一部分都比基准点大,然后再对这两部分分别进行上述的操作,直到整个序列有序。快速排序因为数据的交换是跳跃的,所以速度比只和相邻数据交换的冒泡排序要快,平均时间复杂度为O(NlogN)。2.代码注意的点:为什么要哨兵j先出动?举个例子,假设让哨兵i先动,到如上图这一步。哨兵继续...原创 2020-03-22 00:29:50 · 165 阅读 · 0 评论 -
LeetCode中算法js实现twoSum【一】
【一】twoSum要求:Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].复杂度o(n),运用hashMap。<!DOCTYPE html><html> <head> <meta charset="UTF-8"&g...原创 2018-03-22 16:11:05 · 541 阅读 · 0 评论 -
基本算法的js实现【一】冒泡
【一】冒泡解析:1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。 2.第一轮的时候最后一个元素是最大的一个。 3.按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。 4.代码注意点:外层循环长度为len-1;内层循环len-i-1;<!DOCTYPE html><html> <...原创 2018-03-30 17:20:30 · 285 阅读 · 0 评论