计算机思维和算法
计算机思维是在学习和应用计算机学科理论和技能的过程中,所体验和获得的思想方法和做事方法。它分为三个层次:
计算机思维的三个层次
宏观层面
对“可计算”这个思想的理解,也就是如何使用计算机这个工具,将虚拟世界处理问题的方法变成解决现实生活中的各种实际问题的方法
。换句话说,计算机思维需要你对现实生活中的问题找到计算机的解决策略
。
中观层面
在有限的资源下,做到全局最优。
微观层面
- 设计出计算机内部整理和查找信息的技能
- 缓存
算法
科学家们在翻译现实世界的需求和计算机虚拟过程时,提炼出了一些高效的、不断被验证过的标准流程,这些流程就是我们今天所说的计算机算法。
衡量算法的标准
最早将算法复杂度严格量化衡量的是著名计算机科学家、算法分析之父高德纳。今天,全世界计算机领域都以高德纳的思想为准。
高德纳的思想主要包括三个部分:
- 在比较算法的快慢时、需要考虑数据量特别特别大,大到近乎无穷大时的情况。
- 决定算法快慢的因素可能很多,但是所有的因素都可以被分为两类。第一类是不随数据量变化的因素,第二类是随着数量变化的。而我们应该关心那个变化的因素,因为通常这些因素在变化的过程中会造成量级的差异。
- 如果两种算法在量级上相当,在计算机科学里,就认为它们是一样好的。