- 博客(12)
- 资源 (10)
- 收藏
- 关注
原创 算法总结JS版(五)—— 快速排序(Quick Sort)
(1)算法简介快速排序的基本思想:先定数组中间的数为基数,通过一趟排序将待排记录分隔成独立的两部分(左和右两个数组),顾名思义,左数组的所有数小于基数小于右数组的所有数,然后递归分别对这两个数组继续进行排序,以达到整个序列有序。(2)算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下: 1.从数列中挑出一个元素,称为 “基准”(pivot); 2.
2017-10-31 23:14:35 422
原创 算法总结JS版(四)—— 希尔排序(Shell Sort)
(1)算法简介希尔排序的核心在于间隔序列的设定。1959年Shell发明; 第一个突破O(n^2)的排序算法;是简单插入排序的改进版;它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 !划重点:在这里重点解释下为什么Shell Sort时间复杂度为O(n*logn),比插入排序高级:该方法的基本思想是:先将整个待排元素序列分割为若干个子序列(由相隔某个‘增量’的元
2017-10-29 22:22:06 644
原创 JS实现找出字符串中出现最多的字符和次数
var str = "zhaochucichuzuiduodezifu"; var o = {}; //遍历str,统计每个字符出现的次数 for (var i = 0, length = str.length; i < length; i++) { //当前第i个字符 var char = str.charAt(i); //c
2017-10-29 09:40:15 9867 2
原创 算法总结JS版(三)—— 插入排序(Insertion Sort)
(1)算法简介插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。(2)算法描述和实现一般来说,插入排序都采
2017-10-22 22:13:54 372
原创 算法总结JS版(二)—— 选择排序(Selection Sort)
(1)算法简介选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。(2)算法描述和实现n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:1.初始状态:无序区为R[1
2017-10-22 22:09:16 292
原创 算法总结JS版(一)—— 冒泡排序(Bubble Sort)
(1)算法描述 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 (2)算法描述和实现 1.比较相邻的元素。如果第一个比第
2017-10-22 21:45:08 572
原创 JS实现查找字符串中第一个不重复的字符
var str = 'asdasdfaffjasaso';var strs = [];var len = str.length;var num = 0;for (var i = 0; i < len; i++) { strs.push(str.slice(i, i + 1));}for (var j = 0; j < len; j++) { for (var k = 0;
2017-10-16 22:00:13 4217 1
原创 JS实现数组去重
var arr = [3, 5, 6, 5, 2, 3];function arrquchong(arrobj){ var len = arrobj.length; for(var i = 0; i < len; i++){ for(var j = 0; j < len; j++){ if(i != j){ i
2017-10-16 21:58:39 541 1
原创 JS实现判断是否为回文串
$('#btn').on('click', function() { var strs = $('#input').val(); var result = $('#result'); var len = strs.length; var num = 0; var len2 = parseInt(len / 2); for (var j = 0; j <
2017-10-16 21:55:15 1716 1
原创 JS实现九九乘法表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>无限99乘法表</title> </head> <body> <button onclick="add()">开始</button>...
2017-10-16 21:37:01 901
HAND技术顾问培训-SQL练习题_v1.0及答案
2018-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人