网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | C/C++常用算法手册 |
分类 | 人文社科-社会科学-语言文字 |
作者 | 陈黎娟编 |
出版社 | 中国铁道出版社有限公司 |
下载 | ![]() |
简介 | 作者简介 目录 章算法概述 1.1什么是算法1 1.2算法的发展历史和分类2 1.3算法与相关概念的区别3 1.3.1算法和公式的关系4 1.3.2算法与程序的关系4 1.3.3算法与数据结构的关系4 1.4算法是计算机科学的灵魂5 1.5算法的表示6 1.5.1自然语言表示6 1.5.2流程图表示6 1.5.3N-S图表示8 1.5.4伪代码表示8 1.6伪代码与算法程序的对应9 1.6.1基本对应规则9 1.6.2分支结构10 1.6.3循环结构10 1.6.4数组及函数11 1.7算法的性能评价11 1.8算法实例12 1.8.1查找数字12 实例1-1:在拥有20个整数数据的数组中查找某个数据13 1.8.2创建项目14 1.8.3编译执行15 1.9算法的新进展16 1.10小结:算法是程序设计的灵魂和基础17 第2章数据结构 2.1数据结构概述18 2.1.1什么是数据结构18 2.1.2数据结构中的基本概念19 2.1.3数据结构的内容19 2.1.4数据结构的分类21 2.1.5数据结构的几种存储方式21 2.1.6数据类型22 2.1.7常用的数据结构23 2.1.8选择合适的数据结构解决实际问题24 2.2线性表24 2.2.1什么是线性表24 2.2.2线性表的基本运算25 2.3顺序表结构26 2.3.1准备数据26 2.3.2初始化顺序表27 2.3.3计算顺序表长度27 2.3.4插入结点27 2.3.5追加结点28 2.3.6删除结点28 2.3.7查找结点29 2.3.8显示所有结点29 2.3.9顺序表操作示例30 实例2-1:对某班级学生学号、姓名和年龄数据进行顺序表操作30 2.4链表结构33 2.4.1什么是链表结构33 2.4.2准备数据34 2.4.3追加结点34 2.4.4插入头结点35 2.4.5查找结点36 2.4.6插入结点37 2.4.7删除结点38 2.4.8计算链表长度38 2.4.9显示所有结点39 2.4.10链表操作示例39 实例2-2:使用链表操作实现用户管理39 2.5栈结构43 2.5.1什么是栈结构43 2.5.2准备数据44 2.5.3初始化栈结构44 2.5.4判断空栈45 2.5.5判断满栈45 2.5.6清空栈.45 2.5.7释放空间46 2.5.8入栈46 2.5.9出栈46 2.5.10读结点数据47 2.5.11栈结构操作示例47 实例2-3:使用栈结构实现学生数据操作47 2.6队列结构50 2.6.1什么是队列结构50 2.6.2准备数据50 2.6.3初始化队列结构51 2.6.4判断空队列51 2.6.5判断满队列52 2.6.6清空队列52 2.6.7释放空间52 2.6.8入队列52 2.6.9出队列53 2.6.10读结点数据53 2.6.11计算队列长度54 2.6.12队列结构操作示例54 实例2-4:使用队列结构实现学生数据操作54 2.7树结构57 2.7.1什么是树结构57 2.7.2树的基本概念58 2.7.3二叉树58 2.7.4准备数据62 2.7.5初始化二叉树62 2.7.6添加结点63 2.7.7查找结点64 2.7.8获取左子树65 2.7.9获取右子树65 2.7.10判断空树65 2.7.11计算二叉树深度66 2.7.12清空二叉树66 2.7.13显示结点数据66 2.7.14遍历二叉树67 2.7.15树结构操作示例69 实例2-5:经典二叉树的遍历(4种遍历方式)69 2.8图结构71 2.8.1什么是图结构71 2.8.2图的基本概念72 2.8.3准备数据76 2.8.4创建图78 2.8.5清空图78 2.8.6显示图79 2.8.7遍历图79 2.8.8图结构操作示例80 实例2-6:使用深度优先遍历算法遍历图操作程序81 2.9小结:数据结构+算法=程序83 第3章基本算法思想 3.1常用算法思想概述84 3.2穷举算法思想84 3.2.1穷举算法基本思想85 3.2.2穷举算法示例85 实例3-1:鸡兔同笼问题85 3.3递推算法思想87 3.3.1递推算法基本思想87 3.3.2递推算法示例87 实例3-2:兔子产仔问题87 3.4递归算法思想89 3.4.1递归算法基本思想89 3.4.2递归算法示例90 实例3-3:求数字12的阶乘90 3.5分治算法思想91 3.5.1分治算法基本思想91 3.5.2分治算法示例91 实例3-4:从30枚银币中找出仅有的1枚假银币91 3.6概率算法思想95 3.6.1概率算法基本思想95 3.6.2概率算法示例95 实例3-5:利用蒙特卡罗算法计算圆周率π95 3.7贪心算法思想97 3.7.1贪心算法基本思想97 3.7.2贪心算法示例98 实例3-6:利用贪心算法思想兑换硬币98 3.8小结:思路决定出路99 第4章排序算法 4.1排序算法概述100 4.2冒泡排序法101 4.2.1冒泡排序算法101 4.2.2冒泡排序算法示例102 实例4-1:对包含10个数字的整型数组进行排序102 4.3选择排序法104 4.3.1选择排序算法104 4.3.2选择排序算法示例105 实例4-2:对包含10个数字的整型数组进行排序105 4.4插入排序法106 4.4.1插入排序算法107 4.4.2插入排序算法示例108 实例4-3:对包含10个数字的整型数组进行排序108 4.5Shell排序法109 4.5.1Shell排序算法109 4.5.2Shell排序算法示例111 实例4-4:对包含10个数字的整型数组进行排序111 4.6快速排序法112 4.6.1快速排序算法112 4.6.2快速排序算法示例114 实例4-5:对包含18个数字的整型数组进行排序114 4.7堆排序法116 4.7.1堆排序算法116 4.7.2堆排序算法示例120 实例4-6:对包含10个数字的整型数组进行排序120 4.8合并排序法122 4.8.1合并排序算法122 4.8.2合并排序算法示例125 实例4-7:对包含15个数字的整型数组进行排序125 4.9排序算法的效率128 4.10排序算法的其他应用128 4.10.1反序排序129 4.10.2反序插入排序算法示例129 实例4-8:对包含10个数字的整型数组进行排序129 4.10.3字符串的排序131 4.10.4字符串排序示例132 实例4-9:用快速排序算法对包含16个字母的字符串进行排序132 4.10.5字符串数组的排序133 4.10.6字符串数组排序示例134 实例4-10:用快速排序算法对包含5个单词的字符串数组进行排序134 4.11小结:排序是最基本的算法136 第5章查找算法 5.1查找算法概述137 5.2顺序查找138 5.2.1顺序查找算法138 5.2.2顺序查找操作示例138 实例5-1:在包含15个数字的数组中查找第7个数字138 5.3折半查找140 5.3.1折半查找算法140 5.3.2折半查找操作示例142 实例5-2:在包含15个数字的数组中查找1个数字142 5.4小结:查找是最基本的应用144 …… 内容推荐 本书以实用性、系统性、完整性和前沿性为特点,向读者详细介绍了C/C++算法的基本思想、算法在不同领域的经典应用示例以及程序员面试中的典型面试题;除此之外,在本书的二维码下载包中,我们提供给读者共计45讲、超过600分钟的C/C++算法讲解视频,旨在帮助读者在学习过程中 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。