数据结构学习笔记——树的存储结构以及树、森林与二叉树之间的转换
一、树的存储结构树的存储结构中反映的是一棵树中各结点之间的关系,在存储中,不仅存储树中每个结点的值,还存储各结点之间的关系,主要有三种存储结构,分别是双亲表示法、孩子链表示法和孩子兄弟表示法。(一)双亲表示法双亲表示法是通过采用一维数组来存储树中的结点,其中每个结点被赋予一个结构体类型,包含data域和parent域,分别存储结点的数据域和存储该结点双亲的数组下标。#define MAXSIZE....

数据结构学习笔记——串的基本知识以及顺序存储结构实现串
一、串的基本知识串由零个或多个字符组成的有限序列,其数据元素就是字符,它是一种特殊的线性表,串的数据元素必须是单个字符。由任意多个连续的字符组成的子序列称为串的子串,包含子串的串称为主串,线性表是以单个元素进行相关操作,而串是以子串进行相关操作的,在c语言中,通过以字符'\0'来表示串值的结束。(一)空串和空格串1、空串串的长度等于0时的串称为空串,空串是任意串的子串,任意串是自身的子串。2、空....

数据结构学习笔记——链式存储结构实现队列(链队)
一、链队链队是通过带有队头指针和队尾指针的单链表实现的,使用链队的好处是可以避免出现队列满且溢出的问题,且适用于数据元素变动较大的情形时。在链队中,队头指针Q.front指向队头结点,队尾指针Q.rear指向队尾结点,由于不带头结点的链队操作较为麻烦,一般将链队设置为带头结点的单链表,带头结点的链式队列如下图(其中队头指针指向头节点):不带结点的链式队列如下图:以下代码的实现均为在带头结点的链式....

数据结构学习笔记——顺序存储结构实现循环队列
一、循环队列的定义前面讲到在通过顺序存储结构来判断顺序队列是否为满队时,提及到会存在“假溢出”现象,这里就可以通过循环队列来解决。所谓循环队列,也就是将顺序队列中的一维数组首尾相连成环,也就是在逻辑上视为一个环连接起来,其存储类型定义与顺序队列的存储类型定义是一样的,也是定义数组data[MaxSize]和两个指针,即队头指针front指向队头元素,队尾指针rear指向队尾元素,如下:#defi....

数据结构学习笔记——队列的基本知识和顺序存储结构实现队列(顺序队列)
一、队列队列与栈一样,它是一种特殊的线性表,其操作受限,它与栈具有相同的逻辑结构,都属于线性结构,区别在于其中元素的处理不同,队列只允许在一端进行插入,且只允许在另一端进行删除,队列遵循的原则是先进先出(FIFO),即先入队列的元素最先离开,与日常生活中的排队是一样的。有两种方式存储队列,顺序存储结构和链式存储结构,即顺序队列和链队列,另外我们还可以将顺序队列的一维数组首尾相连形成一个环状,即为....

数据结构学习笔记——链式存储结构实现栈(链栈)
一、链栈的定义有两种方式实现栈,分别是顺序存储结构和链式存储结构,这里我们把通过链式存储结构实现的栈成为链栈,链栈相对于顺序栈其最大优势是可以动态地分配存储空间,所以通常不会出现栈满的情况,这里我们通过不带头结点的单链表实现链栈(是因为栈的主要操作都是在栈顶进行操作的),即第一个结点设为栈顶从而方便操作。如下图,也就是一个不带头结点的单链表,即不带头结点的链栈,其中Lhead指针指向栈中的栈顶元....

数据结构学习笔记——栈的基本知识和顺序存储结构实现栈(顺序栈)
一、栈(一)栈的概念栈是一种只允许在一端进行插入或删除操作的线性表,它是一种特殊的线性表,它与队列具有相同的逻辑结构,都属于线性结构,区别在于对其中元素的处理不同,栈遵循的原则是先进后出(FILO),即后进的元素先被取出来,它是被限制存取点的线性结构。由于它是一种线性表,所以有两种方式:顺序存储结构和链式存储结构,即顺序栈和链式栈。其中,栈的插入操作称为进栈,栈的删除操作称为出栈。(二)栈的排列....

《数据结构》c语言版学习笔记——其他链表(线性表的链式存储结构Part2)
前言提示:本系列文章均使用Visual Studio 2019编程,编程语言为c语言。一、循环链表(一)定义将单链表的终端结点的指针端由空指针改为指向头结点,这样就让整个单链表形成一个循环,这时头尾相连的单链表就称为单循环链表,即循环链表,下图的head,即为头指针。将循环链表和单链表相比较,其实就在循环的判断条件上差别,单链表判断是否为空(p!=null 或 p->null!=null)....

《数据结构》c语言版学习笔记——单链表结构(线性表的链式存储结构Part1)
前言提示:本系列文章均使用Visual Studio 2019编程,编程语言为c语言。一、单链表的建立为了使单链表中每个数据元素与其直接后继的数据元素之间存在逻辑关系,除了存储其本身的信息之外,还需要存储一个指示其直接后继存储位置的信息(存储后继元素的存储地址,即指针)。存储数据元素信息的域称为数据域,将存储直接后继位置的域称为指针域,其中指针域中存储的信息称为指针或链,同时这两部分信息组成数据....

《数据结构》c语言版学习笔记——线性表的顺序存储结构
前言数据结构是大学里计算机专业类必掌握的一门课程,它很重要,尤其是对一些考研的计算机类学生来说,通常为专业课。数据结构并不是哪种编程语言所设定的,它可以用c语言来写,也可以用c++、java、python等等,学会了一门编程语言,仅仅只是掌握一些,而学会了数据结构可以掌握很多技巧和算法并不断提高编程能力,这对将来很重要。提示:本系列文章均使用Visual Studio 2019编程,编程语言为c....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
数据结构更多存储相关
算法编程
开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。
+关注