本书的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术;第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。 内容简介 《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排 1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。 本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。 本书后附有光盘。光盘内容可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。 本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。 作者简介 严蔚敏,清华大学计算机系教授,长期从事数据结构教学和教材建设,和吴伟民合作编著的《数据结构》曾获“第二届普通高等学校优秀教材全国特等奖”和“1996年度国家科学技术进步奖三等奖”。
2023-03-26 16:25:00 7.58MB 严蔚敏 数据结构 c语言
1
Golang算法和数据结构
2023-03-25 14:48:01 18KB Go开发-数据结构和算法
1
(2) 单链表设置头节点的作用是什么? 【解答】 (3) 若频繁地对一个线性表进行插入和删除操作,选用什么存储结构比较好?为什么? 【解答】 (4) 如果某线性表中数据元素的类型不一致,但希望能够根据下标随机存取每个元素, 请为这个线性表设计一个合适的存储结构。 【解答】 (5) 请比较线性表的两种基本存储结构:顺序表和单链表。 【分析】从基本特征、元素读取、元素删除、插入方面讨论时间复杂度,空间复杂度。 【解答】 D r. y imi n zh ou r elea sed for S oph omo re. 3 3rd. S ep, 2013 . D r. y imi n zh ou r elea sed for S oph omo re. 3 4th . O ct, 2 014.
2023-03-22 20:32:21 1.05MB 数据结构
1
采用双向链表实现了简单的小说编辑功能。 >定位当前位置:给出(段号,段内偏移),可以定位此位置为当前位置; >在当前位置插入一个字串; >在当前位置前删除长度为m的字串; >搜索字串s;保存小说到文件;从文件中读取该小说。
2023-03-22 17:26:26 778KB 数据结构
1
用C语言描述的数据结构与算法的入门教程,同时还介绍了部分机器学习的算法,另附带演示软件。
2023-03-21 20:09:03 38.99MB C语言 算法 数据结构 演示软件
1
包括顺序表、广义表、树、图等数据结构算法。代码包括Pascal语言和C语言,动态、清晰演示算法实现过程。
2023-03-21 17:00:35 2.05MB 数据结构 演示软件
1
与严蔚敏教材内容基本一致,但使用的是纯C语言,代码组织更清晰。
2023-03-20 13:48:19 166KB 线性表 C 数据结构
1
/* 线性表的顺序表示:类型和界面定义*/ /* 线性表的顺序表示:函数实现*/ /* 线性表的单链表表示:类型和界面函数定义*/ /* 线性表的单链表表示:函数实现*/ /* 线性表的顺序表示:类型和界面定义*/ /* 线性表的顺序表示:函数实现*/ /* 用顺序表解决josephus问题的算法*/ /* 用循环单链表解决josephus问题的算法*/ /*字符串的顺序表示*/ /* 字符串的链接表示 */ /* 顺序栈表示:类型和界面函数声明 */ /* 顺序栈表示:函数定义 */ /* 栈链接表示:类型和界面函数声明 */ /*栈链接表示:函数定义*/ /* 简化背包问题的递归算法*/ /* 简化背包问题的非递归算法*/ /* 迷宫问题的递归算法*/ /* 迷宫问题的非递归算法(栈实现)*/ /* 队列的顺序表示:类型和函数声明 */ /* 队列的顺序表示:函数定义 */ /*队列链接表示:类型和界面函数声明*/ /*队列链接表示:函数定义*/ /* 用队列解决农夫过河问题的算法*/ /* 树的长子-兄弟表示法*/ /* 树的父指针表示法*/ /* 树的子表表示法*/ /* 树的后根周游的递归算法*/ /* 树的先根周游的非递归算法*/ /* 树的中根周游的递归算法*/ /* 树的后根周游的递归算法*/ /* 树的广度优先周游算法*/ /* 二叉树的链接表示*/ /* 二叉树的顺序表示*/ /* 线索二叉树的定义,构造算法和中根周游算法*/ /* 二叉树前根周游的递归算法*/ /* 二叉树对称根周游的递归算法*/ /* 二叉树后根周游的递归算法*/ /* 二叉树后根周游的非递归算法*/ /* 本程序提供了用顺序表实现字典的存储表示定义*/ /* 本程序是用开地址法解决碰撞的散列表示方法, 提供了字典的一些基本操作*/ /* 字典的二叉排序树实现,本程序实现了二叉排序树的基本操作的算法*/ /* 字典的AVL树实现*/ /* 本程序提供了用顺序表实现字典的情况下 的顺序检索算法*/ /* 本程序提供了用顺序表实现字典的情况下 的二分法检索算法*/ /* 本程序是用开地址法实现散列的检索算法*/ /* 二叉排序树的检索算法*/ /* AVL树的检索算法*/ /* 最佳二叉排序树是具有最佳检索效率的二叉排序树, 本程序提供了最佳二叉排序树的构造方法*/ /* 直接插入排序的算法源程序*/ /* 二分法插入排序的算法源程序*/ /* 表插入排序的算法源程序*/ /* shell排序的算法源程序 */ /* 直接选择排序的算法源程序*/ /* 堆排序的算法源程序*/ /* 起泡排序的算法源程序*/ /* 快速排序的算法源程序*/ /* 基数排序的算法源程序*/ /* 二路归并排序算法的源程序*/ /* 用图邻接矩阵表示实现的一些基本运算*/ /* 用图邻接表表示实现的一些基本运算*/ /* 用邻接矩阵表示的图的广度优先周游算法*/ /* 用邻接表表示的图的广度优先周游算法*/ /* 用邻接矩阵表示的图的深度优先周游的递归算法*/ /* 用邻接矩阵表示的图的深度优先周游的非递归算法*/ /* 用邻接表表示的图的深度优先周游的非递归算法*/ /* 用邻接矩阵表示的图的Kruskal算法的源程序*/ /* 用邻接矩阵表示的图的prim算法的源程序*/ /* 用邻接矩阵表示的图的Dijkstra算法的源程序*/ /* 用邻接矩阵表示的图的Floyd算法的源程序*/ /* 用邻接表表示图的拓扑排序算法*/ /* 用邻接矩阵表示图的拓扑排序算法*/ /* 图的关键路径问题的算法*/ /* 背包问题的贪心法算法*/ /* 用动态规划法求组和数的算法*/ /* 用回溯法解决骑士周游问题的算法*/ /* 0/1背包问题的回溯法算法*/ /* 0/1背包问题的动态规划法算法*/ /* 0/1背包问题的分支定界法算法*/
2023-03-20 13:45:16 1.01MB 数据结构 经典代码 (严蔚敏).
1
贝岭的matlab的代码SDSL - 简洁的数据结构库 它是什么? 简洁数据结构库 (SDSL) 是一个强大且灵活的 C++11 库,用于实现简洁的数据结构。 该库总共包含 40 个亮点。 简洁的数据结构可以在接近对象的信息论下界的空间中表示对象(例如位向量或树),同时有效地支持原始对象的操作。 对经典数据结构和等效的简洁数据结构执行的操作的理论时间复杂度(大部分时间)是相同的。 为什么是 SDSL? 简洁的数据结构具有非常有吸引力的理论特性。 然而,在实践中实现简洁的数据结构并非易事,因为它们通常由位向量上的复杂操作组成。 SDSL 库提供了文献中提出的许多简洁数据结构的高质量、开源实现。 具体而言,该库的目标是提供基本且复杂的简洁数据结构,这些数据结构是 使用简单直观(如 ,它提供了经典的数据结构), 忠实于原始理论结果, 能够处理大量输入(是的,我们支持 64 位), 提供所有实现的简洁数据结构的高效构建,同时实现良好的运行时性能。 此外,我们提供了额外的功能,可以帮助您充分利用简洁的数据结构。 每个数据结构都可以轻松地序列化并加载到磁盘或从磁盘加载。 我们提供的功能可帮助您分析
2023-03-20 10:03:15 864KB 系统开源
1
C语言实现通讯录制作-链表学习案例文章所提到源码 学习数据结构中链表部分的总结 可以在C语言实训或数据结构课程设计中使用 代码相对来说还有许多地方可以改进,希望大家指出 全部内容均由本人所写算法实现
2023-03-18 09:00:19 13KB C 单链表 通讯录小案例 数据结构
1