笔记
S01d13r
爱人者,人恒爱之。
展开
-
顺序表的类型定义与基本操作
顺序表的类型定义与基本操作顺序表主要指数组,顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表中逻辑相邻的元素也物理相邻,采用顺序存储结构的线性表通常称为顺序表。1. 顺序表的类型定义typedef struct{ ElemType *elem; // 存储空间的基地址 int length; // 当前长度}SqList; // 顺序表的结构类型为 SqList2. 顺序表的基本操作顺序表的操作不多,但可以通原创 2021-01-16 13:26:17 · 8635 阅读 · 0 评论 -
数据结构:线性表
数据结构:线性表1. 线性表的定义和特点线性表的定义:由 n ( n≥0n \geq 0n≥0 )个数据特性相通的元素构成的有限序列。线性表的特点:(1) 存在唯一的一个被称作 “ 第一个 ” 的数据元素;(2) 存在唯一的一个被称作 “ 最后一个 ” 的数据元素;(3) 除第一个之外,结构中的每个数据元素均只有一个前驱;(4) 除最后一个之外,结构中的每个数据元素均只有一个后继;2. 线性表的类型定义ADT List {数据对象:D = { aia_iai | ai∈ElemSet,原创 2020-09-09 20:34:11 · 670 阅读 · 1 评论 -
详解二叉排序树及其基本操作
详解二叉排序树及其基本操作二叉排序树又称二叉查找树,它是一种对排序和查找都很有用的特殊二叉树。1. 二叉排序树的定义二叉排序树或者是一颗空树,或者是具有下列性质的二叉树:(1) 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2) 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3) 它的左、右子树也分别为二叉排序树。由定义可得到二叉排序树的一个重要性质:中序遍历一颗二叉排序树时可以得到一个结点值递增的有序序列。在下面讨论二叉排序树的操作中,使用二叉链表作为存原创 2020-11-22 15:39:05 · 3121 阅读 · 0 评论 -
数据结构:图
数据结构:图1. 图的定义和基本术语1.1 图的定义图 G 由两个集合 V 和 E 组成,记作 G = (V,E),其中 V 是顶点的有穷非空集合,E 是 V 中边 ( 顶点偶对 ) 的有穷集合。E(G) 可以为空,则图 G 只有顶点而没有边。有向图中,顶点对 <x,y> 是有序的。x 为弧尾,y 为弧头,称为有向边或弧。<x,y> 与 <y,x> 是不同的两条边,无向边的表示方法:(x,y)。1.2 图的基本术语用 n 表示图中顶点数目,e 表示边的数目,下原创 2020-11-15 21:30:19 · 768 阅读 · 0 评论 -
二叉树的类型定义与基本操作
二叉树的类型定义与基本操作树结构是一类重要的非线性数据结构,在客观世界中广泛存在。树在计算机领域中也得到了广泛的应用,尤以二叉树最为常用。本文重点讨论二叉树的基本操作。1. 二叉树的类型定义二叉树通常由三个域组成:数据域、左孩子指针域和右孩子指针域。其类型定义为:typedef struct BiNode{ char data; // 数据域 struct BiNode* lchild, * rchild; // 左右孩子指针域}Bi原创 2020-10-29 20:25:45 · 4785 阅读 · 0 评论 -
详解 KMP 算法与 next 数组的计算
详解 KMP 算法与 next 数组的计算1. KMP 算法KMP 算法为 BF 算法的优化,当模式串与主串之间存在许多 “部分匹配” 的情况下比 BF 算法快很多。其核心是利用匹配失败后的信息,具体通过一个 next 数组实现,数组本身包含了模式串的局部匹配信息。下面给出 KMP 与 BF 的代码实现:...原创 2020-10-28 12:24:36 · 716 阅读 · 0 评论 -
数据结构:树和二叉树
数据结构:树和二叉树引言:树结构是一类重要的非线性数据结构。树是以分支关系定义的层次结构,在计算机领域广泛应用,尤以二叉树最为常用。在操作系统中,用树来表示文件目录的组织结构,在编译系统中,用树来表示源程序的语法结构,在数据库系统中,树结构也是信息的重要组织形式。本章重点讨论二叉树的存储结构及其各种操作,并研究树和森林与二叉树的转换关系,最后介绍树的应用。1. 树和二叉树的定义1.1 树的定义树是 n 个结点的有限集,它或为空树;或为非空树,对于非空树 T:(1) 有且仅有一个称之为根的结点;原创 2020-10-25 11:39:20 · 758 阅读 · 0 评论 -
数据结构:串和广义表
数据结构:串、数组和广义表1. 串的定义串( string )(或字符串)是由零个或多个字符组成的有限序列,一般记为sss = " a1a2...ana_1 a_2 ... a_na1a2...an " ( n≥0n \geq 0n≥0 )其中,原创 2020-10-08 17:14:48 · 815 阅读 · 0 评论 -
数据结构:栈和队列
数据结构:栈和队列1. 栈和队列的定义和特点栈的定义和特点:栈是限定仅在表尾进行插入或删除操作的线性表。这里的表尾称为栈顶,相应的,表头称为栈底。不含元素的空表称为空栈。栈的特点是后进先出。队列的定义和特点:队列限定在表的一端进行插入,而在另一端删除元素。允许插入的一端称为队尾,允许删除的一端称为队头。队列的特点是先进先出。2. 栈的表示和操作的实现2.1 栈的类型定义...原创 2020-09-21 09:16:00 · 369 阅读 · 0 评论