图书推荐|图解算法: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

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg