数据结构与算法
文章平均质量分 88
数据结构与算法
库库的里昂
c/c++领域新星创作者
展开
-
【数据结构】C语言实现队列
在前几期的学习中,我们认识了顺序表、链表和栈这三种线性表,而在本期学习中,我们将会认识别的线性表。跟随我们的脚本,看看队列有怎样的特点。在入队时相当于尾插,我们可以定义一个尾指针来记录尾的位置。这就使我们传指针时,要传递两个指针,我们可以把指针放到结构体中,这样在插入第一个时也可以解决要传递二级指针的问题。定义尾指针可以避免每次尾插时要遍历一遍链表。}QNode;int size;}Queue;原创 2023-11-19 16:13:36 · 17497 阅读 · 3 评论 -
【数据结构】C语言实现栈
在前几期的学习中,我们认识了顺序表和链表这两种线性表,而在本期学习中,我们将会认识别的线性表。跟随我们的脚本,看看栈和队列有怎样的特点。原创 2023-11-16 16:54:24 · 747 阅读 · 7 评论 -
【数据结构】手撕双向链表
在上一期中我们介绍了单链表,也做了一些练习题,在一些题中使用单链表会十分繁琐。因为单链表只能正着走,不能倒着走,例如:回文、逆置。本期我们将学习带头双向循环链表。原创 2023-11-15 11:29:58 · 803 阅读 · 29 评论 -
【数据结构】手撕单链表
上一次我们分享了线性表中的一种结构顺序表,它存在着一些其缺点,比如:在中间位置或者头部进行元素插入或者删除的时候时间复杂度是O(N)效率比较低,并且顺序表在扩容的时候也存在时间和空间上的消耗,由于我们每次都是按照二倍来扩的,那就很有可能会出现扩大了用不完导致空间浪费的现象。这些问题该如何解决呢?那就需要用到今天分享给大家的另一种线性结构链表。原创 2023-11-07 17:43:13 · 457 阅读 · 14 评论 -
【数据结构】手撕顺序表
在我们很多时候都要对数据进行增删查改等操作,而这些操作又依赖于线性表。今天就让我们学习顺序表和链表是怎么对数据进行增删查改。原创 2023-11-04 15:07:06 · 17810 阅读 · 14 评论 -
【数据结构】算法的时间复杂度和空间复杂度
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2023-10-21 14:36:05 · 1408 阅读 · 93 评论