![](https://i-blog.csdnimg.cn/direct/77c80af925564488b8e2b3f6be8eb5b5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 97
数据结构是一种计算机科学技术领域广泛使用的专业术语,在很多书籍以及博客中,对数据结构的解释为数据在计算机的存储方式,很容易让人误以为数据结构只是一种数据的物理存储方式,其实不然,数据结构可以理解为:数据 + 结构。
小羊失眠啦.
在心里种花 人生才不会荒芜
展开
-
【数据结构】复杂度
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm)是定义良好的计算过程,它取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2023-10-30 21:00:00 · 1075 阅读 · 0 评论 -
【数据结构】顺序表
线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般原创 2023-11-01 18:00:00 · 385 阅读 · 0 评论 -
【数据结构】单链表
在上一期中我们学习了顺序表,顺序表可以通过索引(下标)快速地存、取表中元素,但文章末尾提及它有缺点,例如头插或从中间插入效率低等,而链表可以有效的解决这些问题。那么就让我们走进链表的学习~~概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。注意1.链式结构在逻辑上是连续的,但在物理上不一定连续。2.节点都是从堆上申请的。3.从堆上申请空间,是按一定策略分配的,申请的空间可能连续,也可能不连续。原创 2023-11-06 01:15:15 · 398 阅读 · 0 评论 -
【数据结构】单链表OJ题(一)
在上一期中我们介绍了单链表,也对单链表的实现进行具体的了解,接下来我们开始单链表的练习,对单链表更深层的理解,让小伙伴们灵活的使用单链表,话不多说,开造~原创 2023-11-08 00:27:01 · 742 阅读 · 0 评论 -
【数据结构】单链表OJ题(二)
在上一期中我们介绍了单链表,也对单链表的实现进行具体的了解,接下来我们开始单链表的练习,对单链表更深层的理解,让小伙伴们灵活的使用单链表,话不多说,开造~原创 2023-11-09 14:28:44 · 537 阅读 · 0 评论 -
【数据结构】双向链表
所谓头结点,其作用就是标识链表的有效部分。我们之前实现的无头结点的链表,都是通过头指针直接指向链表的有效数据部分。而带头结点的链表,则是用头指针指向一个不存放有效数据的结点,这个结点就称作头结点。这个结点的next指针存放的下一个结点才是链表的有效结点部分。原创 2023-11-13 08:11:35 · 503 阅读 · 0 评论 -
【数据结构】深入了解栈
如果没有要求栈顶的位置,则我们还是使用单链表来实现,将头作为栈顶。这是因为双向链表比单链表的结点多占用了一个前驱指针的空间,虽然现代计算机空间已然构不成太大问题,但是能省则省。如果题目要求栈顶在链表尾的话,那还是老老实实用双向链表实现吧。使用链表的缺点就是每次插入都要malloc新结点,会消耗一定的时间成本。原创 2023-11-14 09:50:14 · 170 阅读 · 0 评论 -
【数据结构】深入了解队列
与栈同理,队列也是一种限制型的数据结构,不支持随机访问。其只允许在固定的两端进行操作。因此也不存在查找,打印,修改等需要对其他位置进行操作的接口,否则会破坏队列的特性。数据结构的实现方式多种多样,为了在隐藏设计细节的情况下使用方依旧能够很方便的使用,尽管有一些操作仅仅只有一两行代码,我们还是封装成函数作为对外的接口供使用方调用。原创 2023-11-16 13:56:12 · 178 阅读 · 0 评论 -
【数据结构】树和二叉树
回顾一下前面几期,我们学习了数据结构中的顺序表单链表双向链表栈和队列,它们有个共同的特点:都是线性的数据结构。而接下来,我们要学习一种非线性的数据结构---->二叉树。原创 2023-11-20 13:40:51 · 236 阅读 · 0 评论 -
【数据结构】二叉树之堆的实现
堆总是一种完全二叉树,其采用顺序存储方式堆中某个节点的值总是不大于(大堆)或不小于(小堆)其父节点的值;当序列只有一个元素时,既可以是大堆也可以是小堆原创 2023-11-23 13:49:31 · 886 阅读 · 0 评论 -
【数据结构】二叉树之链式结构
一颗二叉树的结点数我们可以看作是根结点+左子树结点数+右子树结点数,那左右子树的结点数又是多少呢?按照相同的方法继续拆分,层层递归直到左右子树为空树,返回空树的结点数0即可。原创 2023-11-27 14:24:08 · 1283 阅读 · 0 评论 -
【数据结构】手撕排序
所谓排序就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。原创 2023-12-07 16:32:23 · 3586 阅读 · 0 评论