什么是算法?
算法是一种具有明确定义的规则,能针对问题进行正确输出并停止。
伪代码?
描述算法的方式有很多种,伪代码便是其中一种。所谓伪代码,就是将自然语言(中文、英文等)和编程语言语法相结合的一种算法描述语言。
伪代码遵守以下规则:
1)变量用英文表示,省略声明与类型2)结构语句使用多种编程语言通用的if 、while、for语句
3)程序块用缩进表示,不用{}
4)使用c/c++语言的运算符
5)数组A的长度,A.length
6)数组A的第i项元素,用A[i]表示
7)数组下标视情况使用0起点和1起点
什么是算法复杂度?
用来评估算法效率的指标。
可以分为时间复杂度和空间复杂度,前者看计算机对处理器的使用程度,后者看计算机对内存的使用程度。
我们在设计算法时,一般先考虑系统环境,然后权衡时间复杂度和空间复杂度,选取一个平衡点,一般时间复杂度比空间复杂度易出问题,因此,复杂度一般考虑时间复杂度。
大O表示法?
一种评估算法效率的标尺,以O(n)、O(n2),n为问题的输入数据的大小,O(g(n))表示该算法复杂度与g(n)成正比,也称“该算法是g(n)级的”。算法复杂度从最理性情况、平均情况和最坏情况三种角度进行估算,一般情况下考虑最坏的情况。