算法设计与分析—以ACM大学生程序设计竞赛在线题库为例
课件处为本书PPT教案与源代码,咨询QQ:883604(仅限教师)。

作者:赵端阳 刘福庆 石洗凡

丛书名:21世纪高等学校系列教材·计算机科学与技术

定价:49元

印次:1-7

ISBN:9787302400073

出版日期:2015.07.01

印刷日期:2020.07.22

图书责编:闫红梅

图书分类:教材

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书介绍数据结构和标准模板库STL、递归与分治策略、动态规划、贪心算法、回溯算法、分支限界算法、图论、数论和组合数学问题。本书包括大量实例,并在北京大学、浙江大学和杭州电子科技大学在线题库中精选原题,详细地分析解题的方法,深入浅出地讲解用到的算法,挑选在线题库中的典型题目作为每章后面的习题,供读者练习,以巩固所学的算法。本书内容基本上涵盖了目前大学生程序设计竞赛所要掌握的算法。 本书结构清晰,内容丰富,适合于作为计算机科学与技术、软件工程以及相关学科算法课程的教材和参考书,也特别适合有志于参加ACM大学生程序设计竞赛的读者学习和训练。 本书配备有电子教案和源代码,请到清华大学出版社网站上下载: www.tup.com.cn。

如果希望加入教师微信交流群,请加微信:itbook8 如果希望加入教师QQ交流群,请加QQ:883604 加入时,请写明:“学校+姓名”,并写明“加入教师群”,只限教师。

“算法分析与设计”是一门理论性与实践性结合很强的课程。在信息技术高速发展的今天,计算机技术已经应用到了很多科学领域。从理论上来说,算法研究已经被公认为是计算机科学的基石。David Harel在他的《算法学: 计算精髓》一书中说道: “算法不仅是计算机科学的一个分支,它更是计算机科学的核心。可以毫不夸张地说,它和绝大多数的科学、商业和技术都是相关的。” 在ACM国际大学生程序设计竞赛中,在线裁判系统是开展竞赛的核心,它是一个在线的程序与算法设计的练习和竞赛平台。系统可以提供大量的关于程序和算法设计的题目供学生练习或竞赛,学生可以使用自己熟悉的语言提交相关题目的程序代码,系统编译提交代码,如果没有错误,则生成可执行文件。利用系统的测试用例来测试,如果输出结果正确,则返回程序消耗的内存空间和时间。对于竞赛题目,系统可以从程序正确性、运行总时间、消耗内存空间、返回结果等方面来考察学生提交的代码。系统可以实现在指定的时间段举行竞赛的功能,根据学生解题数目和时间进行排名,也可以批量导出学生代码,进行分析。 基于程序设计竞赛的教学模式具有以下优势。 (1) 提供一个开放的、自主学习的实验环境。在线评测系统通过网络使用,学生可以随时随地提交程序代码; 在丰富的算法设计题库中寻找适合自己的题目,训练程序设计能力。 (2) 有效地训练学生程序设计能力,培养创新型IT人才。本课程的学习难点在于如何将常见的算法策略应用到实际的应用环境中。通过在线评测系统的实践训练,让学生熟练掌握常见的算法设计策略,训练学生的创新思维,加深学生对各种算法设计策略的认识,理解算法的意义及精髓,达到学以致用。 ...

目录
荐语
查看详情 查看详情
第1章算法概述

1.1引言

1.1.1算法的描述

1.1.2算法的设计

1.2算法的复杂性

1.2.1时间复杂性

1.2.2空间复杂性

1.3大学生程序设计竞赛概述

1.4程序设计在线测试题库

第2章数据结构和标准模板库STL

2.1栈

2.2向量

2.3映射

2.4列表

2.5集合

2.6队列

2.7优先队列

2.8ZOJ1004Anagrams by Stack

2.9ZOJ1094Matrix Chain Multiplication

2.10ZOJ1011NTA

2.11ZOJ1062Trees Made to Order

2.12ZOJ1097Code the Tree

2.13ZOJ1156Unscrambling Images

2.14ZOJ1167Trees on the Level

2.15ZOJ1016Parencodings

2.16ZOJ1944Tree Recovery

2.17ZOJ2104Let the Balloon Rise

上机练习题

第3章递归与分治策略

3.1递归算法

3.1.1Fibonacci数列

3.1.2集合的全排列问题

3.1.3整数划分问题

3.2分治策略

3.2.1分治法的基本步骤

3.2.2分治法的适用条件

3.2.3二分搜索技术

3.2.4循环赛日程表

3.2.5棋盘覆盖问题 ... 查看详情

查看详情