数据结构与算法
数据结构与算法 1. 概述 什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际上是对问题、解决问题以及解决问题的过程中产生产生的解决方案的研究。例如给定一个问题,计算机科学家的目标是开发一个算法来处理该问题,最终得到该问题的解、或者最优解。所以说计算机科学也可以被认为是对算法的研究。因此我们也可以感受到,所谓的算法就是对问题进行处理且求解的一种实现思路或者思想。 什么是算法? 问题,解决问题,解决问题过程中产生的解决方案,算法就是对问题进行处理且求解的一种实现思路或者思想 评判程序优劣的方法? 时间复杂度: 评判规则: 量化算法执行的操作/执行步骤的数量 最重要的项: 时间复杂度表达式中最有意义的项 例如: def sumOfN(n): theSum = 0 # 1 for i in range(1, n + 1): theSum = theSum + i # n return theSum print(sumOfN(10)) # 此算法的时间复杂度位O(n) 分析算法时间复杂度的步骤: 用常数1取代运行时间中的所有加法常数。 在修改后的运行次数函数中,只保留最高阶项。 如果最高阶项存在且不是1,则去除与这个项相乘的常数。 得到的最后结果就是大O阶。