算法设计与分析-----算法引论

本文探讨了算法设计的关键要素——数据、运算和控制,并介绍了抽象数据类型的概念,强调它是算法的数据模型及定义在其上的运算集合。同时,文章提到了算法复杂性分析,包括时间复杂性和空间复杂性,指出它们取决于问题规模、输入和算法本身。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法三要素:数据、运算和控制

     算法的数据:
	 基本数据(布尔值 字符 整数 实数)
	 较复杂数据(向量 矩阵 记录)
	 更复杂数据(集合 树 图 声音 图像)
     算法的运算:
	 基本运算(逻辑 赋值 算术 关系)
	 复杂运算(函数值计算 向量运算 集合运算 表、树、图上的运算)

设计算法的一般步骤为:
(1)先选用该问题的一个数据模型。
(2)接着,弄清数据模型在已知条件下的初始状态和要求的结果状态,以及两个状态之间的关系。
(3)然后探索从已知初始状态出发到达要求的结果状态所必需的运算步骤。

抽象数据类型(Abstract Data Types,简记ADT)

概念:是算法的一个数据模型连同定义在该模型上、作为该算法构件的一组运算。

   抽象数据类型带给算法设计的好处有: 
   (1)算法顶层设计与底层实现分离;
   (2)算法设计与数据结构设计隔开,允许数据结构自由选择;
   (3)数据模型和该模型上的运算统一在ADT中,便于空间和时间耗费的折衷;
   (4)用抽象数据类型表述的算法具有很好的可维护性;
   (5)算法自然呈现模块化;
   (6)为自顶向下逐步求精和模块化提
算法设计分析基础 课后答案 第二版 中英文 作者简介:莱维丁是Villanova大学计算科学系的教授。他的论文 A New Road Map of Algorithm Design Techniques:Picking Up Where the Traditional Classification Leaves Off(《算法设计技术新途径:弥补传统分类法的缺憾》)受到业内人士极高的评价。在SIGCSE会议上,作者做过多次关于算法教学的演讲。 译者简介:潘彦,计算机专业人士,国际电气电子工程师学会(IEEE)会员。 作者基于丰富的教学经验,开发了一套对算法进行分类的新方法。这套方法站在通用问题求解策略的高度,能对现有的大多数算法都能进行准确分类,从而使本书的读者能够沿着一条清晰的、一致的、连贯的思路来探索算法设计分析这一迷人领域。本书作为第2版,相对第1版增加了新的习题,还增加了“迭代改进”一章,使得原来的分类方法更加完善。 本书十分适合作为算法设计分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识。 This file contains the exercises, hints, and solutions for Chapter 1 of the book ”Introduction to the Design and Analysis of Algorithms,” 2nd edition, by A. Levitin. The problems that might be challenging for at least some students are marked by ; those that might be difficult for a majority of students are marked by  . Exercises 1.1…………
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值