发表于2024-11-09
算法入门经典畅销书全新升级,第1版图书被大量信息学竞赛学员作为学习教材
5.5小时教学视频、114个经典算法题、61个算法面试题和4个ACM竞赛题
帮您开阔眼界,培养编程兴趣,提高编程能力,增强求职竞争力
提供了5.5小时算法入门专题教学视频,学习起来比较直观
提供了28个数据结构及算法基础知识实例,便于读者入门
提供了86个经典、有趣、贴近生活、实用性强的算法实例
提供了61个算法及数据结构面试题,增强求职者的竞争力
提供了4个经典的ACM程序设计竞赛题目,便于读者了解
书中的所有实例用C语言实现,便于读者验证和加深对C语言的理解
既涵盖了算法的基本理论知识,又包含了大量实例,寓理论于实践之中
海报:
《妙趣横生的算法(C语言实现 第2版)》是深受广大读者好评的《妙趣横生的算法(C语言实现)》一书的全新升级版。本书在第1版的基础上对原书内容做了大量的调整和补充,并将书中的实例代码在Visual Studio 2010环境下重新编译通过,以适应当前技术的发展和阅读需求。本书内容涵盖了算法入门的必备基础知识和大量的趣味算法题、面试题和ACM竞赛题等。通过学习本书内容,可以开阔读者的视野,帮助读者理解算法,提高编程兴趣和能力,并提高C语言编程能力,还可以让读者了解IT面试中的常见算法题及编程竞赛中的相关知识。另外,本书提供了5.5小时配套教学视频和实例源代码,以提高读者的学习效率。
本书共11章,分2篇。第1篇为算法基础,包括数据结构基础知识、常用的查找与排序方法、常用的算法思想等。第2篇为常用算法实例解析,包括20个编程基本功趣题、39个数学趣题、14个数据结构趣题、7个数值计算趣题、6个综合题、61个算法设计与数据结构面试题、4个ACM程序设计竞赛 题目。
本书适合学习算法的人员作为入门教程,也适合有C语言基础的人作为编程实践读物,还可作为有编程经验的程序员查阅相关算法实现和数据结构知识的参考书。另外,本书也可以为那些准备参加IT面试和信息学竞赛的读者提供有益的帮助。
本书精华内容
数据结构基础(8个实例)
常用的查找与排序方法(9个实例)
常用的算法思想(11个实例)
编程基本功(20个实例)
数学趣题(39个实例)
数据结构趣题(14个实例)
数值计算问题(7个实例)
综合题(6个实例)
常见的算法设计面试题(31个实例)
常见的数据结构面试题(30个实例)
ACM程序设计竞赛题目选讲(4个实例)
本书赠送的教学视频内容
数据结构专题(36分钟)
查找和排序算法专题(75分钟)
常用算法专题(63分钟)
重点编程实例解析专题(89分钟)
重点面试题解析专题(65分钟)
杨峰,目前就职于中国石化信息技术培训中心,主要负责ERP系统的底层数据交换业务。有近10年的C语言开发经验。曾经参与过基于内容的图像检索系统、图书馆信息管理系统、基于ARM的嵌入式密码系统和基于VHDL的硬件时钟设备等。出版过两部C语言图书。
第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.6 实例与分析
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 实例与分析
1.8 章后习题
第2章 常用的查找与排序方法
2.1 顺序查找
2.2 折半查找
2.3 排序的概述
2.4 直接插入排序
2.5 选择排序
2.6 冒泡排序
2.7 希尔排序
2.8 快速排序
2.9 堆排序
2.10 各种排序算法性能比较
2.11 章后习题
第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 计算定积分
3.8 章后习题
第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 汉诺塔
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 常见的数据结构题
第11章 ACM程序设计竞赛题目选讲
11.1 奥斯卡奖章
11.2 准备就绪?
11.3 兔子
11.4 阶乘之和
程序 = 数据结构 + 算法
——著名的计算机科学家沃斯(Nikiklaus Wirth)
自从著名的计算机科学家沃斯将程序设计形象地用上面的公式表示出来后,这条“黄金定律”便成为了人们学习程序设计,进行程序开发的准则。要想成为一名真正专业的程序设计人员,基本的数据结构基础和常用的算法知识是必须掌握的。脱离了这两点,编写出来的程序一定不是健壮的好程序。
然而单纯地掌握一些数据结构基础和常用的算法知识也是远远不够的。空洞地掌握所谓的数据结构和算法等理论知识只是纸上谈兵,这些知识必须要依托于一门程序设计语言才具有真正的生命力,才能够转化为真实的程序代码,才能真正地解决实际问题。
本书就是将数据结构基础和常用的算法知识与目前广泛应用、最具群众基础的C语言相结合而产生的。本书的写作思想是理论与实践相结合,以实践为核心,以实例为主要 内容。
首先,本书总结归纳了数据结构基础、常用的排序查找算法和经典的算法思想,提纲挈领地阐述了核心的理论知识。这样可以使没有系统学习过或者不熟悉数据结构和算法等知识的读者,对这部分知识有一个基本的了解,并掌握基本的数据结构知识和常用而经典的算法思想,以便更加深入地学习本书的其他内容。
其次,本书列举了大量的编程实例,这些题目都按照知识体系进行了内容上的划分。本书列举的这些编程实例都是一些比较灵活有趣的题目,有些题目渗透了巧妙的算法思想,有些题目则必须借助特殊的数据结构才能更加容易解答。通过这些题目的训练,可以使读者开阔眼界,启迪思维,提高编程的兴趣。最重要的是能够提高读者算法设计的本领;提高读者灵活应用各种数据结构的本领;提高读者编写程序解决实际问题的能力。
关于本书第2版
本书第1版出版后广受读者好评,并且多次加印,被大量的算法入门人员和爱好者及一些参加算法竞赛的读者作为参考读物。但是随着技术的发展,第1版图书已经不能完全适应当前的阅读需求。例如,很多开发人员已经将C语言的编程环境由以前流行的Tubro C迁移到了当前流行的Visual Studio平台上,加之本书第1版图书在解析上还有改进空间。基于这些原因,我们对本书第1版进行了系统的改版,以方便读者更好地学习。相比第1版图书,本书第2版内容上的主要变化体现在以下几个方面:
* 书中涉及的实例代码在Visual Studio 2010环境下重新编译通过;
* 对一些叙述不清或不够通顺的语句进行了修改;
* 对第1版图书中存在的一些疏漏进行了修订;
* 给实例源代码增加了更加详细的注释;
* 给第1~3章中各增加了一节新内容,作为课后练习,并给出了参考答案;
* 对第2章中的快速排序和希尔排序等内容进行了较大幅度的修改,同时还新增加了堆排序的介绍及各种排序性能的比较;
* 新增了一章关于ACM程序设计竞赛的相关内容。
本书有何特点
1.结构清晰,知识全面
本书分为2篇。第1篇是基础知识介绍,主要介绍数据结构的基础知识和一些常用的算法思想。这部分内容为核心的理论知识,可以帮助读者学习和回顾数据结构和算法的知识,使读者在理论水平上有所提高,从而能够更加顺利地深入学习后续内容。第2篇主要是编程实例的介绍,通过一些非常有趣的编程实例使读者开阔眼界,发散思维,提高算法设计本领,提高灵活应用各种数据结构的本领,提高读者编写程序解决实际问题的能力。
2.实例丰富,讲解到位
本书的写作思想就是以实践为核心,以编程实例为主要内容。因此本书中包含了大量的编程实例,并都附有详细的分析和解答。作者认为讲解到位是本书与同类书籍相比的一大特点。本书尽量做到深入浅出,多用简单的语句配以图示来讲解比较复杂的问题,而且尽量做到讲解透彻明白,不敷衍读者。
3.题材新型,趣味性强
兴趣是最好的老师。本书在编写过程中始终贯穿这一思想。因此本书中的题目设置尽量做到既有练习意义,又富有趣味性。特别是在本书的第2篇中,列举了大量的兼顾难度和趣味性的经典题目,例如魔幻方阵、汉诺塔、魔王语言翻译、约瑟夫环、马踏棋盘、巧算24、八皇后问题等。这样使读者对所谓的难题也不再那么畏惧,而是更加愿意面对它。
4.重点突出,实用性强
本书的写作意图是通过讲解大量生动有趣的实例,培养读者的编程能力、算法设计思想和对数据结构的灵活运用。归根到底就是通过程序设计解决实际问题的能力。因此本书中的所有题目都不只是给出答案而已,而是从算法思想的层面来剖析,涉及复杂数据结构的内容,还通过图示的方法形象地加以说明。特别值得一提的是,本书的最后一章为算法设计与数据结构面试题精粹,这部分内容从实战和应试的角度出发,旨在巩固读者的知识水平和提高读者的应试能力,同时使得本书更具实用价值。
5.视频教学,高效直观
本书中的重点内容和实例提供了配套教学视频辅助讲解。读者可以先阅读书中的内容讲解,然后再结合教学视频进行学习,可以获得更加高效而直观的学习效果。
本书内容及知识体系
本书共11章,分为2篇,主要内容介绍如下。
第1篇 算法基础(第1~3章)
本篇主要介绍一些必备的算法基础知识,包括数据结构基础知识、常用的查找和排序方法、常用的算法思想。
第2篇 常用算法实例解析(第4~11章)
本篇主要介绍一些基于C语言的算法编程实例。包括编程的基本功、数学趣题、数据结构题、数值计算题、综合题、算法设计与数据结构面试题、ACM程序设计竞赛试题等。这些题目内涵丰富,兼顾趣味性,从不同侧面体现出对数据结构知识和算法设计思想的灵活运用,相信会对读者有一定帮助。
本书读者对象
* 对算法设计有兴趣的入门人员;
* 有一定编程基础的算法爱好者;
* 需要提高C语言编程水平的人员;
* 参加IT企业面试的人员;
* 信息学竞赛的参赛人员;
* 各种程序设计选拔赛的参赛人员;
* 大中专院校的学生。
编者
妙趣横生的算法(C语言实现 第2版) 下载 mobi pdf epub txt 电子书 格式 2024
妙趣横生的算法(C语言实现 第2版) 下载 mobi epub pdf 电子书真的蛮好的。
评分图书不错,就是没有视频,值得拥有
评分极力推荐此书,很不错的编程参考书
评分挺不错的,有数据结构的知识,还有一些常用算法,详解
评分物美价廉,这个推荐购买。
评分质量不错,还没开始看,先屯着!
评分当做课外书不错⊙▽⊙
评分收到了,不错,接下来好好看看?
评分这书不错,复杂的道理,简单地讲。
妙趣横生的算法(C语言实现 第2版) mobi epub pdf txt 电子书 格式下载 2024