新闻资讯
看你所看,想你所想

编程算法新手自学手册

《编程算法新手自学手周请袁久副述册》是2012年2月1日机械工业出版社出版的图书,作者是管西京。本书循序渐进、是由浅入深地详细讲解了基于C语言算法的核心技术,但却举因亮陆种并通过具体实例的实现过程演练了各个知识点的具体使用流程。

  • 书名 编程算法新手自学手册
  • 作者 管西京
  • 出版社 机械工业出版社
  • 出版时间 2012年2月1日
  • 页数 445 页

简介

  程序员都会看重数据结构和算法的作用,水平越高,就越来自能理解算法的重要性。算法不仅是运算工具,更是程序的灵魂。《编程算法新手自学手册》全书共11章,分为4篇。1~2章是基础篇,介绍算法开发所必需具备的基本视奏知识,逐一讲解了9种算法思想的知识;3~5章是核心技术篇,逐一讲解了线性结360百科构、树层次关系结构、网状关系结构等基本知识;6~8章是提高篇,逐一讲解了查找算法、内部排序算法、外部排序和文件等知识;9~11章是典型实战篇,分别详细讲解算法在数据结构和经典数学问题中的解法,通过多个满念命式即赵低回田九获典型实例的实现过程,详观孔封细讲解算法在常见领域中的综合应用流程,并穿插介绍了项目的实现技巧。全书采用故事性与趣味性相结合的对话讲解方式,解级做打历讨乐洲率并穿插了学习技巧和职场生存法则,引领读者备投鱼专它延立全面掌握算法。

  《编程算法新手自学手册》不但适用于算法的初学者,也适用于有一定C语言基础的读者。

目录

  前言

  第1章 算法-程序的灵魂 1

  1.1 了解算法 2

  1.1.1 算法的特征和发展由来 2

  1.1.2 为什么是程序的灵魂 2

  1.1.3 何谓算法 3

  1.1.4 算法的特性 4

志气劳落永伯取林西研克  1.2 算法的表示方法____流程图 4

  1.3 算法的另一种表示方法____N-S流程图表示法 6

  1.4 用计算打村她各传比流而致氢机语言表示算法 6

  1.5 算法在编程中的应用 6

  1.6 总结 8

  职场点拨____职场的"算法" 8

  第2章 9种算法思想 10

  2.1 枚举算法思想 11

  2.1.1 枚举算法的特点 11

  2.1.2 算法思路 11

  2.1.3 应用实据问庆求及例 11

  2.1.4 总结 14

  2.2 递推算法思想 15

  2.2.1 递推算法的思路 15

  2.2.2 顺推法实例 15

  2.2.3 逆推法实例 改造事议子背病协服16

  2.3 递归算法思想 17

  2.3.1 递归算法的特点 18

  2.3.2 递归算法实例 18

  2.4 分治算法思想 22

  2.4.1 分治算法的思路 22

  2.4.2 看一个经典问题-找出假币 23

  2.4.3 应用实例____大数相乘 23

  2.4.4 应用实例____世界杯比赛日程安排 27

  2.5 贪心算法思想 29

  2.5.1 贪心算法的思路 29

  2.5.2 应用重输出讲视卫科众且器实例____装箱问题 30

  2.5.3 应用实例____找零方案 33

  2.6 试探法算法思想 34

  2.6.1 试探法算法的思路 35

率字快阿乙  2.6.2 应用实例__特径例随写__八皇后问题 35

  2.6.3 应用实例_风宜入航酸云组位凯余___彩票组合 37

  2.7 动态规划算法 38

  2.7.1 动态规划算法的思路 39

  2.7.2 应用实例 太广方点些有最以烟罪39

  2.8 迭代算法思想 41

  2.8.1 迭代算法的思路 42

  2.8.2 应用法利香表府合管钟货直实例 42

  2.9 模拟算法思想 43

  2.9.1 模拟算法的思路 43

  2.9.2 应用实例-猜数游戏 44

  2.9.3 应用实例-掷骰子游戏 45

  2.10 多希介那最后做一个评价 46

  2.10.1 算法优劣标准 46

  2.10.2 算法叫选效率的衡量方法 47

  职场点拨____程序员面试面面观 48

  第3章 最简单的线性结构 50

  3.1 线性表 50

  3.1.1 线性表的特性 51

  3.1.2 顺序表的基本操作实现 52

  3.1.3 链表基本操作实现 59

  3.2 先进先出的结构____队列 65

  3.2.1 队列简介 65

  3.2.2 队列的抽象数据类型定义 66

  3.2.3 链队列和循环队列 67

  3.2.4 队列的基本操作 67

  3.2.5 队列的链式存储 68

  3.2.6 应用实例____电信排号程序 73

  3.3 后进先出的结构____栈 75

  3.3.1 什么是栈 75

  3.3.2 栈的基本操作 76

  3.3.3 应用实例 79

  职场点拨____同事相处之道 82

  第4章 层次关系结构____树 84

  4.1 基本概念 84

  4.1.1 树的定义 85

  4.1.2 树的相关术语 85

  4.1.3 树的基本操作概况 86

  4.2 二叉树 87

  4.2.1 二叉树的定义 87

  4.2.2 二叉树的性质 88

  4.3 二叉树的存储 88

  4.3.1 顺序存储结构 88

  4.3.2 链式存储结构 90

  4.3.3 二叉树操作 91

  4.3.4 二叉树遍历 94

  4.3.5 使用二叉树 98

  4.4 线索二叉树 101

  4.4.1 线索二叉树的表示 101

  4.4.2 线索二叉树的操作 104

  4.5 最优二叉树____赫夫曼树 109

  4.5.1 几个相关概念 109

  4.5.2 构造赫夫曼树的过程 110

  4.5.3 赫夫曼编码 111

  职场点拨____谈职业素养 117

  第5章 网状关系结构-图 118

  5.1 图的定义 118

  5.2 图的几个概念 119

  5.3 图的存储结构 123

  5.3.1 邻接矩阵 123

  5.3.2 邻接表 124

  5.3.3 十字链表 127

  5.3.4 创建图 128

  5.4 图的遍历 133

  5.4.1 深度优先搜索 133

  5.4.2 广度优先搜索 136

  5.4.3 遍历算法的常见应用 140

  5.4.4 测试图遍历实例 142

  5.5 图的连通性问题 143

  5.5.1 无向图的连通分量 143

  5.5.2 最小生成树 143

  5.5.3 关键路径 147

  5.6 最短路径 152

  5.6.1 求某一顶点到其他各顶点的最短路径 152

  5.6.2 求任意一对顶点间的最短路径 156

  职场点拨____和领导相处 158

  第6章 常用算法____查找 160

  6.1 查找的基本概念 160

  6.2 基于线性表的查找法 161

  6.2.1 顺序查找法 161

  6.2.2 折半查找法 165

  6.2.3 分块查找法 167

  6.3 基于树的查找法 168

  6.3.1 二叉排序树 168

  6.3.2 平衡二叉排序树 180

  6.4 计算式查找法____散列法 186

  6.4.1 散列函数的构造方法 187

  6.4.2 处理冲突的方法 188

  6.4.3 散列表的查找过程 190

  6.4.4 散列法性能分析 191

  6.5 索引查找 195

  6.5.1 索引查找基础 195

  6.5.2 索引查找算法的应用 195

  职场点拨____寻兼职 199

  第7章 常用算法-内部排序 200

  7.1 排序基础 200

  7.2 插入类排序 202

  7.2.1 直接插入排序 202

  7.2.2 折半插入排序 205

  7.2.3 表插入排序 206

  7.2.4 希尔排序 206

  7.3 交换类排序法 209

  7.3.1 冒泡排序(相邻比序法) 209

  7.3.2 快速排序 213

  7.4 选择类排序法 217

  7.4.1 直接选择排序(Straight Selection Sort) 217

  7.4.2 树形选择排序 219

  7.4.3 堆排序 220

  7.5 归并排序 225

  7.5.1 归并排序思想 225

  7.5.2 二路归并算法 226

  7.5.3 归并排序的实现方法 228

  7.6 各种排序方法的综合比较 231

  职场点拨____兼职可靠吗? 232

  第8章 外部排序和文件 234

  8.1 外存信息的特性 235

  8.1.1 磁带存储器 235

  8.1.2 磁盘存储器 236

  8.2 外排序的基本方法 237

  8.2.1 磁盘排序 237

  8.2.2 磁带排序 241

  8.3 文件的基本概念 243

  8.3.1 文件中的常用基本概念 244

  8.3.2 文件的有关操作 244

  8.4 文件的组织方式 245

  8.4.1 顺序文件 245

  8.4.2 索引文件 245

  8.4.3 ISAM文件 246

  8.4.4 VSAM文件 248

  8.4.5 散列文件 249

  8.4.6 多关键字文件 250

  职场点拨____换工作的注意事项 250

  第9章 算法在数学领域中的应用 252

  9.1 求两个数的最大公约数和最小公倍数 252

  9.2 哥德巴赫猜想的近似证明 254

  9.3 三色球问题 257

  9.4 百钱买百鸡问题 258

  9.5 完全数 260

  9.6 亲密数 262

  9.7 水仙花数 264

  9.8 自守数 264

  9.9 素数 266

  9.9.1 求素数 266

  9.9.2 回文素数 268

  9.9.3 平方回文数 269

  9.10 阶乘 270

  9.10.1 递归计算阶乘 270

  9.10.2 大数的阶乘 272

  9.11 新郎和新娘的问题 281

  9.12 年龄几何 283

  9.13 三色球问题 284

  9.14 马克思手稿中的数学题 285

  9.15 正整数分解质因数 286

  9.16 方程求解 287

  9.16.1 求解线性方程组介绍 287

  9.16.2 求解非线性方程组介绍 288

  9.16.3 高斯消元法求解线性方程组 288

  9.16.4 二分法解非线性方程 293

  9.16.5 牛顿迭代法解非线性方程 295

  9.17 矩阵运算 297

  9.18 孪生素数 301

  9.18.1 孪生素数介绍 301

  9.18.2 求解孪生素数 302

  9.19 一元多项式运算 303

  9.19.1 编程实现一元多项式的加法运算 303

  9.19.2 编程实现一元多项式的减法运算 308

  职场点拨____谈学习方法 318

  第10章 数据结构问题 319

  10.1 约瑟夫环 320

  10.2 大整数运算 323

  10.2.1 用数组实现大整数运算 323

  10.2.2 用链表实现大整数运算 333

  10.3 计算机进制转换 339

  10.4 中序表达式转换为后序表达式 344

  职场点拨____团队成员的素质 349

  第11章 算法的经典问题 350

  11.1 存钱利息最大化 351

  11.2 歌星大奖赛 354

  11.3 借书方案知多少 355

  11.4 打鱼还是晒网 356

  11.5 捕鱼和分鱼 357

  11.6 出售金鱼 358

  11.7 平分七筐鱼 359

  11.8 绳子的长度和井深 361

  11.9 鸡兔同笼 362

  11.10 汉诺塔 363

  11.10.1 递归法 364

  11.10.2 非递归法 365

  11.11 背包问题 368

  11.11.1 动态规划法 368

  11.11.2 递归法 375

  11.12 马踏棋盘 378

  11.12.1 循环查找 378

  11.12.2 递归法实现 382

  11.12.3 栈实现 384

  11.13 八皇后问题 388

  11.13.1 递归法 389

  11.13.2 循环法 391

  11.14 农夫过河 394

  11.15 青蛙过河 397

  11.16 三色旗 401

  11.17 取石子 403

  11.18 生命游戏 407

  11.19 黑白棋问题 412

  11.20 停车场管理 422

  11.21 约瑟夫生者死者游戏 432

  11.22 骑士迷宫问题 435

  职场点拨____谈升职 444

转载请注明出处安可林文章网 » 编程算法新手自学手册

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com