图书推荐|图解算法:C语言实现+视频教学版

2024-03-20 14:04

本文主要是介绍图书推荐|图解算法:C语言实现+视频教学版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

零负担理解数据结构及其算法的设计,零基础也能快速上手编程。

图片

本书内容

《图解算法:C语言实现+视频教学版》是一本综合讲述数据结构及其算法的入门书,力求简洁、清晰、严谨、且易于学习和掌握。

《图解算法:C语言实现+视频教学版》从介绍计算思维与程序设计两者之间的关系展开,首先讲述如何培养计算思维的4个部分:分解、模式识别、模式概括与抽象、算法。接着介绍经典算法的分类:分治法、递归法、贪心法、动态规划法、迭代法、枚举法、回溯法。还介绍常用数据结构:树结构、图论及哈希表。介绍了这些基础知识之后,在接下来的各章中分别介绍排序算法、查找算法、数组与链表相关算法、信息安全基础算法、堆栈与队列相关算法、树结构相关算法、图结构相关算法及人工智能基础算法,并搭配了C语言实现的完整范例程序。

《图解算法:C语言实现+视频教学版》每章还配有课后习题及参考答案,读者可边学边练,非常适合想学习数据结构和算法的初学者使用,也适合作为高等院校计算机及相关专业的教材。

本书作者

吴灿铭,现任荣钦科技股份有限公司执行长,美国Rochester Institute of Technology计算机科学研究所毕业,长期从事信息教育及计算机图书写作的工作,计算机图书著作包括计算机概论、数据结构、办公室电子数据处理、互联网等相关题材,并监制过多套游戏以及教学软件的研发。

胡昭民,现任荣钦科技股份有限公司董事长,美国Rochester Institute of Technology计算机科学研究所毕业,工作专业领域包括:信息科技公司经营、培训讲师、信息图书及奇幻小说写作等工作,并策划过多套游戏及教学软件的研发及主导营销计划,由于写作资历丰富,是目前资深且知名的计算机图书作家。

编辑推荐

零负担理解数据结构及其算法的设计,零基础也能快速上手编程。

采用C语言演绎算法思维。丰富图例阐述算法基础,将算法做简明的诠释及举例。强化程序设计逻辑,以C语言实现各种算法在程序设计领域的应用。

设计难易适中的习题,提供进一步演练,验收学习效果,精心录制的教学视频。化繁为简,编程小白也能读懂的算法书。

一本轻量级算法书,是你提高程序设计水平,提升自我价值的最佳投资。

本书目录

第1章  进入算法的世界1

1.1  计算思维2

1.1.1  分解3

1.1.2  模式识别4

1.1.3  模式概括与抽象4

1.1.4  算法5

1.2  计算思维的脑力大赛5

1.2.1  三分球比赛灯记录器6

1.2.2  图像字符串编码6

1.2.3  计算机绘图指令实践7

1.2.4  炸弹超人游戏7

1.3  生活中处处都存在算法8

1.3.1  算法的条件9

1.3.2  时间复杂度O(f(n))11

1.4  课后习题13

第2章  经典算法介绍14

2.1  分治法14

2.2  递归法15

2.3  贪心法18

2.4  动态规划法19

2.5  迭代法20

2.6  枚举法23

2.7  回溯法26

2.8  课后习题32

第3章  常用数据结构33

3.1  认识数据结构34

3.2  常见的数据结构36

3.2.1  数组36

3.2.2  链表38

3.2.3  堆栈39

3.2.4  队列40

3.3  树结构简介41

3.3.1  树的基本概念41

3.3.2  二叉树42

3.4  图论简介43

3.5  哈希表45

3.6  课后习题46

第4章  排序算法47

4.1  认识排序47

4.1.1  排序的分类48

4.1.2  排序算法分析48

4.2  冒泡排序法49

4.3  选择排序法52

4.4  插入排序法55

4.5  希尔排序法57

4.6  合并排序法60

4.7  快速排序法61

4.8  基数排序法65

4.9  课后习题68

第5章  查找算法69

5.1  常见查找算法的介绍69

5.2  顺序查找法70

5.3  二分查找法72

5.4  插值查找法74

5.5  斐波那契查找法76

5.6  课后习题81

第6章  数组与链表相关算法82

6.1  矩阵算法与深度学习82

6.1.1  矩阵相加84

6.1.2  矩阵相乘85

6.1.3  转置矩阵87

6.1.4  稀疏矩阵89

6.2  数组与多项式91

6.3  建立单向链表93

6.3.1  单向链表的串接94

6.3.2  单向链表中新节点的插入97

6.3.3  单向链表中节点的删除102

6.3.4  单向链表的反转105

6.4  课后习题109

第7章  信息安全基础算法110

7.1  数据加密111

7.1.1  对称密钥加密系统111

7.1.2  非对称密钥加密系统与RSA算法112

7.1.3  认证113

7.1.4  数字签名113

7.2  哈希算法114

7.2.1  除留余数法114

7.2.2  平方取中法115

7.2.3  折叠法116

7.2.4  数字分析法117

7.3  碰撞与溢出处理118

7.3.1  线性探测法118

7.3.2  平方探测法120

7.3.3  再哈希法120

7.3.4  链表法121

7.4  课后习题127

第8章  堆栈与队列相关算法128

8.1  以数组来实现堆栈128

8.2  以链表来实现堆栈131

8.3  汉诺塔问题的求解算法134

8.4  八皇后问题的求解算法139

8.5  以数组来实现队列142

8.6  以链表来实现队列145

8.7  双向队列149

8.8  优先队列153

8.9  课后习题154

第9章  树结构相关算法155

9.1  以数组来实现二叉树156

9.2  以链表来实现二叉树158

9.3  二叉树的遍历161

9.4  二叉树节点的查找165

9.5  二叉树节点的插入167

9.6  二叉树节点的删除170

9.7  堆积树排序法172

9.8  优化二叉查找树176

9.8.1  扩充二叉树176

9.8.2  哈夫曼树178

9.9  平衡树179

9.10  高级树结构的应用180

9.10.1  博弈树180

9.10.2  B树182

9.10.3  二叉空间分割树184

9.10.4  四叉树和八叉树185

9.11  课后习题187

第10章  图结构相关算法188

10.1  图的定义188

10.1.1  无向图188

10.1.2  有向图189

10.2  图的数据表示法191

10.2.1  邻接矩阵法191

10.2.2  邻接链表法193

10.2.3  邻接复合链表法196

10.2.4  索引表格法197

10.3  图的遍历197

10.3.1  深度优先遍历197

10.3.2  广度优先遍历201

10.4  生成树204

10.4.1  深度优先生成树和广度优先生成树205

10.4.2  最小生成树205

10.4.3  Kruskal算法206

10.4.4  Prim算法210

10.5  图的最短路径212

10.5.1  单点对全部顶点——Dijkstra算法与A*算法212

10.5.2  两两顶点间的最短路径——Floyd算法218

10.6  课后习题221

第11章  人工智能基础算法224

11.1  机器学习简介225

11.1.1  监督式学习226

11.1.2  半监督式学习227

11.1.3  无监督式学习与K均值聚类227

11.1.4  强化学习229

11.2  认识深度学习230

11.2.1  人工神经网络231

11.2.2  卷积神经网络234

11.2.3  循环神经网络239

11.3  课后习题242

附录A  课后习题与解答243

本文摘自《图解算法:C语言实现+视频教学版》,获出版社和作者授权发布

图解算法:C语言实现+视频教学版——京东

这篇关于图书推荐|图解算法:C语言实现+视频教学版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829687

相关文章

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入