(一)基础概念 1. 数据结构 相互之间存在一种或多种特定关系的数据元素的集合。 2. 逻辑结构 指数据对象中数据元素之间的相互关系。 逻辑关系分为四种。分别是 集合、线性关系、树形关系和图。 l 集合 数据结构元素之间,除了同属于一个集合外,没有其它关系。 l 线性关系 数据结构元素之间是一对一的 ...
分类:
其他好文 时间:
2020-11-17 12:29:24
阅读次数:
4
目录 1. 什么是进程 2. 进程模型 2.1 PCB 2.2 进程状态 2.2.1 五状态模型 2.2.2 七状态模型 2.2.3 进程切换 2.3 进程组织 2.3.1 线性表 2.3.2 链表 2.3.3 索引 3. 线程 3.1 线程结构 3.2 线程状态 4.进程调度 4.1 几种调度方式 ...
分类:
系统相关 时间:
2020-11-13 13:19:28
阅读次数:
32
引言 上文笔者描述了单链表的基本操作,但尾插法在单链表中效率太低,我们可以对单链表进行简单的变形,提高尾端插入元素等操作的效率。 单向循环链表 单向循环链表只需要将普通的单链表首尾相连即可实现。 Python实现: class ListNode(): def __init__(self, val, ...
分类:
其他好文 时间:
2020-11-12 13:33:29
阅读次数:
6
#include <stdio.h> #include <stdlib.h> //数组的应用:顺序表【线性表的一种存储方式】 struct Arr { int * pBase; //保存首地址 int len; //数组的总长度 int cet; //cet: current efficient(当 ...
分类:
编程语言 时间:
2020-11-01 22:05:49
阅读次数:
23
一.定义 线性表是最简单也是编程中使用最多的一种数据结构。 例如英文字母表,成绩单 线性表(Linear List)是具有相同特性的数据元素的一个有限序列,是对线性结构的抽象 。 线性结构的特点是结构中的数据元素在位置上有序,并且元素之间存在一对一的线性关系。 (1)除第一个位置的数据元素外,其它数 ...
分类:
其他好文 时间:
2020-10-31 01:34:22
阅读次数:
18
什么是线性表 ? 线性表是 n 个数据元素的有限序列,最常用的是链式表达,通常也叫作线性链表或者链表。在链表中存储的数据元素也叫作结点,一个结点存储的就是一条数据记录。每个结点的结构包括两个部分: 第一是具体的数据值 第二是指向下一个结点的指针 这是一个单项链表 如果最后一个指向第一个就会形成一个循 ...
分类:
其他好文 时间:
2020-10-24 11:54:47
阅读次数:
41
引言 线性表(三)——线性表(六)这四节笔者介绍了链表的实现及变形,本节将简单介绍几种链表的应用。 反转链表 问题来源: 力扣:206. 反转链表 问题简述: 给定一个链表,请将这个链表反转。 问题分析: 在顺序表中,我们常采用的反转手段是根据索引交换列表的前半段和后半段实现反转。但链表的存储方式不 ...
分类:
其他好文 时间:
2020-10-12 20:43:13
阅读次数:
33
本文源码:GitHub·点这里||GitEE·点这里一、队列结构1、基础概念队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。2、特点描述队列是一个有序列表,可以用数组或是链表来实现,遵循先进先出的原则。即:先进入队列的数据,会先取出;后
分类:
编程语言 时间:
2020-09-17 19:41:15
阅读次数:
93
本文源码:GitHub·点这里 || GitEE·点这里 一、队列结构 1、基础概念 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 ...
分类:
编程语言 时间:
2020-09-17 19:20:37
阅读次数:
29
本章我们介绍有关栈的知识,栈的重点在于顺序存储,链式存储及其特点。 1.栈的基本概念 (1)栈的定义 栈是只允许在一端进行插入和删除的线性表。有一个栈顶和栈底。栈顶是允许插入和删除的那一端,栈底是不允许插入和删除的那一端。如果一个栈不包括任何元素,就是一个空表也就是空栈。 栈的特点是先进先出。 (2 ...
分类:
其他好文 时间:
2020-09-17 17:51:55
阅读次数:
21