图书推荐|图解算法: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语言实现+视频教学版——京东

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/281440.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是高防CDN?

高防CDN(Content Delivery Network,内容分发网络)在网络安全中的作用非常重要。它通过一种特别的方式来保护网站和网络应用程序免受大规模DDoS攻击。以下是它的一些主要优势: 01 分布式防护 高防CDN通过在全球各地设立大量的节点…

【晴问算法】入门篇—贪心算法—区间不相交问题

题目描述 给定n个开区间,从中选择尽可能多的开区间,使得这些开区间两两没有交集。 输入描述 输出描述 输出一个整数,表示最多选择的开区间个数。 样例1输入 4 1 3 2 4 3 5 6 7 输出 3 解释 最多选择(1,3)、(3,5)、(6,7)三个区间,它…

2024开年首展,加速科技展台“热辣滚烫”

3月20日,备受瞩目的半导体行业盛会SEMICON China 2024在上海新国际博览中心盛大启幕,展会汇集了来自全球的半导体领域顶尖企业与专业人士。加速科技作为业界领先的半导体测试设备供应商携重磅测试设备及解决方案精彩亮相,展示了最新的半导体测…

WRF模型教程(ububtu系统)-WPS(WRF Pre-Processing System)概述

一、WPS简介 WRF 预处理系统 (WRF Pre-Processing System,WPS) ,集成了基于Fortran和C编写的程序,这些程序主要用于处理输入到real.exe的数据。WPS主要有三个程序和一些辅助程序。 二、各程序介绍 主要的程序为geogrid.exe、ungrib.exe、met…

uniapp无感登录封装

在全局请求封装的基础上稍作完善 在响应拦截处判断返回接口状态过期的话就执行:记录过期的接口 > 登录 > 重新发送请求 封装记录和重发请求逻辑 let requestsQueue []; // 请求队列// 记录请求队列 export function recordRequests(config) {if (config.sou…

Spring Cloud Alibaba微服务从入门到进阶(七)(服务容错-Sentinel)

雪崩效应 我们把基础服务故障,导致上层服务故障,并且这个故障不断放大的过程,成为雪崩效应。 雪崩效应,往往是因为服务没有做好容错造成的。 微服务常见容错方案 仓壁模式 比如让controller有自己独立的线程池,线程池满…

【Java Web基础】一些网页设计基础(二)

文章目录 1. Bootstrap导航栏设计1.1 代码copy与删减效果1.2 居中属性与底色设置1.3 占不满问题分析1.4 字体颜色、字体大小、字体间距设置1.5 修改超链接hover颜色,网站首页字体颜色 1. Bootstrap导航栏设计 1.1 代码copy与删减效果 今天设计导航栏,直…

微调alpaca-lora遇到的一些问题

1、环境简介 环境: 系统:Ubuntu torch:2.2.1 python:3.10 gpu:V100 16g peft:0.9.0 使用PEFT中的lora方式微调llama-2-7b-hf,项目地址:alpaca-lora 2、混合精度训练Tensor相互计算会…

PCL点云处理之中值计算(二百三十三)

PCL点云处理之中值计算(二百三十三) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 读取的点云是无序散乱的,点云坐标包括xyz三个维度,以常用的z高程维度为例,计算其高程中值,获取对应的点。 主要涉及到根据高程对点云进行排序的操作,下面是具体的代码和结果。 …

Git版本管理工具

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: Git使用教程-配置管理 git reset详解-CSDN博客 3、Git使用不完全指南&am…

C语言每日一题07

一、题目 二、解析 逻辑与 &&、逻辑或 || 均有“短路”特性: 逻辑与&&“短路”:当逻辑与&&的左操作数为逻辑 “假“ 时,就足以判断该逻辑运算的结果为假了,故右操作数就不再被执行。 逻辑或||“短路”&#xff1a…

python中获取当前项目的目录

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 今天介绍一下,如何在python中获取当前项目所在的目录,而不是运行脚本的目录。 class ProjectPaths:# 初始化时获取当前脚本的路径staticmethoddef get_script_dir():…

Leetcode 994. 腐烂的橘子

心路历程: 一开始以为和刚做过的岛屿问题很像,只不过是把岛屿问题换成BFS去做,然后再加上一些计数的规则。结果做完后发现只能通过一半左右的测试用例,发现有一个逻辑错误在于,当腐烂的橘子位于两端时,可以…

4.1 用源文件写汇编代码

汇编语言 1. 源程序 1.1 伪指令 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行伪指令没有对应的机器指令,最终不被CPU所执行伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作 1.2…

【C++】—— 装饰器模式

目录 (一)什么是装饰器模式 (二)为什么要使用装饰器模式 (三)装饰器模式的实现步奏 (四)代码示例 (五)装饰器模式优缺点 (一)什么…

Codeforces Round 935 (Div. 3)A~E

A. Setting up Camp 题目分析: 有三种人,内向、外向、综合,内向必须独自一个帐篷,外向必须3个人一个帐篷,综合介于1~3人一个帐篷,我们发现非法情况只会存在外向的人凑不成3个人一个帐篷的情况,因外向不够可…

JavaEE--小Demo

目录 下载包 配置 修改文件 pom.xml application.properties 创建文件 HelloApi.java GreetingController.java Greeting.java DemoApplication.java 运行包 运行命令 mvn package cd target dir java -jar demo-0.0.1-SNAPSHOT.jar 浏览器测试结果 下载包 …

为什么大家都在“挺”鸿蒙?

试想某一天,应用软件能够在手机、电视、手表甚至汽车等设备上,实现无缝流转、纵享丝滑。 这不仅是畅想,而是鸿蒙正在布局的“遥遥领先”。 随着HarmonyOS NEXT鸿蒙星河版面向开发者开放申请、鸿蒙原生应用版图的基本成型,这个国…

智慧水务:雨季山区水域水务智能化监控与监测管理方案

一、方案背景 雨季的水务管理对于各区县来说,无疑是一项至关重要的任务。夏季雨水充沛,江河湖泊水位上涨,山洪、上游排水等情况时有发生,给各地的水务设施和防汛工作带来了严峻的挑战。针对区县的各类水域监管场景,需…

如何在edge上安装拓展weTab

1.点解管理拓展 2.点击获取拓展 3.搜索框输入"wetab"并搜索 4.点击获取按钮 5.点击之后跳出弹窗,点击"添加拓展" 6.回到拓展页面,找到wetab拓展,点击右侧启动拓展 7.打开新的界面,wetab已经启动 8.自定义界面 1. 右键图标可以进行删除操作 2.左下角有个设…