- 8
- 0
- 约1.83万字
- 约 19页
- 2020-11-07 发布于天津
- 举报
第1章算法的基本概念
计算机系统中的任何软件,都是由大大小小的各种程序模块组成,它们按照特定的算 法来实现,算法的好坏直接决定了所实现软件性能的优劣。用什么方法来设计算法,所设 计算法需要什么样的资源,需要多少运行时间、多少存储空间,如何判定一个算法的好 坏……在实现一个软件时,这些都是必须予以解决的。计算机系统中的操作系统、语言编 译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须用一个个的具 体算法来实现。因此,算法设计与分析是计算机科学与技术的一个核心问题。
1.1引
“算法”这一术语是从 Algorithm翻译而来的,但直到 1957年,西方著名的〈〈韦伯斯
特新世界词典》也未将其收录其中。据西方数学史家的考证,古代阿拉伯的一位学者写了 一部名著 〈〈Kit由al-jabr Wa lmuq dbJla? (〈〈复原和化简的规则》),作者的署名是
Ab u Abd All dh Muhammad ibn M usa al-Khw drizm t 从字面上看,其含义是穆罕默德 (Muhammad)的父亲,摩西(Moses)的儿子,Khw Ezm 地方的人。后来,这部著作 流传到了西方,结果从作品名称中的 al-jabr派生出Algebra (代数)一词;从作者署名中的
al-Khw drizm i派生出Algorithm 一词。随着时间的推移, Algorithm 这个词的含义已变得面
目全非了,成了本书要讨论的内容一一算法。
1.1.1算法的定义和特征
欧几里得曾在他的著作中描述过求两个数的最大公因子的过程。 20世纪50年代,欧
几里得所描述的这个过程被称为 Euclides Algorithm for gcd ,国内将其翻译为求最大公因
子的欧几里得算法”, Algorithm (算法)这一术语在学术上具有了现在的含义。下面通过
一个例子来认识一下该算法。
算法1.1 欧几里得算法
输入:正整数m,n
输出:m,n的最大公因子
int euclid(int m,int n)
{
int r;
do {
5.
r = m % n;
6.
m = n;
7.
n = r;
8.
} while(r)
9.
return m;
10. }
在此用一种类C语言来叙述最大公因子的求解过程。今后在描述其他算法时,还可能 结合一些自然语言的描述, 以代替某些繁琐的具体细节, 从而更好地说明算法的整体框架。
同时,为了简明、直观地访问二维数组元素,假定在函数调用时,二维数组可以直接作为 参数传递,在函数中可以动态地分配数组。 读者可以很容易地用其他方法来消除这些假定。
在算法的第5行,把m除以n的余数赋予r ;第6行把n的值赋予m ;第7行把r的值 赋予n ;第8行判断r是否为0,若非0,继续转到第5行进行处理,若为 0,就转到第9 行处理;第9行返回m,算法结束。按照上面这组规则,给定任意两个正整数,总能返回 它们的最大公因子。读者可以自行证明该算法的正确性。
根据上面这个例子,可以定义算法如下。
定义1.1 算法是解某一特定问题的一组有穷规则的集合。
算法设计的先驱者唐纳德.E.克努特(Donald E.Knuth )对算法的特征作了如下的描述:
有限性。算法在执行有限步之后必须终止。 算法1.1中,对输入的任意正整数 m、 n ,在m除以n的余数赋予r之后,再通过r赋予n ,从而使n值变小。如此往复进行,最 终或者使r为0,或者使n递减为1。这两种情况都最终使 r =0 ,而使算法终止。
确定性。算法的每一个步骤都有精确的定义,要执行的每一个动作都是清晰的、
无歧义的。例如,在算法 1.1的第5行中,如果m、n是无理数,那么 m除以n的余数是什 么,就没有一个明确的界定。确定性的准则意味着必须确保在执行第 5行时,m和n的值
都是正整数。算法 1.1中规定了 m、n都是正整数,从而保证了后续各个步骤中都能确定 地执行。
输入。一个算法有0个或多个输入,它是由外部提供的,作为算法开始执行前的
初始值或初始状态。算法的输入是从特定的对象集合中抽取的。算法 1.1中有两个输入m、
n,就是从正整数集合中抽取的。
输出。一个算法有一个或多个输出,这些输出与输入有着特定的关系,实际上是
输入的某种函数。不同取值的输入,产生不同结果的输出。算法1.1中的输出是输入m、n 的最大公约数。
能行性。算法的可行性指的是算法中有待实现的运算都是基本的运算, 原则上可 以由人们用纸和笔,在有限的时间里精确地完成。算法 1.1用一个正整数来除另一个正整 数、判断一个整数是否为 0以及整数赋值等,这些运算都是能行的。因为整数可以用有限 的方式表示,而且至少存在一种方法来完成一个整数除以另一个整数的运算。如果所涉及
的数值必须由展开成
您可能关注的文档
- 第十一章冬雨季施工措施.docx
- 第十一章-PP11_板材裁剪流程.docx
- 第十一章:压杆稳定.docx
- 第十九章财务报告.docx
- 第十一章地下水资源的开发、保护与管理.docx
- 第十一章常用药物结构特征与作.docx
- 第十二章价值工程.docx
- 第十五章-产业分析方法与应用.docx
- 第十五届“西交会”国际物流展.docx
- 第十五章AutoCAD绘制装配图.docx
- 2026湖南邵阳县不动产登记中心和邵阳县土地房屋征收服务中心公开选调工作人员备考题库有完整答案详解.docx
- 2026湖南邵阳县不动产登记中心和邵阳县土地房屋征收服务中心公开选调工作人员备考题库有答案详解.docx
- 公司继电器封装工设备操作规程.docx
- 2025年福建省漳州市初中九年级数学中考模拟综合测试(五)(含答案).pdf
- 2026湖南邵阳县不动产登记中心和邵阳县土地房屋征收服务中心公开选调工作人员备考题库精选答案详解.docx
- 公司野生动物监测工岗位设备安全规程.docx
- 公司卷烟封装设备操作工应急处置安全规程.docx
- 山东省德州市2025-2026学年上学期高三期末生物试卷(含答案).pdf
- 公司飞机桨叶桨根型修工岗位现场作业操作规程.docx
- 2026湖南邵阳市新邵县投资促进事务中心选调1人备考题库及答案详解(考点梳理).docx
最近下载
- 四川省绵阳市2025-2026学年高一上学期1月期末练习语文试题(原卷版+解析版).docx VIP
- 初中英语2025届中考新课标话题作文素材(共24个).doc VIP
- 高速通信SDH培训.pptx VIP
- 招标代理服务实施方案.docx VIP
- 美国Electropure EDI产品与工程技术手册-V6.0.pdf VIP
- EDI电去离子手册.doc VIP
- 商务礼仪实务-全套PPT课件.pptx
- EDI连续电去离子技术原理介绍.ppt VIP
- 辽宁中成永续电去离子CEDI技术手册国产EDI膜堆技术手册.doc VIP
- 上海市浦东新区几校2025-2026学年七年级上学期1月期末考试道德与法治试卷.pdf VIP
原创力文档

文档评论(0)