搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
妙趣横生的算法:C语言实现
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302216018
  • 作      者:
    杨峰编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2010
收藏
编辑推荐
  

  5.5小时教学视频、86个趣味算法题、61个算法面试题,一学就会!帮您开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力!
  特别提示
  《妙趣横生的算法(C语言实现)》配套多媒体教学视频和涉及的实例代码收录于《妙趣横生的算法(C语言实现)》配书光盘中。另外,《妙趣横生的算法(C语言实现)》适合作为相关学校的教材使用。为了方便老师授课,《妙趣横生的算法(C语言实现)》专门配备了相应的教学PPT。
  《妙趣横生的算法(C语言实现)》内容生动有趣,寓教于乐,旨在帮您开阔眼界,培养编程兴趣,提高编程能力。增强求职的竞争力。如果您想在程序设计之路上走得更远,请翻开《妙趣横生的算法(C语言实现)》,仔细研读吧,它将助您一臂之力。
  《妙趣横生的算法(C语言实现)》特色
  ◎提供了5.5小时多媒体教学视频,学习起来比较直观。
  ◎提供了24个数据结构和算法的基础知识实例,便于读者入门。
  ◎提供了86个经典、有趣、贴近生活、实用性强的算法实例。
  ◎提供了61个算法及数据结构的面试题。增强求职者的竞争力。
  ◎内容梯度科学,既适合入门,也适合进一步提高和研究。
  ◎书中实例用C语言实现,便于读者验证及加深对C语言的理解。
  ◎既涵盖基本理论,又包含大量实例,寓理论于实践之中。
  ◎讲解由浅入深,通俗易懂,将复杂问题简单化,读者可以轻松掌握。


  

海报:

展开
内容介绍

  《妙趣横生的算法(C语言实现)》理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试题等。《妙趣横生的算法(C语言实现)》最大的特色在于实例丰富,题材新颖有趣,实用性强,理论寓于实践之中。通过《妙趣横生的算法(C语言实现)》的学习,可以使读者开阔眼界,提高编程的兴趣,提高读者的编程能力和应试能力。
  《妙趣横生的算法(C语言实现)》附带1张光盘,内容为《妙趣横生的算法(C语言实现)》源代码和作者为《妙趣横生的算法(C语言实现)》录制的5.5小时多媒体教学视频。
  《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考资料,同时也为那些准备参加与算法和数据结构相关的面试的读者提供一些有益的帮助。

展开
精彩书摘

  其实阶乘的数学定义可以用递归函数来简单地描述:
  这样的函数称为递归函数,因为该函数本身直接或间接地调用了该函数本身。基于阶乘的递归函数的描述,就不难设计出计算n的阶乘n!的递归算法。
  可以看出,使用递归算法解决阶乘问题形式上更加简洁,更易于人们理解。
  在设计递归算法时要注意以下几点。
  (1)每个递归函数都必须有一个非递归定义的初始值,作为递归结束标志,或递归结束的出口。就像实例3.5所描述的递归算法中的if(n-0)ret啪l;如果一个递归算法中没有这个非递归定义的初始值,那么该递归调用是无法计算出具体的值的(或无法得到结果),同时该递归调用也无法结束。
  (2)在设计递归算法时,要解决的问题需具有递归性。例如要计算,2的阶乘n!,n!的定义本身具有递归性。这种所谓的递归性实际上就是一种反复调用自身过程的特性。
  (3)虽然采用递归算法解决问题,特别是一些复杂问题,更加方便且容易实现,但是递归方法的运行较低,时间和空间复杂度都比较高,因此对于一些对时间和空间要求较高的程序,建议使用非递归算法设计。
  在实际的算法设计中,递归与分治如同一对兄弟,经常结合在一起使用。这是因为,由分治的方法产生的子问题往往都是原问题的更小规模。反复使用分治的手段,可使子问题与原问题类型一致,但规模不断缩小,最终使子问题比较容易求解。既然子问题与原问题的类型一致,这就具有了所谓的递归性,因此可以使用递归的方法用解决原问题的算法去解决同类型的子问题。在第2章中介绍的折半查找算法只是单纯地使用了分治的策略,在下面的实例分析中将使用递归与分治思想相结合的方法进行折半查找算法的设计。 

  ……

展开
目录
第1部分 基础篇
第1章 数据结构基础
1.1 什么是数据结构
1.2 顺序表
1.2.1 顺序表的定义
1.2.2 向顺序表中插入元素
1.2.3 从顺序表中删除元素
1.2.4 实例与分析
1.3 链表
1.3.1 创建一个链表
1.3.2 向链表中插入结点
1.3.3 从链表中删除结点
1.3.4 销毁一个链表
1.3.5 实例与分析
1.4 栈
1.4.1 栈的定义
1.4.2 创建一个栈
1.4.3 入栈操作
1.4.4 出栈操作
1.4.5 栈的其他操作
1.4.实例与分析
1.5 队列
1.5.1 队列的定义
1.5.2 创建一个队列
1.5.3 入队列操作
1.5.4 出队列操作
1.5.5 销毁一个队列
1.5.6 循环队列的概念
1.5.7 循环队列的实现
1.5.8 实例与分析
1.6 树结构
1.6.1 树的概念
1.6.2 树结构的计算机存储形式
1.6.3 二叉树的定义
1.6.4.二叉树的遍历
1.6.5 创建二叉树
1.6.6 实例与分析
1.7 图结构
1.7.1 图的概念
1.7.2 图的存储形式
1.7.3 邻接表的定义
1.7.4.图的创建
1.7.5 图的遍历(1)——深度优先搜索
1.7.6 图的遍历(2)——广度优先搜索
1.7.7 实例与分析

第2章 常用的查找与排序方法
2.1 顺序查找
2.2 折半查找
2.3 排序的概述
2.4 直接插入排序
2.5 选择排序
2.6 冒泡排序
2.7 希尔排序
2.8 快速排序

第3章 常用的算法思想
3.1 什么是算法
3.2 算法的分类表示及测评
3.2.1 算法的分类
3.2.2 算法的表示
3.2.3 算法性能的测评
3.3 穷举法思想
3.3.1 基本概念
3.3.2 寻找给定区间的素数
3.3.3 TOM的借书方案
3.4 递归与分治思想
3.4..1 基本概念
3.4.2 计算整数的划分数
3.4.3 递归的折半查找算法
3.5 贪心算法思想
3.5.1 基本概念
3.5.2 最优装船问题
3.6 回溯法
3.6.1 基本概念
3.6.2 四皇后问题求解
3.7 数值概率算法
3.7.1 基本概念
3.7.2 计算定积分

第2部分 编程实例解析
第4章 编程基本功
4.1 字符类型统计器
4.2 计算字符的ASCII码
4.3 嵌套if.else语句的妙用
4.4 基于switch语句的译码器
4.5 判断闰年
4.6 指针变量作参数
4.7 矩阵的转置运算
4.8 矩阵的乘法运算
4.9 巧用位运算
4.10 文件的读写
4.11 计算文件的大小
4.12 记录程序的运行时间
4.13 十进制/二进制转化器
4.14 打印特殊图案
4.15 打印杨辉三角
4.16 复杂级数的前n项和
4.17 寻找矩阵中的“鞍点”
4.18 n阶勒让德多项式求解
4.19 递归反向输出字符串
4.20 一年中的第几天

第5章 数学趣题(一)
5.1 舍罕王的失算
5.2 求两个数的最大公约数和最小公倍数
5.3 歌德巴赫猜想的近似证明
5.4 三色球问题
5.5 百钱买百鸡问题
5.6 判断回文数字
5.7 填数字游戏求解
5.8 新郎和新娘
5.9 爱因斯坦的阶梯问题
5.10 寻找水仙花数
5.11 猴子吃桃问题
5.12 兔子产仔问题
5.13 分解质因数
5.14 常胜将军
5.15 求兀的近似值
5.16 魔幻方阵
5.17 移数字游戏
5.18 数字的全排列
5.19 完全数
5.20 亲密数
5.21 数字翻译器
5.22 递归实现数制转换
5.23 谁在说谎

第6章 数学趣题(二)
6.1 连续整数固定和问题
6.2 表示成两个数的平方和
6.3 具有特殊性质的数
6.4 验证角谷猜想
6.5 验证四方定理
6.6 递归法寻找最小值
6.7 寻找同构数
6.8 验证尼科彻斯定理
6.9 三重回文数字
6.10 马克思手稿中的数学题
6.11 渔夫捕鱼问题
6.12 寻找假币
6.13 计算组合数
6.14 递归法求幂
6.15 汉诺Hanoi塔
6.16 选美比赛

第7章 数据结构趣题
7.1 顺序表的就地逆置
7.2 动态数列排序
7.3 在原表空间进行链表的归并
7.4 约瑟夫环
7.5 二进制/八进制转换器
7.6 回文字符串的判定
7.7 括号匹配
7.8 魔王语言翻译
7.9 动态双向链表的应用
7.10 判断完全二叉树
7.11 动画模拟创建二叉树
7.12 打印符号三角形
7.13 递归函数的非递归求解
7.14 任意长度整数加法

第8章 数值计算问题
8.1 递推化梯形法求解定积分
8.2 求解低阶定积分
8.3 迭代法开平方运算
8.4 牛顿法解方程
8.5 欧拉方法求解微分方程
8.6 改进的欧拉方法求解微分方程
8.7 雅可比迭代公式求解线性方程组

第9章 综合题
9.1 破碎的砝码
9.2 计算24的问题
9.3 马踏棋盘
9.4 0-1背包问题
9.5 八皇后问题求解
9.6 简易文件加密/解密系统

第10章 算法设计与数据结构面试题精粹
10.1 常见的算法设计题
10.2 常见的数据结构题
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证