数据结构是计算机及相关专业的核心课程,是计算机程序设计的基础,是程序员和许多高校研究生入学考试的必考科目。\r\n 本书共分10章,第1章是数据结构的概述;后9章分别介绍了线性表、栈、队列、串、数组、广义表、树、二叉树、图、查找、内部排序、外部排序、动态存储管理和文件等基本类型的数据结构。本书中的算法都已通过调试,不用修改就能运行。\r\n 本书可作为计算机和相关专业的教材,也可作为自学者或各种计算机培训班的教材。
目录\r\n第1章概述1\r\n1.1数据结构的发展1\r\n1.2基本概念2\r\n1.3算法描述与分析4\r\n习题110\r\n\r\n第2章线性表13\r\n2.1线性表的定义及基本操作13\r\n2.1.1线性表的基本概念13\r\n2.1.2线性表的基本操作14\r\n2.2顺序表14\r\n2.2.1顺序表的定义14\r\n2.2.2基本操作在顺序表上的实现15\r\n2.3链表19\r\n2.3.1单链表的表示和实现19\r\n2.3.2双链表的表示和实现27\r\n2.3.3循环链表的表示和实现31\r\n*2.3.4静态链表的表示和实现38\r\n2.4栈43\r\n2.4.1栈的定义及其基本操作43\r\n2.4.2顺序栈的表示和实现44\r\n*2.4.3链栈的表示和实现48\r\n2.5队列51\r\n2.5.1队列的定义及其基本操作51\r\n2.5.2顺序队列的表示和实现52\r\n2.5.3链队列的表示和实现56\r\n2.6串58数据结构(C语言版)目录2.6.1串的定义及其基本操作58\r\n2.6.2顺序串的表示和实现59\r\n*2.6.3链串的表示和实现64\r\n**2.6.4串的模式匹配70\r\n习题275\r\n\r\n第3章数组和广义表81\r\n3.1数组81\r\n3.1.1数组的定义及基本操作81\r\n3.1.2数组存储结构82\r\n3.1.3矩阵的压缩存储83\r\n*3.2广义表97\r\n3.2.1广义表的定义和基本操作97\r\n3.2.2广义表的存储98\r\n习题3103\r\n\r\n第4章树和二叉树107\r\n4.1树的定义和基本操作107\r\n4.1.1树的定义和基本术语107\r\n4.1.2树的基本操作108\r\n4.2二叉树的定义和性质109\r\n4.2.1二叉树的定义109\r\n4.2.2二叉树的性质与结论110\r\n4.3二叉树的存储112\r\n4.3.1二叉树的顺序存储结构112\r\n4.3.2二叉树的链式存储结构114\r\n4.4二叉树的遍历及应用116\r\n4.4.1二叉树的遍历116\r\n4.4.2二叉树递归遍历应用举例119\r\n*4.4.3二叉树的非递归遍历122\r\n*4.5线索二叉树124\r\n4.5.1线索二叉树的定义124\r\n4.5.2线索化处理算法125\r\n4.6树和森林128\r\n4.6.1树的存储结构128\r\n4.6.2树、森林与二叉树之间的转换132\r\n4.6.3树和森林的遍历133\r\n4.7霍夫曼树及其应用133\r\n4.7.1霍夫曼树134\r\n4.7.2霍夫曼编码136\r\n习题4139\r\n\r\n第5章图143\r\n5.1图的基本概念143\r\n5.2图的存储146\r\n5.2.1邻接矩阵147\r\n5.2.2邻接表与逆邻接表148\r\n*5.2.3十字链表150\r\n*5.2.4邻接多重表151\r\n5.3图的遍历152\r\n5.3.1深度优先搜索及其生成树152\r\n5.3.2广度优先搜索及其生成树153\r\n5.4最小生成树154\r\n5.4.1Kruskal算法154\r\n5.4.2Prim算法156\r\n5.5图的应用157\r\n5.5.1拓扑排序157\r\n5.5.2关键路径159\r\n5.5.3最短路径161\r\n习题5163\r\n\r\n第6章查找167\r\n6.1静态查找表168\r\n6.1.1顺序查找168\r\n6.1.2二分查找169\r\n6.1.3分块查找171\r\n6.2动态查找表173\r\n6.2.1二叉排序树173\r\n6.2.2平衡二叉树178\r\n*6.2.3B_树与B+树184\r\n*6.2.4键树186\r\n6.3散列表187\r\n6.3.1散列表的定义187\r\n6.3.2散列函数的构造方法188\r\n6.3.3处理冲突的方法190\r\n*6.3.4散列表的查找与分析192\r\n习题6193\r\n\r\n第7章内部排序197\r\n7.1概述197\r\n7.2插入排序199\r\n7.3交换排序207\r\n7.4选择排序210\r\n7.5归并排序217\r\n7.6计数排序与基数排序219\r\n7.7各种排序方法的综合比较222\r\n习题7223\r\n\r\n**第8章外部排序227\r\n8.1外存储器简介227\r\n8.2外部排序的方法229\r\n8.3多路归并排序230\r\n8.4置换选择排序232\r\n8.5最佳归并树234\r\n习题8235\r\n\r\n**第9章动态存储管理237\r\n9.1概述237\r\n9.2可利用空间表及分配方法239\r\n9.3边界标识法242\r\n9.3.1可利用空间表的结构242\r\n9.3.2分配算法243\r\n9.3.3回收算法244\r\n9.4伙伴系统246\r\n9.4.1可利用空间表的结构246\r\n9.4.2分配算法248\r\n9.4.3回收算法249\r\n9.5无用单元收集249\r\n9.6存储紧缩254\r\n\r\n**第10章文件257\r\n10.1表与文件257\r\n10.1.1有关文件的基本概念257\r\n10.1.2记录的逻辑结构和物理结构258\r\n10.1.3文件的操作258\r\n10.2外存储器简介259\r\n10.2.1文件的物理结构259\r\n10.2.2文件的逻辑结构和文件的存储结构260\r\n10.2.3顺序文件261\r\n10.2.4索引文件262\r\n10.3ISAM文件265\r\n10.4VSAM文件266\r\n10.5直接存取文件267\r\n10.6多关键字文件268\r\n10.6.1多重表文件268\r\n10.6.2倒排文件269\r\n习题10270\r\n\r\n参考文献271\r\n
无封面