书名:趣题学算法
作者:徐子珊
出版日期:2018
ISBN:
趣题学算法
书中内容基于C 全书共分10章。第0章讲解了算法的概念及体例说明。第1~7章分别就计数问题、信息查找问题、组合优化问题、图中搜索问题和数论问题展开,讨论了算法的构思和设计,详尽介绍了解决这些问题的渐增策略、分治策略、回溯策略、动态规划和贪婪策略、广度优先搜索策略、深度优先搜索策略等。第8章提供了10个让读者自解的计算问题,让读者有机会小试牛刀。第9章用书中给出的各问题的C 解决方案作为例子,讨论了C 语言的强大编程功能。书中一共收录了92个饶有兴趣的计算问题,每个问题(包括第8章留给读者自解的题目)都给出了完整的C 解决方案。 《趣题学算法》适于作为程序员的参考书,高校各专业学生学习“数据结构”“算法设计分析”“程序设计”等课程的扩展读物,也可以作为上述课程的实验或课程设计的材料,还可以作为准备参加国内或国际程序设计赛事的读者的赛前训练材料。

目录

第0章从这里开始

0.1App程序与算法

0.2计算问题

问题0-1计算逆序数

0.3算法的伪代码描述

0.4算法的正确*

0.5算法分析

0.6算法运行时间的渐近表示

问题0-2移动电话

0.7算法的程序实现

0.8从这里开始

第1章计数问题

1.1累积计数法

问题1-1骑士的金币

问题1-2扑克牌魔术

问题1-3能量转换

问题1-4美丽的花园

1.2简单的数学计算

问题1-5小小度刷礼品

问题1-6找到牛妞

问题1-7糟糕的公交调度

1.3加法原理和乘法原理

问题1-8冒泡排序

1.4图的*质

问题1-9聚会游戏

1.5置换与轮换

问题1-10牛妞排队

第2章数据集合与信息查找

2.1集合及其字典*作<*r/>问题2-1开源项目

问题2-2王子的难题

问题2-3度度熊就是要**个出场

问题2-4寻找克隆人

问题2-5疯狂搜索

2.2文本串的查找

问题2-6Pandora星球上的计算机病毒

2.3全序集序列的排序

问题2-7DNA排序

问题2-8度度熊的礼物

问题2-9通信系统

2.4集合的并、交、差运算

问题2-10计算机调度

第3章现实模拟

3.1简单模拟

问题3-1对称排序

问题3-2边界

3.2栈及其应用

问题3-3Web导航

问题3-4周期序列

3.3队列及其应用

问题3-5稳定婚姻问题

问题3-6*好的农场

3.4基于二叉堆的优先队列及其应用

问题3-7David购物

问题3-8内存分配

3.5二叉树及其应用

问题3-9后缀表达式

问题3-10符号导数

第4章组合优化问题

4.1组合问题及其回溯算法

3-色问题

N-后问题

0-1背包问题

4.2回溯算法框架

问题4-1探险图

问题4-2Jill的骑行路径

4.3排列树问题

问题4-3八元拼图

问题4-4一步致胜

问题4-5订单

4.4子集树问题

问题4-6命题逻辑

问题4-7整除*

4.5用回溯算法解组合优化问题

问题4-8盗贼

问题4-9牛妞玩牌

问题4-10三角形游戏

问题4-11轮子上的度度熊

4.6加速计算组合优化问题

问题4-12三角形N-后问题

第5章动态规划与贪婪策略

5.1动态规划

问题5-1数字三角形

问题5-2形式语言

5.20-1背包问题的动态规划算法

问题5-3温馨旅程

5.3*长公共子序列问题的动态规划算法

问题5-4射雕英雄

问题5-5人类基因功能

问题5-6清洁机器人

5.4贪婪策略

问题5-7牛妞的*佳排列

问题5-8渡河

5.5无向带权图的*小生成树

问题5-9网络设计

问题5-10网页聚类

5.6有向带权图单源*短路径

问题5-11牛妞聚会

问题5-12*短路

第6章图的搜索算法

6.1广度优先搜索

6.2无向图的连通分支

问题6-1女孩与男孩

问题6-2卫星照片

6.3图中顶点间*短路径

问题6-3骑士移动

问题6-4蜜蜂种群

6.4深度优先搜索

6.5有向无圈图的拓扑排序

问题6-5考虑所有的光盘

问题6-6循序

6.6无向图的关节点和桥

问题6-7网络保护

问题6-8夫妻*盗<*r/>6.7流网络的*大流问题

问题6-9网络带宽

问题6-10电网

问题6-11*课

6.8欧拉路径问题

问题6-12观光旅游

问题6-13Johnny的新车

问题6-14放牛娃

第7章数论问题

7.1整数的进位制

问题7-1牛牛计数

问题7-2数制转换

7.210进制非负大整数的表示与算术运算

问题7-3除法

7.3整数的模运算

问题7-4Maya历法

问题7-5Euclid游戏

7.4最大公约数

问题7-6纽约大劫案

问题7-7青蛙的约会

7.5素数

问题7-8素数分割

问题7-9哥德巴赫猜想

问题7-10困惑的密码员

7.6算术基本定理

问题7-11密码学中的幂

问题7-12RSA因数分解

第8章动手做

问题8-1测谎

问题8-2伪图形识别

问题8-3反转数相加

问题8-4直角多边形

问题8-5二叉搜索堆

问题8-6物以类聚

问题8-7旅程

问题8-8午餐

问题8-9网络攻击

问题8-10素数个数

第9章C程序设计

9.1C的程序结构

9.1.1源文件的组成

9.1.2语句与关键字

9.1.3数据与表达式

9.1.4指针类型和引用类型

9.2C的面向对象程序设计技术

9.2.1类的封装

9.2.2类的继承

9.2.3多态

9.3C的模板技术

9.3.1函数模板

9.3.2类模板

9.4C的标准模板库——STL

9.4.1容器类模板

9.4.2算法模板和仿函数

9.4.3类模板组合

9.5数据的输入输出

9.5.1文件输入输出流

9.5.2串输入输出流

9.5.3流运算符的重载


阅读全文