![](https://img-blog.csdnimg.cn/f1d0cc9b3b3d48359ea67cfdc5dd2076.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 76
以实战为线索,逐步深入数据结构的各个细节,掌握数据结构代码思路,打造完整的数据结构大妈体系,提升工程化编码能力和思维能力。
Dream of Grass
花径不曾缘客扫,蓬门今始为君开
展开
-
数据结构--单链表的c语言实现(超详细注释/实验报告)
在顺序表中,用一组地址连续的存储单元来一次存放线性表的结点,因此结点的逻辑顺序和物理顺序是一致的。而链表则不然,链表是用一组任意的存储单元来存放线性表的结点,这组储存单元可以是连续的,也可以是非连续的,甚至是零散分布在内存的任何位置上。因此链表中结点的逻辑顺序和物理顺序不一定相同。为了正确地表示结点间的逻辑关系,必须存储线性表的每个数据元素值的同时,存储知识其后继结点的地址(位置)信息,这两部分信息组成的存储映像成为结点(Node)。实验题原创 2021-09-25 18:41:09 · 16298 阅读 · 17 评论 -
【数据结构实验期末考试】---删除单链表中第一个最大元素及其重复结点
1. 已知单链表A,编写一个算法,删除单链表中第一个最大元素。2. 已知单链表L, 编写一个算法,删除其重复的结点(只保留一个)。原创 2021-12-16 08:21:10 · 2548 阅读 · 2 评论 -
数据结构--递归遍历二叉树的c语言实现(超详细注释/实验报告)
二叉树的遍历是指按照一定规律对二叉树中的每个结点进行访问且仅访问一次。其中的访问可知计算二叉树中结点的数据信息,打印该结点的信息们也包括对结点进行任何其他操作。原创 2021-11-28 09:42:58 · 4369 阅读 · 1 评论 -
数据结构--创建并输出二叉树的c语言实现(超详细注释/实验报告)
之前我们都是学习的线性结构,这次我们就开始学习非线性结构——树。线性结构中结点间具有唯一前驱、唯一后继关系,而非线性结构中结点的前驱、后继的关系并不具有唯一性。在树结构中,节点间关系是前驱唯一而后继不唯一,即结点之间是一对多的关系。直观地看,树结构是具有分支关系的结构(其分叉、分层的特征类似于自然界中的树)。树结构应用非常广泛,特别是在大量数据处理(如在文件系统、编译系统、目录组织等)方面显得更加突出。原创 2021-11-27 22:38:48 · 10542 阅读 · 1 评论 -
数据结构--就地逆置匹配子串的C语言实现(超详细注释/实验报告)
在计算机科学中,就地逆置匹配子串问题是将所给的主串中的所给的一个子串(给定的)逆置(如果不是子串的话就不逆置)。原创 2021-10-29 09:36:08 · 584 阅读 · 4 评论 -
数据结构--寻找最大公共子串的C语言实现(超详细注释/实验报告)
在计算机科学中,最长公共子串问题是寻找两个或多个已知字符串最长的子串。此问题与最长公共子序列问题的区别在于子序列不必是连续的,而子串却必须是。原创 2021-10-29 08:44:34 · 2946 阅读 · 2 评论 -
数据结构--稀疏矩阵转置(列序递增算法)的c语言实现(超详细注释/实验报告)
稀疏矩阵是指矩阵中大多数元素为零的矩阵。从直观上讲,当非零元素个数低于总元素的30%时,这样的矩阵为稀疏矩阵。原创 2021-10-29 07:51:29 · 5201 阅读 · 7 评论 -
数据结构--定长顺序串的c语言实现(超详细注释/实验报告)
计算机处理的对象分为数值数据和非数值数据,字符串事最基本的非数值数据。字符串处理在语言编译、信息检索、文字编辑等问题中有着广泛的应用。字符串事一种特定的线性表,其特殊性在于组成线性表的每个元素就是一个单字符。原创 2021-10-29 07:13:34 · 3417 阅读 · 3 评论 -
数据结构--循环队列的c语言实现(超详细注释/实验报告)
队列(Queue)是另一种限定性的线性表,它只允许再表的一端插入元素,而再另一端删除元素,多以队列具有先进先出(First In First Out,FIFO)的特性。这与我们日常生活中的排队是一样的,最早进入队列的人最早离开,新来的人总是加入到队尾。在队列中,允许插入的一端称队尾(Rear),允许删除的一端则称为队头(Front)。队列在程序设计中也经常出现。一个最典型的例子就是操作系统中的作业排队。在允许多道程序运行的计算机系统中,同时有几个作业在运行。如果运行的结果都需要原创 2021-10-07 21:34:31 · 8452 阅读 · 5 评论 -
数据结构--链栈的c语言实现(超详细注释/实验报告)
栈(Stack)作为一种限定性线性表,是将线性表的插入和删除操作限制为仅在表的一端进行,通常将表中允许进行插入、删除操作的一端成为栈顶(Top),因此栈顶的当前位置是动态变化的,它由一个成为栈顶指针的位置指示器来指示。同时,表的另一端被称为栈底(Bottom)。当栈中没有元素时成为空栈。栈的插入操作被形象地成为进栈或入栈,删除操作称为出栈或退栈。原创 2021-10-04 14:59:54 · 6974 阅读 · 10 评论 -
数据结构--顺序栈的c语言实现(超详细注释/实验报告)
数据结构–顺序表的c语言实现(超详细注释/实验报告)栈(Stack)作为一种限定性线性表,是将线性表的插入和删除操作限制为仅在表的一端进行,通常将表中允许进行插入、删除操作的一端成为栈顶(Top),因此栈顶的当前位置是动态变化的,它由一个成为栈顶指针的位置指示器来指示。同时,表的另一端被称为栈底(Bottom)。当栈中没有元素时成为空栈。栈的插入操作被形象地成为进栈或入栈,删除操作称为出栈或退栈。栈被称为时后进先出(Last In First Out,LIFO)的线性表,简称LIFO表。生活原创 2021-09-27 16:55:57 · 10982 阅读 · 6 评论 -
数据结构--双链表的c/c++实现(超详细注释/实验报告)
如果希望从表中快速确定某一个结点的前去,其中一个解决方法就是在单链表的每个结点再增加一个指向其前去的指针域prior。这样形成的链表中就有两条方向不同的链,称之为双向链表(Double Linked List)。原创 2021-09-26 01:19:06 · 2919 阅读 · 2 评论 -
数据结构--顺序表的c语言实现(超详细注释/实验报告)
线性表是一种最基本、最常用的数据结构,它有两种存储结构——顺序表和链表。顺序表是由地址连续的的向量实现的,便于实现随机访问。顺序表进行插入和删除运算时,平均需要移动表中大约一半的数据元素,容量难以扩充。原创 2021-09-25 16:33:51 · 16901 阅读 · 9 评论