Queue表示对象的先进先出集合。实现了ICollection接口,可以由数组或链表两种形式实现,在.NET中是以数组的形式实现的。 概念 队列是一种特殊的线性表,特殊之处在于它只允许在表头(head)进行删除操作,而在表尾(tail)进行插入操作。 队列的数据元素又称为队列元素。在队列中插入一个队 ...
分类:
其他好文 时间:
2020-07-21 22:22:47
阅读次数:
77
重学数据结构(二) 对线性表的顺序表进行实现 public abstract class MyList<T>{ //定义顺序表的初始容量 final int maxSize = 10; //对数据元素进行存储 private T[] list; //顺序表中元素的个数 private int len ...
分类:
其他好文 时间:
2020-07-21 21:35:38
阅读次数:
51
文 / 2020.07.20 最近这段时间打算把数据结构重新学习一遍。选取的课程为MOOC上的课程《数据结构》。 计划将基础知识用思维导图的方式记录,并进行简单总结。 线性结构 什么是线性表? 线性表是同类型数据元素构成有序序列的线性结构。广义表是线性表的推广,元素除了可以是单元素,也可以是另一个广 ...
分类:
其他好文 时间:
2020-07-21 09:29:20
阅读次数:
71
根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 链表 ,将元素存放在通过链接构造起来的一系列存储块中。 一、顺序表 在Java中,顺序表的结构主要有:数组、ArrayList ArrayList 的 本质是对 ...
分类:
编程语言 时间:
2020-07-19 17:47:51
阅读次数:
71
1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 ...
分类:
其他好文 时间:
2020-07-18 22:33:40
阅读次数:
66
目录 1、顺序表的概念 2、顺序表的的存储表示和实现 3、基本操作的实现 3.1初始化 3.2取值 3.3查找 3.4插入 3.5删除 4、测试线性表的功能 1、顺序表的概念:使用一段连续的存储空间存储线性表的元素 2、顺序表的存储表示和实现 /** * 线性表的顺序表示和实现(数组) */ //操 ...
分类:
其他好文 时间:
2020-07-17 13:44:21
阅读次数:
59
1. 图的概念 图(Graph)另一种非线性表数据结构。 树中的元素称为节点,图中的元素叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。这种建立的关系叫作边(edge)。跟顶点相连接的边的条数叫作顶点的度(degree)。 有方向的图叫作“有向图”。以此类推,我们把边没有方向 ...
分类:
其他好文 时间:
2020-07-16 00:03:32
阅读次数:
57
顺序查找 算法思想 算法实现 算法优化 顺序查找的算法思想 顺序查找,又叫“线性查找”,通常用于线性表 从头到尾查 顺序查找的实现 typedef struct{ //查找表的数据结构(顺序表) ElemType *elem; //动态数组的基址 int TableLen; //表的长度 }SSTa ...
分类:
其他好文 时间:
2020-07-15 23:37:04
阅读次数:
97
栈 "栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。 一、概念 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表,这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入 ...
分类:
其他好文 时间:
2020-07-15 12:50:17
阅读次数:
50
一、什么是栈(Stack) 首先来说,栈是一种线性表的表现形式,其定义是只允许在栈顶进行插入或者删除的线性表,所以栈就有线性表的表现形式,链式栈和顺序栈。 栈顶(Top):允许进行数据的插入和删除的一端。 栈底(Bottom):不允许进行数据的插入和删除的一端。 空栈:不含任何元素的栈。 由图我们可 ...
分类:
其他好文 时间:
2020-07-13 18:13:56
阅读次数:
57