妙趣横生的算法pdf是一个免费的c语言教程学习书籍。c语言对于从事编程行业的用户来说是必须掌握的专业知识,很多初学c语言课程的读者往往会感觉到很困难,绿色资源网为大家推荐的这套电子课本正是为了帮助c语言小白们准备的,带你轻轻松松学习c语言知识。
电子书介绍《妙趣横生的算法(C语言实现)》理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试题等。《妙趣横生的算法(C语言实现)》最大的特色在于实例丰富,题材新颖有趣,实用性强,理论寓于实践之中。通过《妙趣横生的算法(C语言实现)》的学习,可以使读者开阔眼界,提高编程的兴趣,提高读者的编程能力和应试能力。
本书在第1版的基础上对原书内容做了大量的调整和补充,并将书中的实例代码在Visual Studio 2010环境下重新编译通过,以适应当前技术的发展和阅读需求。本书内容涵盖了算法入门的必备基础知识和大量的趣味算法题、面试题和ACM竞赛题等。通过学习本书内容,可以开阔读者的视野,帮助读者理解算法,提高编程兴趣和能力,并提高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篇 常用算法实例解析
……
第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 阶乘之和