
数据结构与算法
文章平均质量分 72
还是我自己的学习笔记
番茄灭世神
盖文章经国之大业,不朽之盛事
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表的反转操作
首先是利用结构体功能实现链表这一种数据结构,它拥有自身的成员属性(这里以一个int型数据为例)和一个指向下一个链表节点的指针组成。注意这里typedef的使用方法,结构体内部嵌套自身的时候还不能将struct ListNode简写为ListNode。再然后尝试打印链表节点中存贮的数据,新建一个临时变量,在while循环内一次打印链表内所有数据,直到当前节点的下一节点指向空指针。其次是链表的创建函数, 在堆中开辟内存空间用于存贮链表节点。以一个最简单的例子来展示C语言中链表的反转操作。原创 2025-02-11 21:10:24 · 313 阅读 · 0 评论 -
“英雄”数据结构课程第四章——顺序表
顺序表是一种线性的数据结构,其中数据元素按照特定的顺序依次存储在连续的内存空间中。它由一系列元素组成,每个元素都与唯一的索引(下标)相关联,索引从0开始递增。顺序表中的元素可以是任意类型的数据,包括int\float\double\char等,也可以是结构体或者对象。原创 2024-09-26 17:26:39 · 225 阅读 · 0 评论 -
“英雄”数据结构课程第一\二\三章——基础准备
在进行算法分析时,语句的总执行次数T(n)是关于问题规模n的函数,进而分析T(n)随着n的变化情况而确定T(n)的数量级。算法的时间复杂度就是算法的时间度量,记作:T(n)=O(f(n))用大写的O来体现算法时间复杂度的记法,我们称之为大O记法。算法在执行过程中需要的额外存储空间叫做空间复杂度,这包括算法在运行时的变量、数组、链表等数据结构所占用的内存空间。算法设计的过程中我们通常希望尽可能降低空间复杂度,提高算法的效率。原创 2024-09-20 14:28:08 · 280 阅读 · 0 评论 -
嵌入式软开常用数据结构——环形缓冲区
环形缓冲区一种遵循FIFO(先进先出)的存储空间,它的主要特点是其终点和起点是相连的形成闭环。这种结构允许数据在达到缓冲区末尾时自动回绕到起始位置,从而实现数据的循环存储和管理。下图是一种形象理解。通俗地来讲,它也是一种线性表,由一个数组和两个表示读写状态的指针构成。在这个线性表被定义地第一时间,读指针与写指针指向同一个数组元素;当我们写入了一个数据之后,读指针会依旧指向第一个元素但写指针会按照写入方向依次指向下一个元素。如果写指针的下一个指向是读指针所在的元素,代表这个环形缓冲区已经写满。原创 2024-08-08 17:30:08 · 583 阅读 · 1 评论