考研数据结构
文章平均质量分 89
考研党,详细讲述各种基本的数据结构及相关的算法
Ordinary Dreamer
用心记录
展开
-
线性表——顺序表的具体实现
线性表有两种存储结构:顺序存储和链式存储。这篇文章将详细讲解顺序存储即顺序表的具体实现。原创 2023-07-12 19:33:26 · 98 阅读 · 1 评论 -
线索二叉树
一、线索二叉树的概念在之前实现二叉树类中求结点的前驱和后继需要进行遍历操作,缺点是时间复杂度过高,为O(n),这对于基本操作而言效率太低。所以我们想到了可以利用之前二叉链表中空的指针域,指向前驱和后继,这就是线索二叉树。二、线索二叉树的结点结构因为孩子指针域需要存储两种指针,为了区分,在结点结构中增加了左标记域ltype和右标记域rtype。ltypelchilddatarchildrtype标记域中只能取两种值,LINK和THREAD。分别表示存储的是左右孩子指针和前驱后继原创 2021-11-18 16:31:24 · 344 阅读 · 0 评论 -
实现二叉树类及若干应用算法(附具体代码)
一、二叉树的存储结构1. 顺序存储结构由于每个数据元素的存储位置彼此之间有着一定的关系,因此可以根据结点的编号直接计算出他的父结点、左右孩子结点的位置。类似的,其他操作也可以通过计算得出。但是此存储结构只对于满、完全二叉树来说效率极高,而对于一般的二叉树而言使用顺序存储会造成空间极大的浪费。2. 链式存储结构链式存储中,每个结点结构应该包含两个指针域,分别指向左、右孩子结点,以及一个结点数据。struct BiNode{ T data; //结点数据 BiNode<T>原创 2021-11-06 21:42:05 · 1185 阅读 · 2 评论