![](https://img-blog.csdnimg.cn/7a5b20fb878c466ca61821d163e0414d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 64
主要介绍一些数据结构初阶知识,一般用C语言编写!Come on!!!
beating-fish
这个作者很懒,什么都没留下…
展开
-
数据结构———栈的基本实现
栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端为栈顶,另一端为栈底。栈中元素遵循先进后出的原则假设我们依次将1, 2, 3, 4压入栈中废话不多说,来,上代码!2.stack.cpp代码如下(示例):3.test.cpp总结栈是一种后进先出的数据结构,由于作者水平和经验不多,目前直到的具体应用场景为二叉树的遍历和图的深度优先遍历方面,随着以后学习的深入,我会进一步补充和修改这方面。......原创 2022-06-12 21:47:39 · 388 阅读 · 15 评论 -
一发入魂双链表(十字链表)
前言本篇主要介绍双链表,简易的讲就是你知道你前面的地址和你后面的地址,本篇涉及知识和上篇单链表一样,但是双链表在实现上比单链表要简单,抽象度不高,容易掌握。一、双链表是什么?1.双链表的引入是为了来弥补单链表的部分缺陷,在单链表插入删除时,总是要进行遍历,时间复杂度相对较高。对此,我们采取以空间换时间的策略引入双链表。带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,.原创 2022-05-11 12:22:16 · 696 阅读 · 1 评论 -
简单易懂单链表
文章目录一、链表是什么?二、单链表的实现?1.函数接口2、函数具体实现3.主函数设计总结一、链表是什么?概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。1.今天主要介绍单链表的相关内容,涉及到的知识有模块化的思想,结构体,一级指针,二级指针,assert断言,perror函数等。2.在现实中,这种数据结构一般不会单独用来存储数据,更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等,后续会都更新介绍。二、单链表的实现?1.函原创 2022-05-11 11:07:29 · 208 阅读 · 2 评论 -
一文带你搞懂顺序表
文章目录前言一、顺序表是什么?二、顺序表的实现总结前言学习数据结构是一个快速提高代码量的捷径,与此同时还可以把前面学到的知识充分的运用起来。本篇涉及到的知识为结构体、简单数组、malloc函数、realloc函数、memmove函数、qsort函数、枚举等。一、顺序表是什么?顺序表是为了存储一定的数据进行设计的一种数据结构,与结构体结合起来可以存储自定义的数据类型,克服了原本基本数组的不足之处,另一方面,它可以实现动态的扩容,克服了数组的缺陷,可以有效地避免空间的浪费。二、顺序表的实现总原创 2022-04-24 16:29:29 · 1795 阅读 · 12 评论 -
时间复杂度和空间复杂度
文章目录前言一、算法效率二、使用步骤1.引入库2.读入数据总结前言本篇介绍时间复杂度和空间复杂度相关问题,主要用常见的例子分析,循环、递归、斐波那契、阶乘、冒泡排序等。提示:以下是本篇文章正文内容,下面案例可供参考一、算法效率为啥要引入这个概念?算法在编写成可执行程序后,运行时需要耗费时间资源和空间资源一般衡量一个算法的好坏,一般从时间和空间两个维度来时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需的额外空间。但随着计算机的发展,存储容量已经达到了很高的程度,所以我们如原创 2022-04-21 23:22:14 · 579 阅读 · 13 评论