线性表的链式存储结构 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。 意味着数据元素可以存在内存未被占用的任意位置。 链式结构中,除了要存数据元素信息外,还要存储它的后继元素的存储地址。 为了表示每个数据元素ai与其直接后继数据元素 ...
分类:
其他好文 时间:
2020-07-23 01:44:01
阅读次数:
73
单链表介绍 单链表(带头结点)逻辑结构示意图如下: 链表是有序的列表,但是它在内存中是存储如下所示(真实存储结构): (1)链表是以节点的方式来存储 (2)每个节点包含data域,next域:指向下一个节点。 (3)如图:发现链表的各个节点不一定是连续存储。 (4)链表分带头节点的链表和没有头节点的 ...
分类:
其他好文 时间:
2020-07-22 20:09:13
阅读次数:
69
介绍 数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。数组具有三个特性 * 线性存储结构 * 顺序存储,即数组具有连续的内存空间 * 存储相同类型的数据 这些特性使数组能够随机访问,但是也使数组插入和删除操作会变得很低效,插入和删除数据后为了保证连续性,要做很多数据搬 ...
分类:
编程语言 时间:
2020-07-22 15:47:40
阅读次数:
58
代码: /*单链表(含头结点)*/ #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; //数据域 struct LNode *next; // 指针域 }LN ...
分类:
其他好文 时间:
2020-07-22 11:28:44
阅读次数:
101
线性表线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。 线性表分类:顺序存储结构、链式存储结构 例子:数组 顺序存储结构:两个相邻的元素在内存中也是相邻的。通过首地址和偏移量就可以直接访问到某元素,关于查找的适配算法很多,最快可以达到O(lo ...
分类:
其他好文 时间:
2020-07-22 11:19:55
阅读次数:
62
1、数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据2、假设数组a[int],它的首地址是base_address,那么a[k]元素的起始地址等于base_address+k*type_size(k为数组的下标,数组存储的是int类型数据,type_siz ...
分类:
编程语言 时间:
2020-07-22 02:14:12
阅读次数:
92
1、链表是通过“指针”将一组零散的内存块串联起来的数据结构2、链表可以分为单链表、双向链表和单/双向循环链表2.1、删除链表中等于某个值的节点,单链表和双向链表的时间复杂度一样2.2、由于双向列表可以直接找到前驱结点,所以删除指定的节点,双向链表比单向链表高;同时在链表的某个指定结点前面添加一个结点 ...
分类:
编程语言 时间:
2020-07-22 02:11:20
阅读次数:
69
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