算法系列——JavaScript中广度优先搜索思想实现

2017-11-13
阅读 3 分钟
5.8k
什么是广度优先搜索? 如果只是是背概念,幼儿园的小朋友都能背下来念给你听。 假设看这篇文章的都和我一样是个前端工程师,我们要从广度优先搜索(BFS)中学到什么?如果你看完这篇文章能够回答这个问题,那么你已经看懂了。 广度优先搜索不是排序算法,它和快速排序、选择排序、冒泡排序等不一样,你听过二分查找吗?...

算法系列——JavaScript快速排序思想实现

2017-11-10
阅读 2 分钟
5.3k
原理 快速排序离不开递归的思想,你如果不了解递归,可以结合我另外一篇文章来学习 算法入门之递归分而治之思想的实现 网上有有趣的动态图来表示快速排序,但其实我们大部分程序员都是脑子不太好使那种,即使看了形象生动的动态图,还是想不到具体实现思路。 排序都有基本的步骤,快排也不例外,通常分为这么几步: 1、...

算法系列——算法入门之递归分而治之思想的实现

2017-11-10
阅读 3 分钟
3.1k
解决同一个问题的方法有很多,比如循环输出某个数组,可以有for、for in、for of、map、forEach等,不同的实现方法会反映不同的性能,这些性能通常用执行时间来表示,执行时间越短,性能越好,目前我可以告诉你的是,上面的几个循环中,原生for循环的性能是最好的。