(。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课!
前两集,我们"初尝"了高级编程语言(比如Python和Java),我们讨论了几种语句赋值语句,if语句,循环语句。以及把代码打包成"函数",比如算指数。重要的是,之前写的指数函数只是无数解决方案的一种,还有其它方案,用不同顺序写不同语句也能得到一样结果。不同的是"算法",意思是:解决问题的具体步骤,即使结果一致,有些算法会更好。一般来说,所需步骤越少越好,不过有时我们也会关心其他因素,比如占多少内存,"算法"一词来自波斯博识者阿尔·花拉子密。1000多年前的代数之父之一
如何想出高效算法是早在计算机出现前就有的问题,诞生了专门研究计算的领域,然后发展成一门现代学科,你猜对了!计算机科学!记载最多的算法之一是"排序",比如给名字、数字排序。排序到处都是,找最便宜的机票,按最新时间排邮件,按姓氏排联系人,这些都要排序。
你可能想"排序看起来不怎么难…能有几种算法呢?",答案是超多。计算机科学家花了数十年发明各种排序算法,还起了酷酷的名字,"冒泡排序","意面排序",我们来试试排序!