新書推薦:
《
中国王朝内争实录:宠位厮杀
》
售價:HK$
61.6
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:HK$
44.6
《
未来特工局
》
售價:HK$
55.8
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:HK$
54.9
《
英国简史(刘金源教授作品)
》
售價:HK$
98.6
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
77.3
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
|
編輯推薦: |
用Python实现,在军队级获奖项目中运用数据结构知识实现加密。
|
內容簡介: |
本书内容主要包括绪论,线性表,栈与队列,串、数组和广义表,树,图,查找,排序,以及项目设计指导。每章开始都给出本章导读和教学目标,使学生在学习之前就能明白要重点掌握的内容;章后附有习题及实训,以便学生巩固所学知识。项目设计指导一章给出了几种设计题目及设计的思想供学生选择,有助于教师指导学生完成小型项目设计任务。 本书可作为高等普通本科院校,高等职业本科、专科学校,成人高等学校计算机类专业或信息类相关专业的教材,也可作为非计算机专业学生的选修教材,还可作为计算机应用人员和工程技术人员的自学参考书。
|
目錄:
|
第1章绪论1
1.1数据结构的基本概念1
1.1.1数据结构的定义1
1.1.2数据的逻辑结构及存储结构3
1.1.3数据结构有关概念及术语4
1.2算法和算法描述5
1.2.1算法5
1.2.2算法描述6
1.3算法分析6
1.3.1空间复杂度6
1.3.2时间复杂度7
1.4本章小结8
习题18
第2章线性表11
2.1线性表的逻辑结构11
2.1.1线性表的定义11
2.1.2线性表的基本操作12
2.2线性表的顺序存储结构13
2.2.1线性表的顺序存储——顺序表13
2.2.2顺序表基本操作的实现13
2.2.3顺序表的应用举例18
2.3线性表的链式存储结构19
2.3.1线性表的链式存储——链表19
2.3.2单链表21
2.3.3循环链表42
2.3.4双向链表43
2.3.5单链表应用举例54
2.4本章小结59习题259
实训162
第3章栈与队列66
3.1栈66
3.1.1栈的定义66
3.1.2栈的顺序存储及其基本操作的实现67
3.1.3栈的链式存储及其基本操作的实现75
3.1.4栈的应用举例81
3.2队列84
3.2.1队列的定义84
3.2.2队列的顺序存储及其基本操作的实现84
3.2.3队列的链式存储及其基本操作的实现92
3.2.4队列的应用举例97
3.3本章小结98
习题398
实训2102
◆数据结构(Python版)目录第4章串、数组和广义表107
4.1串107
4.1.1串的定义和特性107
4.1.2串的顺序存储及其基本操作实现108
4.1.3串的链式存储及其基本操作实现123
4.1.4串的应用举例124
4.2数组124
4.2.1数组的定义和运算124
4.2.2数组的顺序存储结构125
4.2.3矩阵的压缩存储126
4.2.4稀疏矩阵127
4.3广义表135
4.3.1广义表的定义和特性135
4.3.2广义表的存储结构及其基本操作实现136
4.4本章小结137
习题4138
实训3139
第5章树143
5.1树的概述143
5.1.1树的定义及基本术语143
5.1.2树的表示144
5.2二叉树及其遍历145
5.2.1二叉树的定义145
5.2.2二叉树的重要性质145
5.2.3二叉树的存储结构147
5.2.4二叉树的遍历149
5.3线索二叉树158
5.3.1线索二叉树的定义159
5.3.2线索二叉树的基本操作162
5.4树和森林162
5.4.1树的存储结构162
5.4.2二叉树与树的转换167
5.4.3森林与二叉树的转换167
5.4.4树与森林的遍历168
5.5二叉树应用实例169
5.5.1二叉排序树169
5.5.2平衡二叉树177
5.5.3B树179
5.5.4哈夫曼树182
5.6本章小结184
习题5185
实训4189
第6章图192
6.1图的基本概念192
6.1.1图的定义192
6.1.2图的基本术语193
6.2图的存储结构195
6.2.1邻接矩阵195
6.2.2邻接表197
6.3图的遍历201
6.3.1深度优先搜索201
6.3.2广度优先搜索205
6.4最小生成树209
6.4.1普里姆算法210
6.4.2克鲁斯卡尔算法214
6.5最短路径220
6.5.1单源最短路径220
6.5.2每对顶点之间的最短路径225
6.6拓扑排序228
6.6.1AOV网228
6.6.2拓扑排序的实现229
6.7本章小结232
习题6233
实训5235
第7章查找239
7.1查找的基本概念239
7.2顺序查找240
7.3二分查找242
7.4分块查找244
7.5哈希表查找248
7.5.1哈希表查找的基本概念248
7.5.2构造哈希函数的方法249
7.5.3哈希冲突的解决方法251
7.5.4哈希查找效率的分析256
7.6本章小结256
习题7257
实训6260
第8章排序262
8.1排序的基本概念262
8.2插入排序263
8.2.1直接插入排序264
8.2.2二分法插入排序265
8.2.3希尔排序266
8.3选择排序268
8.3.1简单选择排序268
8.3.2堆排序269
8.4交换排序273
8.4.1冒泡排序273
8.4.2快速排序275
8.5归并排序277
8.6基数排序279
8.7本章小结282
习题8283
实训7286
第9章项目设计指导291
9.1项目设计标准291
9.2项目设计题目及设计要求292
9.3计算机线程池正在运行的线程检测295
9.4电影票预订系统实例297
9.5本章小结304
|
內容試閱:
|
“数据结构”是计算机学科的核心课程,也是计算机专业的一门重要专业基础课。这门课程主要研究如何合理地组织数据;怎样在计算机中有效地表示数据和处理数据。这门课程的教学要求是: 使学生学会分析、研究计算机加工的数据结构的特性,以便选择适当的逻辑结构、存储结构及相应的算法,并初步掌握算法的时间分析和空间分析技术。另外,学习本课程也是复杂程序设计的训练过程,训练学生编写的程序结构清楚、正确易读,符合软件工程的规范,为后续课程的学习打下良好的基础。人工智能时代,数据结构的知识在各种知识图谱、算法模型设计中的作用越来越突出。
本书共9章。第1章介绍数据结构和算法的基本概念和常用术语;第2~6章介绍基本的数据结构,分别讨论线性表,栈与队列,串、数组和广义表,树和图几种结构类型数据的逻辑结构和存储结构,以及相应的算法;第7章和第8章介绍了几种常用的查找和排序方法;第9章是本书的特色,增加了项目设计指导的内容,使学生在学完基本知识的同时,能够综合利用所学知识完成一些实际课题的设计与制作。另外,为了便于教学,章后还配有习题和实训。本书概念表述清楚、简洁,内容由浅入深,强调实践环节,利于教学和自学。
本书采用Python语言作为数据结构和算法的描述语言,之所以选择Python语言作为全书的描述语言,是因为Python语言在人工智能中广泛应用,书中的全部程序学生上机就可以按照操作步骤运行。全代码实现考虑程序设计语言学习环节相对薄弱的同学,以使他们也能学会数据结构,而不为编写程序所难倒,从而放弃该门课程的学习。
本书可作为高等普通本科院校,高等职业本科、专科学校,成人高等学校计算机类专业或信息类相关专业的教材,也可作为非计算机专业学生的选修教材,还可作为计算机应用人员和工程技术人员的自学参考书。本书由乔国荣编著。本书作者讲授的“数据结构”课程在2009年获得辽宁省精品课。
在本书的编写过程中得到了作者所在单位领导与同事的大力支持,在此一并表示衷心的感谢。
由于编者水平有限,书中难免有不足之处,恳请读者批评指正。
编者2022年9月
|
|