10 2021 档案
摘要:图的存储和基本操作 1.邻接矩阵法:数组实现的顺序存储,空间复杂度高,不适合存储稀疏图。 #define MaxVertexnum 100 //邻接矩阵 typedef char VertexType;//顶点的数据类型 typedef int EdgeType;//顶点权值的数据类型 typede
阅读全文
摘要:树的存储方式:顺序存储结构,链式存储结构 双亲表示法: #define MaxSize 100//树中最多结点数 typedef struct {//树的结点定义 ElemType data;//数据元素 int parent;//双亲位置域 }PTNode; typedef struct {//树
阅读全文
摘要:1.二叉树的遍历 先序:根左右 中序:左根右 后序:左右根 每个结点都只访问一次并且仅访问一次,故时间复杂度为O(n),在递归遍历中,递归工作栈的栈深恰好为树的深度,所以在最坏情况下,二叉树是有n个结点且深度为n的单支树,遍历算法的空间复杂度为O(n)。 void PreOrder(BiTree r
阅读全文
摘要:一、树 树的定义是递归的,即在树的定义中又用到了其自身,树是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,结点间关系是前驱唯一而后继不唯一,即结点之间是一对多的关系。 树中结点的最大度数就是树的度;树中一个结点的孩子个数称为该结点的度 n个结点的树中有n-1条边 ;结点数=总度数+1
阅读全文
摘要:5.1数组是由具有某种结构的数据元素构成,广义表则是由单个元素或子表构成的。因此数组和广义表中的数据元素可以是单个元素,也可以是一个具有线性结构的数据。从这个意义上讲,数组和广义表是线性表的推广。 “N维数组是数据元素为N-1维数组的线性表” 5.2.数组的顺序存储与实现:(1)按行序存储(2)按列
阅读全文
摘要:串 字符串是最基本的非数值数据,字符串是一种特定的线性表,其特殊性在于组成线性表的每个元素就是一个单字符。 串的存储结构 (1)定长顺序串:定长顺序存储表示:用一组地址连续的存储单元存储串值的字符序列 #define MaxSize 255//预定义最大串长为255 typedef struct {
阅读全文
摘要:3.1栈在括号匹配中的应用 用栈实现括号匹配:依次扫描所有字符,遇到左括号入栈,遇到右括号,则弹出栈顶元素,检查是否匹配。 匹配失败情况有:(1)左括号单;(2)右括号单(3)左右括号不匹配 int Match(char c1, char c2) { if ((c1 == '(' && c2 ==
阅读全文