数据结构
文章平均质量分 50
saltedFishGong
蠢萌蠢萌的编程小白
展开
-
简单了解树和二叉树
树:n(n>=0)个结点的有限集。在任何一棵非空树中: 1.有且只有一个特定称为根的结点 2.n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2…..Tn,其中Ti称为树的子树。树的结点:数据元素及若干指向其子树的分支树的性质:递归性,层次性一些术语的定义: 结点的度:结点拥有的子树个数 树的度:树中各结点的度的最大值 叶子(终端结点):度为零的结点 非终端结点(分支结点)原创 2017-11-21 21:41:56 · 247 阅读 · 0 评论 -
图的定义和术语
图(Graph): 由两个集合V(G)和E(G)组成的,记为G = V(V,{E})。其中:V是顶点的有穷非空有限集;E是边(弧)的有限集约定符号: V:顶点有穷非空集合 VR:顶点关系的集合 E:边或弧的集合 n:图中顶点的数目 e:边或弧的数目 G:图 N:网有向图解析: 顶点:图中的数据元素 弧,弧尾(初始点),弧头(终端点) G = (V,{A}) 其中 V =原创 2017-12-10 08:46:18 · 414 阅读 · 0 评论 -
图的存储结构
图的2种常用的存储形式: 1.数组(邻接矩阵)表示法 2.邻接表数组表示法: 用一个一维数组存放顶点的元素信息 用一个二维数组存储顶点之间的关系,其中的数据元素A[i][j] = 1,i到j有弧且i≠j,否则A[i][j]= 0有向图: OD(vi) = 第i行元素值之和 ID(vi) = 第i列元素之和无向图: TD(vi) = 第i行或者第i列的元素值之和 无向图的邻接矩阵是原创 2017-12-10 15:02:55 · 2536 阅读 · 0 评论 -
图的数组(邻接矩阵)存储实现
图的结构体定义:typedef ElemType AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//顶点之间关系图typedef struct{ TElemType vexs[MAX_VERTEX_NUM];//顶点元素存储 AdjMatrix arcs;//顶点之间关系图 int vexnum, arcnum;//顶点个数和边或弧的数原创 2017-12-10 15:59:24 · 532 阅读 · 0 评论 -
链式队列
链队列定义: 1. 使用两个指针分别记录队头和队尾的当前位置 2. 设立一个头结点,并令头指针指向头结点,头结点的指针域指向队头元素所在的结点 3. 判空条件:头指针和尾指针均指向头结点 代码实现: 1.初始化链式队列:初始化头指针和尾指针指向头结点,令头结点的指针域为空Status InitQueue(LinkQueue &q){ q.front = q.rear = (Que原创 2017-12-02 19:13:33 · 482 阅读 · 0 评论 -
二叉树的递归实现
二叉树的二叉链表结构:typedef struct BiTNode{ ElemType data;//数据域 struct BiTNode *lchild, *rchild;//两个指针域,分别指向左子树和右子树}BiTNode,*BiTree;创建一个二叉树:每生成一个新结点,如果该结点为空,就不用再递归生成左右子树结点。Status CreateBiTree(BiTree &原创 2017-12-04 00:28:05 · 295 阅读 · 0 评论 -
查找的基本概念
一. 定义和术语 查找表:为了便于查找而专门设置的一种数据结构,是由同一类型的用于查找的数据元素(记录)构成的集合 对查找表经常进行的操作: 1.查询某个特定的数据元素是否在查找表中 2.检索某个特定的数据元素的各种属性 3.在查找表中插入一个数据元素 4.从查找表中删除某个数据元素 静原创 2017-12-21 14:55:04 · 788 阅读 · 0 评论 -
数组的定义和顺序实现
n维数组是线性表的扩展: 当n=1时,n维数组退化成顺序表 当n>1时,n维数组可看成表中数据元素是n-1维数组的线性表(列向量,行向量) 二维数组的两种理解方式: 视作多个一维数组 视作一个一维数组两种方式都用行列理解方式数组的存储结构特点: 用一组地址连续的存储单元按照某种规则存放数组中的数据元素。因为数原创 2017-12-18 23:44:42 · 1860 阅读 · 1 评论