计算机算法基础
参考书目
算法导论(第二版影印版)Introduction to Algorithms(Second Edition )
(美)Thomas
高等教育出版社
计算机程序设计艺术(英文影印版)(1-3卷精装全套)The Art puter Programming Volumes 1-3 Boxed Set
(美)Donald
清华大学出版社
序
计算机算法是计算机科学和计算机应用的核心
数据结构+算法= 程序
算法:计算机软件的灵魂
章节安排
第一章导引与基本数据结构√
第二章分治法√
第三章贪心方法√
第四章动态规划√
第五章检索与周游√
第六章回溯法√
第七章分枝-限界√
第八章 NP-问题⊙
第九章并行算法⊙
第一章导引与基本数据结构
算法的定义及特性
1. 什么是算法?
算法如数字、计算一样,是一个基本概念。
算法是解一确定类问题的任意一种特殊的方法。
在计算机科学中,算法是使用计算机解一类问题的精确、有效方法的代名词:
算法是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。
2. 算法的五个重要特性
确定性、能行性、输入、输出、有穷性
1)确定性:算法的每种运算必须要有确切的定义,不能有二义性。
例:不符合确定性的运算
5/0
将6或7与x相加
未赋值变量参与运算
5)有穷性
一个算法总是在执行了有穷步的运算之后终止。
计算过程:只满足确定性、能行性、输入、输出四个特性但不一定能终止的一组规则。
准确理解算法和计算过程的区别:
不能终止的计算过程:操作系统
算法是“可以终止的计算过程”
算法的时效性:只能把在相当有穷步内终止的算法投
入到计算机上运行
算法和程序
程序:一个计算机程序是对一个算法使用某种程序设计语言的具体实现
任何一种程序设计语言都可以实现任何一个算法
算法的有穷性意味着不是所有的计算机程序都是算法
计算机算法基础第一章 来自淘豆网www.taodocs.com转载请标明出处.