什么是算法?
高德纳在《计算机程序设计艺术》里对算法的归纳:
- 输入:一个算法必须有零个或以上的输入量
- 输出:一个算法应有一个或以上输出量
- 明确性:算法的描述必须无歧义,实际运行结果是确定的
- 有限性:必须在有限个步骤内结束
- 有效性:又称可行性。能够被执行者实现
举个例子,现在有这么一个需求,在一个只有正整数的数组里,通过从大到小的方式来把它做一个排序,代码如下:
var arr = [1,5,88,9,4,7]
function sort(){
//你的代码
}
console.log(sort(arr))
visualgo里面有一些思路实现的模拟,有兴趣的可以点击去看一下
书籍推荐:《数据结构与算法分析》