快速排序之javascript实现
算法原理
快速排序是目前各种排序算法中较为高效的一种算法,它的基本思想是分治法:
分治法(Divide and Conquer Algorithm):把原问题分为若干个与原问题结构类似的子问题,然后对子问题进行递归求解,最后把这些子问题的解集全部合并起来就是原问题的解。
算法具体实现有三个步骤:
1. 从数组中选出一个元素,我们称之为 “基准”(pivot);
2. 先进行一次循环比较,把所有比基准小的数放左边,把所有比基准大的数放右边(相等的值随便哪边放都行),这个操作称为分区 (partition) 操作。当分区完成后,我们就得到了两个子分区, 其中一个分区的所有元素的值都比另外一个分区大。
3. 分别对步骤二分出来的两个子集进行递归排序,直到最后子集只剩一个元素为止。

图片来自维基百科
继续阅读→
阅读全文
排序算法的可视化展现
前言
排序算法(Sorting algorithm)是一种能将一串数据依照特定排序方式的最基本最常用的算法,常见的有冒泡排序、快速排序、插入排序、二叉树排序等等,下面这个表格总结了各种排序算法的复杂度与稳定性:

不同的场景对排序算法的选择有着不同的要求,对每种排序算法的深入理解能帮助我们更好地选择合适的算法。关于排序算法的理论书籍或博客已经非常的多,下面列举一些可视化的排序展示,换种方式看算法,以一种更直观的方式理解排序算法的工作原理。
继续阅读→
阅读全文
Nodejs轻松搭建局域网服务器
一、前言
前端开发经常会遇到移动端调试或者其它设备测试的场景,部署到云服务器上实在是太麻烦,如果可以在局域网直接调试就方便多了,Nodejs较为接近前端,选它来搭建局域网服务器便于上手。

继续阅读→
阅读全文
javascript + wget 实现批量下载慕课网视频
慕课网(IMOOC)是学习互联网IT技能的免费平台,它提供了丰富优质的课程资源。本文只做学习参考使用,慕课网是个好东西,请勿用于不当用途!
一、前言
没网或者在网络不理想的情况下想要看慕课网的视频教程往往比较麻烦,而慕课网又没有提供教程视频的下载功能,用Chrome插件等等方法也只能一个一个视频地下载,并且下载下来的视频往往没有标题,这时就需要用到批量下载这个方法了。
继续阅读→
阅读全文
这几行 javascript 代码能让你的浏览器崩溃?
上Demo,想先看效果的可以先戳一下链接:Crash
当然自己不想点也可以把链接发给小伙伴 — http://lab.zeakhold.com/crash/ 
(温馨提示:访问前请保存电脑/手机正在编辑的任务,整人被打概不负责嘿嘿~)
事情还是得从一篇推文说起——2月17日, 发了几行JavaScript代码,说是能让你的浏览器崩溃以及iPhone重启:

什么东西这么神奇??!
继续阅读→
阅读全文