算法学习笔记-基础开篇
算法定义
编写一段计算机程序一般都是事先一种已有的方法来解决某个问题。
这种方法大多和使用的编程语言无关---它适用于各种计算机以及编程语言。
是这种方法而非计算机程序本身描述了解决问题的步骤。
在计算机科学领域,我们用算法这个词来描述一种有限、确定、有效的并适用计算机程序来实现解决问题的方法。
算法是计算机科学的基础,是这个领域研究的核心。
基础问题
- 三种基础的抽象数据类型:背包、队列、栈
- 用数组、变长数组、链表实现背包、队列、栈的api。
- 数据抽象并定义抽象数据类型(ADT)
欧几里得算法
- 欧几里得算法的目的是找出两个数的最大公约数
- 自然语言描述:计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。
// 欧几里得算法:获取两个数的最大公约数
uint gcd(uint p, uint q)
{
if (q == 0)
{
return p;
}
uint r = p % q;
return gcd(q, r);
}
本文标题:算法学习笔记-基础开篇
本文链接:https://www.haomeiwen.com/subject/eqymahtx.html
网友评论