零基础学算法
基本信息
推荐阅读
内容简介回到顶部↑
目录回到顶部↑
出版说明.
前言
第一篇 算法与数据结构基础
第1章 基础算法思想 1
1.1 编程的灵魂:数据结构+算法 1
1.2 算法的作用 2
1.2.1 概述 2
1.2.2 实例:看商品猜价格 2
1.3 递推算法思想 5
1.3.1 算法思路 5
1.3.2 顺推实例:斐波那契数列 5
1.3.3 逆推实例:该存多少钱 7
1.4 枚举算法思想 8
1.4.1 算法思路 9
1.4.2 实例:填数游戏 9
1.4.3 实例:填运算符 10
1.5 递归算法思想 13
1.5.1 算法思路 13
1.5.2 实例:求阶乘 14
1.5.3 实例:数制转换 16
前言
第一篇 算法与数据结构基础
第1章 基础算法思想 1
1.1 编程的灵魂:数据结构+算法 1
1.2 算法的作用 2
1.2.1 概述 2
1.2.2 实例:看商品猜价格 2
1.3 递推算法思想 5
1.3.1 算法思路 5
1.3.2 顺推实例:斐波那契数列 5
1.3.3 逆推实例:该存多少钱 7
1.4 枚举算法思想 8
1.4.1 算法思路 9
1.4.2 实例:填数游戏 9
1.4.3 实例:填运算符 10
1.5 递归算法思想 13
1.5.1 算法思路 13
1.5.2 实例:求阶乘 14
1.5.3 实例:数制转换 16
前言回到顶部↑
“数据结构”是计算机相关专业的一门核心课程,由于该课程理论性较强,很多人学习起来感觉比较抽象,在学习时感觉掌握了相关知识,但是放开书本便又没有什么印象。其实,数据结构课程的实践性是很强的,不只是要掌握理论上的方法,还必须将这些方法应用到程序设计的实践中去。有鉴于此,作者编写了本书。本书没有侧重介绍各种数据结构的原理,而是重点介绍各种数据结构的实现方法,并给出了相应的实现程序代码。.
本书所有程序都是在Dev-C++开发环境中编写而成的,本书附录中简单介绍了该开发环境的使用方法。
本书内容
全书分两篇共9章,第1~5章介绍常用算法和数据结构的相应代码,第6~8章介绍使用数据结构和算法解决一些经典问题的程序,第9章介绍信息学奥赛部分试题的解题代码。
各章内容如下:
第1章介绍一些基础算法的使用,如递推算法、枚举(穷举)算法、递归算法、分治算法、贪婪算法、试探算法、模拟算法等的算法思路,并用相应的实例代码演示这些算法的具体实现方法。
第2章介绍简单数据结构的实现,主要有线性表、队列、栈这三种简单数据结构的相关操作代码和实例。
第3章介绍复杂数据结构的实现,主要有二叉树和图这两种数据结构的相关操作代码,并介绍赫夫曼树、图的最小生成树、最短路径等相关代码。
第4章介绍常见的排序算法,包括冒泡排序法、快速排序法、简单选择排序法、堆排序法、直接插入排序法、希尔排序法、合并排序法等常见排序方法的原理及实现代码。
第5章介绍常见查找算法,包括顺序查找、折半查找、二叉排序树、索引查找、散列表等内容。..
第6章介绍通过数据结构解决常见数学问题的内容,包括计算完数、亲密数、水仙花数,计算素数、哥德巴赫猜想,计算阶乘,求p的近似值,方程求解,矩阵运算,一元多项式运算等内容。
第7章介绍解决经典数据结构问题的内容,包括约瑟夫环、大整数四则运算、进制转换、括号匹配、中序式转后序式、停车场管理、迷宫求解、LZW压缩的实现等内容。
第8章介绍解决经典算法问题的内容,包括百钱买百鸡、五家共井、鸡兔同笼、猴子吃桃、舍罕王的赏赐、魔术方阵、汉诺塔、背包问题、马踏棋盘、八皇后等经典算法问题的求解代码,最后还介绍了一些趣味游戏的代码。
第9章介绍信息学奥赛部分试题的解题过程及对应的参考程序。
本书特点
由浅入深:本书从日常生活中常见的实例入手,引领读者进入算法和数据结构的抽象世界。
简单易学:由于数据结构、算法的知识比较抽象,使许多读者望而却步。本书在编写过程中,尽量使用读者容易理解的、简单的语言来描述算法和数据结构,对于复杂一些的内容,也是以图、表等形式介绍其原理,使读者能很快理解相关知识。
详细的代码:为了便于读者理解相应的知识点,本书对每一个知识点都提供了完整、详细的代码,读者可通过阅读代码,并上机调试来逐步体会、理解相应的知识点。
本书适合的读者
本书所有代码都是用C语言编写的,因此,要求读者首先对C语言的基本语法有所了解。本书适用于如下读者:
本书所有程序都是在Dev-C++开发环境中编写而成的,本书附录中简单介绍了该开发环境的使用方法。
本书内容
全书分两篇共9章,第1~5章介绍常用算法和数据结构的相应代码,第6~8章介绍使用数据结构和算法解决一些经典问题的程序,第9章介绍信息学奥赛部分试题的解题代码。
各章内容如下:
第1章介绍一些基础算法的使用,如递推算法、枚举(穷举)算法、递归算法、分治算法、贪婪算法、试探算法、模拟算法等的算法思路,并用相应的实例代码演示这些算法的具体实现方法。
第2章介绍简单数据结构的实现,主要有线性表、队列、栈这三种简单数据结构的相关操作代码和实例。
第3章介绍复杂数据结构的实现,主要有二叉树和图这两种数据结构的相关操作代码,并介绍赫夫曼树、图的最小生成树、最短路径等相关代码。
第4章介绍常见的排序算法,包括冒泡排序法、快速排序法、简单选择排序法、堆排序法、直接插入排序法、希尔排序法、合并排序法等常见排序方法的原理及实现代码。
第5章介绍常见查找算法,包括顺序查找、折半查找、二叉排序树、索引查找、散列表等内容。..
第6章介绍通过数据结构解决常见数学问题的内容,包括计算完数、亲密数、水仙花数,计算素数、哥德巴赫猜想,计算阶乘,求p的近似值,方程求解,矩阵运算,一元多项式运算等内容。
第7章介绍解决经典数据结构问题的内容,包括约瑟夫环、大整数四则运算、进制转换、括号匹配、中序式转后序式、停车场管理、迷宫求解、LZW压缩的实现等内容。
第8章介绍解决经典算法问题的内容,包括百钱买百鸡、五家共井、鸡兔同笼、猴子吃桃、舍罕王的赏赐、魔术方阵、汉诺塔、背包问题、马踏棋盘、八皇后等经典算法问题的求解代码,最后还介绍了一些趣味游戏的代码。
第9章介绍信息学奥赛部分试题的解题过程及对应的参考程序。
本书特点
由浅入深:本书从日常生活中常见的实例入手,引领读者进入算法和数据结构的抽象世界。
简单易学:由于数据结构、算法的知识比较抽象,使许多读者望而却步。本书在编写过程中,尽量使用读者容易理解的、简单的语言来描述算法和数据结构,对于复杂一些的内容,也是以图、表等形式介绍其原理,使读者能很快理解相关知识。
详细的代码:为了便于读者理解相应的知识点,本书对每一个知识点都提供了完整、详细的代码,读者可通过阅读代码,并上机调试来逐步体会、理解相应的知识点。
本书适合的读者
本书所有代码都是用C语言编写的,因此,要求读者首先对C语言的基本语法有所了解。本书适用于如下读者:








点击看大图






加载中...

