数据结构LeetCode在线编程实训(C/C++语言)——全程视频讲解版
- ISBN:9787302605201
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:340
- 出版时间:2022-10-01
- 条形码:9787302605201 ; 978-7-302-60520-1
本书特色
本书是《数据结构教程(第6版·微课视频·题库版)》(李春葆主编,清华大学出版社出版,简称《教程》)的配套在线编程实训指导书,详细给出了《教程》中所有在线编程题(共143道在线编程题,均来自LeetCode网站)的解题思路和参考源代码,提供了全部题目的讲解视频(含169个视频,累计30小时)。
内容简介
本书是《数据结构教程(第6版?微课视频?题库版)》(李春葆主编,清华大学出版社出版,简称《教程》)的配套在线编程实训指导书,详细给出了《教程》中所有在线编程题(共143道在线编程题,均来自LeetCode网站)的解题思路和参考源代码,提供了全部题目的讲解视频。书中在线编程题不仅涵盖数据结构课程的基本知识点,还融合了各个知识点的运用和扩展,学习、理解和借鉴这些参考答案是掌握和提高数据结构知识的**途径。本书自成一体,可以脱离《教程》单独使用。 本书适合高等院校计算机及相关专业学生使用,也适合IT企业面试者和编程爱好者研习。
目录
目录
配套资源
第1章绪论/
1.1LeetCode网站在线编程说明/
1.2基础算法设计/
1.2.1LeetCode7——整数反转★/
1.2.2LeetCode66——加一★/
1.2.3LeetCode1——两数之和★/
1.2.4LeetCode1588——所有奇数长度子数组的和★/
第2章线性表/
2.1顺序表及其应用/
2.1.1顺序表的实现/
2.1.2LeetCode67——二进制求和★/
2.1.3LeetCode27——移除元素★/
2.2有序顺序表及其应用/
2.2.1LeetCode26——删除有序数组中的重复项★/
2.2.2LeetCode80——删除有序数组中的重复项Ⅱ★★/
2.2.3LeetCode88——合并两个有序数组★/
2.2.4LeetCode4——寻找两个正序数组的中位数★★★/
2.3链表的实现/
2.3.1LeetCode707——设计链表★★/
2.3.2LeetCode382——链表随机结点★★/
2.4单链表及其应用/
2.4.1LeetCode203——移除链表元素★/
2.4.2LeetCode237——删除链表中的结点★/
2.4.3LeetCode206——翻转链表★/
2.4.4LeetCode92——翻转链表Ⅱ★★/
2.4.5LeetCode328——奇偶链表★★/
2.4.6LeetCode86——分隔链表★★/
2.4.7LeetCode24——两两交换链表中的结点★★/
2.4.8LeetCode876——链表的中间结点★/
2.4.9LeetCode234——回文链表★/
2.4.10LeetCode143——重排链表★★/
2.4.11LeetCode147——对链表进行插入排序★★/
2.4.12LeetCode25——k个一组翻转链表★★★/
2.4.13LeetCode725——分隔链表★★/
2.5有序单链表及其应用/
2.5.1LeetCode83——删除有序链表中的重复元素★/
2.5.2LeetCode82——删除有序链表中的重复元素Ⅱ★★/
2.5.3LeetCode21——合并两个有序链表★/
2.5.4LeetCode23——合并k个升序链表★★★/
第3章栈和队列/
3.1栈的实现/
3.1.1LeetCode1381——设计一个支持增量操作的栈★★/
3.1.2LeetCode155——*小栈★/
3.2栈的应用/
3.2.1STL中的stack栈容器/
3.2.2LeetCode20——有效的括号★/
3.2.3LeetCode1249——移除无效的括号★★/
3.2.4LeetCode946——验证栈序列★★/
3.2.5LeetCode1441——用栈操作构建数组★/
3.3表达式求值/
3.3.1LeetCode150——逆波兰表达式求值★★/
3.3.2LeetCode227——基本计算器Ⅱ★★/
3.3.3LeetCode224——基本计算器★★★/
3.4队列的实现/
3.4.1LeetCode622——设计循环队列★★/
3.4.2LeetCode641——设计循环双端队列★★/
3.5栈和队列相互实现/
3.5.1STL中的queue队列容器/
3.5.2LeetCode225——用队列实现栈★/
3.5.3LeetCode232——用栈实现队列★/
第4章串/
4.1基本串操作/
4.1.1LeetCode125——验证回文串★/
4.1.2LeetCode14——*长公共前缀★/
4.1.3LeetCode443——压缩字符串★★/
4.2串模式匹配/
4.2.1LeetCode28——实现strStr()★/
4.2.2LeetCode459——重复的子字符串★/
4.2.3LeetCode1408——数组中的字符串匹配★/
第5章递归/
5.1简单递归算法设计/
5.1.1LeetCode509——斐波那契数★/
5.1.2LeetCode50——Pow(x,n)★★/
5.1.3LeetCode206——翻转链表★/
5.1.4LeetCode234——回文链表★/
5.1.5LeetCode24——两两交换链表中的结点★★/
5.2复杂递归算法设计/
5.2.1LeetCode59——螺旋矩阵Ⅱ★★/
5.2.2LeetCode51——n皇后/
第6章数组和矩阵/
6.1数组/
6.1.1LeetCode485——*大连续1的个数★/
6.1.2LeetCode169——多数元素★/
6.1.3LeetCode283——移动零★/
6.2矩阵/
6.2.1LeetCode867——转置矩阵★/
6.2.2LeetCode1572——矩阵对角线元素的和★/
6.2.3LeetCode566——重塑矩阵★/
6.2.4LeetCode766——托普利茨矩阵★/
第7章树和二叉树/
7.1二叉树的先序、中序和后序遍历/
7.1.1二叉树的存储结构及其创建/
7.1.2LeetCode144——二叉树的先序遍历★★/
7.1.3LeetCode94——二叉树的中序遍历★★/
7.1.4LeetCode145——二叉树的后序遍历★★/
7.2二叉树的层次遍历/
7.2.1LeetCode102——二叉树的层次遍历★★/
7.2.2LeetCode107——二叉树的层次遍历Ⅱ★★/
7.3二叉树遍历算法的应用/
7.3.1LeetCode872——叶子相似的树★/
7.3.2LeetCode617——合并二叉树★/
7.3.3LeetCode236——二叉树的*近公共祖先★★/
7.3.4LeetCode226——翻转二叉树★/
7.3.5LeetCode114——二叉树展开为链表★★/
7.3.6LeetCode104——二叉树的*大深度★/
7.3.7LeetCode111——二叉树的*小深度★/
7.3.8LeetCode993——二叉树的堂兄弟结点★/
7.3.9LeetCode515——在每个树行中找*大值★/
7.3.10LeetCode513——找树左下角的值★/
7.3.11LeetCode101——对称二叉树★/
7.3.12LeetCode662——二叉树*大宽度★★/
7.3.13LeetCode112——路径总和★/
7.3.14LeetCode257——二叉树的所有路径★/
7.3.15LeetCode113——路径总和Ⅱ★★/
7.4二叉树的构造/
7.4.1LeetCode105——从先序与中序遍历序列构造二叉树★★/
7.4.2LeetCode106——从中序与后序遍历序列构造二叉树★★/
7.4.3LeetCode889——根据先序和后序遍历序列构造二叉树★★/
7.4.4LeetCode654——*大二叉树★★/
7.4.5LeetCode100——相同的树★/
7.4.6LeetCode572——另一棵树的子树★/
7.5树/
7.5.1树的存储结构/
7.5.2LeetCode589——N叉树的先根遍历★/
7.5.3LeetCode429——N叉树的层序遍历★★/
第8章图/
8.1图的基本应用/
8.1.1图的存储结构/
8.1.2LeetCode997——找到小镇的法官★/
8.1.3LeetCode1615——*大网络秩★★/
8.2图遍历及其应用/
8.2.1LeetCode200——岛屿数量★★/
8.2.2LeetCode547——省份数量★★/
8.2.3LeetCode785——判断二分图★★/
8.2.4LeetCode130——被围绕的区域★★/
8.2.5LeetCode1091——二进制矩阵中的*短路径★★/
8.2.6LeetCode994——腐烂的橘子★★/
8.2.7LeetCode542——01矩阵★★/
8.2.8LeetCode934——*短的桥★★/
8.2.9LeetCode797——所有可能的路径★★/
8.3*小生成树/
8.3.1LeetCode1584——连接所有点的*小费用★★/
8.3.2LeetCode684——冗余连接★★/
8.3.3LeetCode1631——*小体力消耗路径★★/
8.4*短路径/
8.4.1LeetCode743——网络延迟时间★★/
8.4.2LeetCode1334——阈值距离内邻居*少的城市★★/
8.5拓扑排序/
8.5.1LeetCode207——课程表★★/
8.5.2LeetCode210——课程表Ⅱ★★/
8.5.3LeetCode1462——课程表Ⅳ★★/
第9章查找/
9.1二分查找及其应用/
9.1.1LeetCode240——搜索二维矩阵Ⅱ★★/
9.1.2LeetCode704——二分查找★/
9.1.3LeetCode35——搜索插入位置★/
9.1.4LeetCode34——在有序数组中查找元素的**个和*后一个
位置★★/
9.1.5LeetCode33——搜索旋转有序数组★★/
9.1.6LeetCode81——搜索旋转有序数组Ⅱ★★/
9.1.7LeetCode162——寻找峰值★★/
9.1.8LeetCode4——寻找两个正序数组的中位数★★★/
9.2二叉排序树及其应用/
9.2.1LeetCode96——不同的二叉排序树★★/
9.2.2LeetCode95——不同的二叉排序树Ⅱ★★/
9.2.3LeetCode700——二叉排序树中的搜索★/
9.2.4LeetCode450——删除二叉排序树中的结点★/
9.2.5LeetCode235——二叉排序树的*近公共祖先★/
9.2.6LeetCode98——验证二叉排序树★★/
9.2.7LeetCode938——二叉排序树的范围和★/
9.3平衡二叉树及其应用/
9.3.1STL中的map和set容器/
9.3.2LeetCode110——平衡二叉树★/
9.3.3LeetCode1382——将二叉排序树变平衡★★/
9.3.4LeetCode826——安排工作以达到*大收益★★/
9.3.5LeetCode414——第三大的数★/
9.4哈希表及其应用/
9.4.1STL中的unordered_map容器/
9.4.2LeetCode705——设计哈希集合★/
9.4.3LeetCode146——LRU缓存机制★★/
9.4.4LeetCode215——数组中的第k个*大元素★★/
9.4.5LeetCode380——以常数时间插入、删除和获取随机元素★★/
第10章内排序/
10.1基本排序方法/
10.1.1LeetCode1528——重新排列字符串★/
10.1.2LeetCode912——排序数组★★/
10.2快速排序的应用/
10.2.1STL中的sort()排序算法/
10.2.2LeetCode148——排序链表★★/
10.2.3LeetCode922——按奇偶排序数组Ⅱ★/
10.3二路归并排序的应用/
10.3.1LeetCode148——排序链表★★/
10.3.2剑指Offer51——数组中的逆序对★★★/
10.3.3LeetCode315——计算右侧小于当前元素的个数★★★/
10.3.4LeetCode493——翻转对★★★/
10.4堆(优先队列)的应用/
10.4.1STL中的priority_queue容器/
10.4.2LeetCode973——*接近原点的k个点★★/
10.4.3LeetCode295——数据流的中位数★★★/
10.4.4LeetCode239——滑动窗口中的*大值★★★/
10.5topk问题/
10.5.1剑指Offer40——*小的k个数★/
10.5.2LeetCode215——数组中的第k个*大元素★★/
10.5.3LeetCode703——数据流中的第k大元素★/
10.5.4LeetCode347——前k个高频元素★★/
10.6基数排序及其应用/
10.6.1LeetCode75——颜色分类★★/
10.6.2LeetCode164——*大间距★★★/
附录A所有在线编程题目列表/
附录B在线编程实验报告示例/
作者简介
李春葆,武汉大学计算机学院教授。主要研究方向为数据挖掘和算法设计,先后主持和参加多个大型研究项目。主要为本科生讲授数据结构(15年以上)和软件工程等课程,为研究生讲授软件开发新技术、数据仓库与数据挖掘等课程,并出版十多部精品著作。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0