- ISBN:9787302565932
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:220
- 出版时间:2021-04-01
- 条形码:9787302565932 ; 978-7-302-56593-2
本书特色
算法是软件开发必不可少的要素之一。从机器学习、人工智能到数据存储、界面展示等都要用到算法。数据结构是算法的基础,数组、字典、堆、栈、链表、树、图等数据结构就像建造一座楼所需要的梁、柱子、墙、楼板、楼梯等组件,根据需要用各种算法把它们组装起来,*终开发成一个可用的项目或产品。“数据结构与算法”课程目前在各高校均有开设,但多偏向理论教学,与开发实践有一定距离。本书用图解方式讲解算法,利于读者理解;以IT企业面试题作为案例,贴合企业实际需求。全书内容包括: 数据结构; 递归; 栈和队列; 链表; 数组; 树结构; 堆结构; 散列表; 字典树; 图结构; 排序。
内容简介
本书是一部论述使用Python语言描述数据结构与算法的新形态图书,采用图解方式和Python语言来描述各类算法的实现过程,讲解通俗易懂,易于理解,切实做到深入浅出。同时,针对企业的用人需求本书提供了丰富的面试题,具有很强的实战性。本书共分11章,包括数据结构的分类和基本运算、递归、栈和队列、链表、数组、树结构、堆结构、散列表、字典树、图和排序算法。读者使用时,学习顺序未必全按书中章节安排,可以依照自己的需求,做适当调整。为方便读者学习,作者专门录制了配套的微课视频,并提供配套程序代码,供读者使用。本书既适合有一定编程基础的初学者,也适合想巩固相关算法知识的软件开发人员,同时也适合作为各高校计算机专业“数据结构与算法”课程的教材。
目录
第1章数据结构的分类和基本运算
1.1数据的逻辑结构
1.2数据的存储结构
1.3数据结构的基本运算
第2章递归
2.1递归调用
2.2递归方式打印九九乘法表
2.3舍罕王赏麦
2.4递归遍历文件
2.5递归实现斐波那契数列
2.6循环实现斐波那契数列
2.7兔子繁殖问题
第3章栈和队列
3.1栈结构
3.2用栈做十进制与二进制的转换
3.3*小栈
3.4队列
3.5两个栈实现一个队列
3.6以递归方式反转一个栈
3.7递归加栈实现汉诺塔
第4章链表
4.1链表结构
4.2单向链表
4.2.1单向链表的追加和遍历
4.2.2单向链表的随机访问
4.2.3单向链表的随机插入
4.2.4单向链表的随机删除
4.2.5从尾到头打印单向链表
4.2.6反转一个单向链表
4.2.7反转单向链表中索引n~m处节点
4.2.8合并多个链表
4.2.9合并两个有序链表
4.2.10相交链表
4.2.11判断两个链表是否相交
4.2.12构造带环的单向链表
4.2.13判断链表是否有环并找出环的闭合点
4.3单向循环链表
4.3.1单向循环链表的追加和遍历
4.3.2约瑟夫环
4.4双向链表
4.4.1双向链表的追加和遍历
4.4.2双向链表的随机插入和删除
4.4.3双向链表实现插值法排序
4.5双向循环链表
4.5.1双向循环链表的追加和遍历
4.5.2双向循环链表的随机插入和随机删除
第5章数组
5.1数组结构
5.2消除数组中重复元素
5.3求数组中的*大值和次大值
5.4求一个数组的支点元素
5.5求数组的幸运值
5.6在数组中实现二分法查找
5.7求无序数组中*长连续子串的长度
5.8求数组中出现次数超过总数一半的数
5.9环路加油站问题
第6章树结构
6.1树、森林、二叉树
6.2二叉排序树
6.2.1二叉排序树的插入与中序遍历
6.2.2二叉排序树的深度优先遍历和广度优先遍历
6.2.3二叉排序树的前序遍历
6.2.4二叉排序树的后序遍历
6.2.5二叉排序树的广度优先遍历
6.2.6二叉排序树的节点删除
6.2.7二叉排序树的按层遍历
6.2.8求二叉树的*大深度、*小深度
6.2.9求二叉树中任意两个节点之间的*低公共祖先
6.3满二叉树
6.3.1满二叉树的构建
6.3.2判断一棵二叉树是不是满二叉树
6.4完全二叉树
6.4.1完全二叉树的插入
6.4.2查看完全二叉树
6.4.3判断一棵二叉树是不是完全二叉树
6.5平衡二叉树(AVL树)
6.5.1平衡二叉树的节点插入
6.5.2平衡二叉树的节点删除
6.6红黑树(RBTree)
6.6.1红黑树的插入
6.6.2红黑树的遍历操作
6.6.3红黑树的删除操作
6.6.4完整代码实现
6.6.5红黑树练习题
第7章堆结构
7.1堆
7.2二叉堆
7.2.1二叉堆的插入
7.2.2二叉堆的遍历
7.2.3二叉堆的删除
7.3大(小)顶堆
7.3.1大(小)顶堆的插入
7.3.2大(小)顶堆的堆排序
第8章散列表
8.1散列表(哈希表)
8.2散列函数
8.3求两数组交集
8.48个方向
第9章字典树
9.1字典树结构
9.2字典树的存入
9.3字典树的检索
9.4遍历字典树中的键
第10章图
10.1图结构
10.2图的表示
10.2.1邻接矩阵
10.2.2邻接表
10.2.3邻接矩阵和邻接表的使用场景
10.2.4边的权重
10.3图结构的代码实现
10.3.1邻接矩阵方式
10.3.2邻接表方式
10.4图的遍历
10.4.1图结构的深度优先遍历和广度优先遍历
10.4.2图遍历的代码实现
10.5生成树和*小生成树
10.5.1Prim算法求取*小生成树
10.5.2*小生成树的代码实现
第11章排序算法
11.1排序算法的几个基本概念
11.1.1排序的稳定性和不稳定性
11.1.2排序的时间复杂度
11.1.3排序的空间复杂度
11.2冒泡排序
11.3选择排序
11.4插入排序
11.5希尔排序
11.6归并排序
11.7快速排序
11.8计数排序
11.9桶排序
11.10基数排序
11.1110种常见排序算法的复杂度
作者简介
何韬 现任TCL教育科技有限责任公司资深工程师。曾就职于互爱(北京)、用友软件、大唐电信、IBM等IT企业,主持及参与过多个大型IT产品和项目的开发,有丰富的IT产品设计和开发经验。目前致力于IT教育领域,努力把IT实战开发经验与教学有机结合起来,服务于IT产业人才培养。
-
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
落洼物语
¥8.7¥28.0 -
中国当代文学名篇选读
¥19.1¥53.0 -
中医基础理论
¥50.7¥59.0 -
北大人文课(平装)
¥13.9¥45.0 -
外国教育史-第2版
¥24.4¥40.0 -
宪法-第二版
¥12.2¥29.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
EPLAN电气设计
¥29.9¥39.8 -
闯进数学世界――探秘历史名题
¥21.3¥32.8 -
企业法务教程
¥34.8¥49.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
金融学
¥29.9¥49.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
三国史
¥27.5¥50.0 -
飞机总体设计
¥46.8¥78.0 -
古代汉语(第四册)
¥16.1¥35.0 -
编辑审稿实务教程
¥35.1¥45.0 -
管理学:原理与方法(第7版)(博学.大学管理类)/周三多
¥30.9¥49.0 -
海商法-第四版
¥30.2¥48.0