首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构
TwistVegas
创建于2023-04-13
订阅专栏
个人记录一些学习数据结构的过程和总结
暂无订阅
共30篇文章
创建于2023-04-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构-最短路径
前言 在图的实际应用中,很多情况下边是存在权值的。尽管我们之前通过学习已经知道,DFS是可以实现求一个顶点到另一个顶点的最短路径的,但是那是在各条边权值一致且为正数时才能求得,而大多数情况下各条边的权
数据结构-最小生成树
前言 最小生成树可以用一个实际例子来说明:就像日常生活中修路一样,如果一个地区有5个建筑,它们之间还没有建造公路连通它们,建筑之间修路的成本也不一样。那么,该如何建造公路将它们连通起来,并使修路的开销
数据结构-图的遍历(搜索)
前言 相较于树的遍历,图的遍历要复杂得多。因为图在遍历过程中,很可能会出现最后又回到一开始遍历的顶点的情况,而且也可能会出现图遍历之后没有遍历到图中一些顶点的情况。图的遍历主要有两种形式,分别是深度优
数据结构-图的邻接表和其他表示方法
前言 如果图按照邻接矩阵方法存储的话,在存储稀疏图或者是邻接矩阵并不规律的图时会造成大量存储空间的浪费。而之前也提到过,图的存储结构并不只有邻接矩阵法一种,而临界表就是其中一种存储方法,它面对稀疏图时
数据结构-图的邻接矩阵
前言 从前两篇文章所学习的概念不难看出,图是一种二维平面式的数据结构。因此借助二维数组,可以很好地在计算机中展现顶点之间边的信息。我们借助一维数组存储顶点集合,借助二维数组存储顶点之间边的联通,这种实
数据结构-图的属性
(图和树等其他数据结构一样,也具有自身的一些属性) 度 在无向图和有向图当中,关于顶点的度有不同的定义。 无向图中对于度的定义比较简单,一个顶点的度就是这个顶点上拥有的边的数量。在一个无向图中,所有顶
数据结构-图
定义 相较于之前学习的树,图的范围更加广大,而且没有一种特别明确的、公认的实现图的方案。在计算机中,一个图G由顶点集V和边集E组成,这样记为G=(V,E)。顶点是构成图的基本要素,而连接顶点的结构叫做
数据结构-哈夫曼树与并查集
哈夫曼树和哈夫曼编码 哈夫曼树的概念 在很多时候,树的结点会携带一个或者一组数据,用来利用树来处理相关数据。而这些数据有些时候会代表一种权重值,因此这些数据也称为该结点的权。结点中有一种概念叫做带权路
数据结构-树的逻辑操作
树结构除了可以是二叉树和树之外,还可以是有多棵树和二叉树组成的森林。本文就着重讲述二叉树、树和森林之间的转换,以及树和森林的遍历。 树之间的转换 树转换为二叉树 一般来说,在树转换为二叉树时,需要让每
数据结构-树的存储结构
树的存储结构 前面几篇文章,我介绍了树这一数据结构中二叉树的部分。二叉树是树当中最基础、最关键的数据结构。然而树并不只有二叉树这一种形式,而且每个分支结点的孩子结点也并不一定只有两个甚至是更少。本文将
数据结构-线索二叉树
概念 在之前我们使用链式存储方式定义二叉树时,只从单一结点上看是无法知道该结点有无前驱或者后继结点,而且这种传统方式会导致产生大量的空指针(每个叶子结点都有两个空指针,度为1的结点都有一个空指针)。
数据结构-二叉树的特殊遍历方式
非递归方式遍历二叉树 虽然二叉树是以递归方式建立的,但是我们仍然可以不使用递归的方式来实现二叉树的元素遍历。在学习栈时,我们知道了栈是一种先入后出的数据结构。它可以实现遍历元素的倒序输出。同样的,在二
数据结构-二叉树实现和遍历
二叉树的存储结构 二叉树也是一种数据结构,其数据一般有顺序表存储和链式存储两种形式。 顺序表存储 顾名思义,这种形式是将二叉树的各个结点的数据通过顺序数组进行存储。但是二叉树是一种分层式的数据结构,如
数据结构-二叉树概念基础
二叉树的定义 二叉树是一种特殊的度为2的有序树,二叉树的每个结点最多只有两个子树。由于二叉树是排序树,所以两个子树的位置不能颠倒。当二叉树的结点数目为0时,称之为空二叉树。 如果结点只有一个孩子结点,
数据结构-树的概念基础
## 树的定义和逻辑表达 相对于之前的顺序表、栈、队列等结构,树是一种分层结构,适合组织那些具有分支层次关系的数据。在数据结构层面上,数是具有n个结点的有限集(当n为0时,这棵树称之为空树)。每个树
数据结构-模式匹配
简单模式匹配(暴力匹配) 这是一种最典型的模式匹配算法,就是让变量i从母串当前位置出发,变量j从子串从起始位置出发。如果两个位置字符一致,就让i和j都+1;反之变量i回退到本循环的最初位置的下一位置出
数据结构-串
定义 串在计算机中就是我们所常说的字符串,是由n个字符组成的优先序列(当n=0时,称这个串为空串)。由一个或多个空格字符组成的串称之为空格串,空格串并不是空串。 (在C++中,串通常由双引号包括起来,
数据结构-数组和特殊矩阵
数组的定义 数组是由n个同类型的数据元素构成的优先序列,每个数组中的数据元素称为一个数组元素。 从某种意义上,数组一种线性表的拓展:一维数组可以看作一个线性表,而二维数组就可以看作成一个各个数据元素是
数据结构-队列(下)
队列(下) 上篇文章最后,我们说到了在队列中,链表结构可以代替顺序表结构,从而形成链式队列。并阐述了如果采用链式队列,应该采用什么样的链表来实现,这篇文章将结束队列这部分内容,包括链式队列的具体实现和
数据结构-队列(中)
队列(中) 上文最后,说到了循环队列的定义以及初始化操作,本文继续讲述循环队列的其他操作。 入队列(EnQueue) 插入元素前,首先要判断队列是否已经满了,如果队列已满,就立即return结束函数。
下一页