![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 89
本专栏为本人学习、复习数据结构时定期的一些基础知识记录。适合数据结构初学者、考研专业课学习者学习。
HePingxxb
这个作者很懒,什么都没留下…
展开
-
矩阵的压缩存储
若对一个n阶方阵A[1…n][1…n]中的任意一个元素aij都有aij=aji(1≤i,j≤n),则称其为对称矩阵。其中的元素可以划分为3个部分,即上三角区、主对角线和下三角区。在下三角矩阵中,上三角区的所有元素均为同一常量。其存储思想与对称矩阵类似,不同的是,只需要存储上三角区的常量一次。可以将下三角矩阵A[1…n][1…n]压缩存储在B[n(n+1)/2+1]中。三角矩阵形式如下图所示。原创 2023-07-06 17:38:19 · 2143 阅读 · 0 评论 -
队列的应用——层次遍历、计算机系统
在信息处理时,有一类问题需要逐层或逐行处理。这类问题的解决方法往往是在处理当前层或当前行时就对下一层或下一行做预处理,把处理顺序安排好,等到当前层或当前行处理完毕,就可以处理下一层或下一行。使用队列可以保存下一步的处理顺序,例如在层次遍历二叉树时,遍历过程如下:1、根节点入队2、若队为空,结束遍历,否则重复33、队列中第一个结点出队并访问之。若其有左孩子,则将左孩子入队;若其有右孩子,则将右孩子入队,返回2原创 2023-06-25 16:06:07 · 439 阅读 · 0 评论 -
栈的应用——括号匹配、表达式求值、递归
本文主要介绍了栈在括号匹配、表达式求值和递归方面的应用,包含理论知识和代码。原创 2023-06-24 21:54:49 · 1320 阅读 · 1 评论 -
操作受限的线性表——队列
本文主要内容:介绍了队列的基本概念和基本操作,详细介绍了队列的顺序存储和链式存储。并介绍了循环队列和双端队列(以及输入/输出受限的双端队列),及其基本操作。原创 2023-06-16 11:44:18 · 350 阅读 · 0 评论 -
操作受限的线性表——栈
本文主要内容:本文主要讲解栈的基本概念、基本操作和栈的顺序、链式实现。原创 2023-06-10 11:42:21 · 513 阅读 · 0 评论 -
顺序表和链表的比较
两种存储结构各有所长。通常较稳定的线性表选择顺序存储,而频繁进行插入、删除操作的线性表(即“动态”的线性表)宜选择链式存储。原创 2023-06-07 11:31:44 · 794 阅读 · 0 评论 -
双链表、循环链表、静态链表
由循环单链表与单链表的关系可以推得循环双链表与双链表的关系。要访问某个结点的前驱结点(插入、删除操作时),只能从头开始遍历,访问后继结点的时间复杂度为O(1),访问前驱结点的时间复杂度为O(n)。双链表中的结点可以很方便的找到其前驱结点,因此,有时对单链表常做的操作是在表头和表尾进行的,此时对循环单链表不设头指针而。因为若设的是头指针,对表尾进行操作需要O(n)的时间复杂度,而若。双链表在单链表的结点中增加了一个指向其前驱的prior指针,因此。循环单链表的插入、删除算法与单链表的几乎一样,所不同的是原创 2023-06-01 21:35:48 · 573 阅读 · 0 评论 -
线性表的链式表示——单链表
线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素。为了建立数据元素之间的线性关系,对每个链表结点除存放元素自身的信息外还需要存放一个指向其后继的指针。单链表节点结构如下图所示,其中data为数据域,存放数据元素;next为指针域,存放其后继结点的地址。利用单链表可以解决顺序表需要大量连续存储单元的缺点,但单链表附加指针域,也存在浪费存储空间的缺点。由于单链表的元素离散地分布在存储空间中,所以单链表时非随机存取的存储结构,即不能直接找到表中某个特定的结点。原创 2023-05-28 21:18:56 · 687 阅读 · 0 评论 -
线性表的顺序表示
线性表的顺序存储又称顺序表。是用一组地址连续的存储单元一次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。第1个元素存储在线性表的起始位置,第i个元素的存储位置后面紧接着存储的是第i+1个元素,称i为元素ai在线性表中的位序。因此,顺序表的特点是表中元素的逻辑顺序与其物理顺序相同。每个数据元素的存储位置都和线性表的起始位置相差一个和该数据元素的位序成正比的常数,因此,线性表中的任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。原创 2023-05-24 22:15:16 · 762 阅读 · 0 评论 -
顺序表与链表的优缺点对比分析
综合考虑顺序表和链表的优缺点,在选取使用链表还是顺序表时,要根据我们的需求权衡选择。例如:当我们的项目需要较大的弹性空间,在使用过程中需要扩容时,则选取链表;若需要频繁的查找元素,则选取顺序表。本文内容为个人学习总结所得,如有错误欢迎指正。原创 2023-05-16 07:33:01 · 809 阅读 · 0 评论 -
顺序表与链表——数据结构详细讲解
线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。其中的n就为表长,当n=0时线性表是一个空表。线性表一般表示为La1a2aianLa1a2...ai...ana1是表头元素,an是表尾元素。除了表头元素外,每个元素都有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。原创 2023-05-15 14:03:55 · 88 阅读 · 1 评论