基本概念和术语
算法和算法分析
重要程度:9 分
<div>
<h2>算法</h2>
<p><strong>定义:</strong>算法是一组有穷的规则,它们规定了解决某一特定类型问题的一个运算或运算序列。</p>
<ul>
<li>输入:一个算法必须至少有一个输入。</li>
<li>输出:一个算法必须至少有一个输出。</li>
<li>确定性:算法中的每一步都必须是有明确定义的。</li>
<li>有限性:算法必须在执行有限步骤后结束。</li>
<li>可行性:算法中的每一步都必须是可行的,即能够在有限时间内完成。</li>
</ul>
<h3>例题:</h3>
<p>编写一个算法来计算两个数的和。</p>
<pre>
<code>
算法 Sum(a, b)
输入: 两个数 a 和 b
输出: a 和 b 的和
1. 初始化 sum = a + b
2. 返回 sum
</code>
</pre>
</div>
<div>
<h2>算法分析</h2>
<p><strong>时间复杂度:</strong>用来衡量算法运行时间与问题规模之间的关系。</p>
<p><strong>空间复杂度:</strong>用来衡量算法运行时所需要的存储空间与问题规模之间的关系。</p>
<h3>时间复杂度举例:</h3>
<p>分析以下算法的时间复杂度。</p>
<pre>
<code>
算法 Example(n)
输入: 一个整数 n
输出: 无
1. for i from 1 to n do
2. print i
</code>
</pre>
<p><strong>分析:</strong>该算法执行了n次循环,每次循环中执行的操作是常数时间,因此该算法的时间复杂度为O(n)。</p>
</div>