数据结构之非线性结构:树、图
一、非线性结构
数据结构形式是线性结构和非线性结构,非线性结构的数据结构关系是数据间关系是一对多,或者多对多的关系。下面我将介绍,数据结构中非线性结构:树和图。
二、树
树是一种一对多的数据结构关系,其是由一个根节点通过指针指向多个节点之间的数据结构。其中构成有最大层这样的子节点,称之为深度。一个节点有最多的后继节点数据节点称之为最大度数。
typedef struet TreeNode{ElemType data; //数据域
struct TreeNode *next1, *next2....;
}TreeNode,*Tree;
三、图
图G由顶点集V和边集E组成, 记为G= (V,E), 其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V= {v1, V2,···, Vn }, 则用I V1表示图G中顶点的个数,也称图G的阶, E = {(u, v) I uEV, vEV}, 用心表示图G中边的条数。图是多对多的数据结构形式。
//图的邻接表表示
#define MaxVertexNum 100
typedef struct ArcNode{int adjvex;
struct ArcNode *next;
}ArcNode;
typedef struet VNode{VertexType data;
ArcNode *first;
}VNode,AdjList[MaxVertexNum];typedef struet{
AdjList vertices;
int vexnum,arcnum;
} ALGraph
数据结构之非线性结构:树、图相关推荐
- 数据结构 非线性结构 树 介绍及存储方法
所谓树, 其实跟链表有类似的地方, 就是都是由节点和指针构成的数据结构. 在链表中, 每1个节点(尾节点除外)只有1个指针指向下1个节点. 所以链表各个节点可以由一条线链接起来, 就是一种线性结构 ...
- 数据结构——非线性结构(图)
文章目录 一. 非线性结构的概述 二. 图的基本概念 1. 定义 2. 无向图.有向图 2.1 无向图 2.2 有向图 2.3 简单图 2.4 多重图 3. 顶点的度.出度.入度 3.1 对于无向图 ...
- 【数据结构】非线性结构之树结构(含堆)
前言 前面的三篇文章已经将线性结构讲述完毕了,下面的文章将会为大家将讲点新东西:非线性结构中的树结构.萌新对这里的知识点相对陌生,建议反复观看!! 关于线性结构的三篇文章放在下面: 线性表之顺序表 线 ...
- 分层次的非线性结构——树(广义表)05
包含子结构的线性结构,线性表的推广--广义表 广义表的定义 广义表定义 约定:为了区分原子和子表,书写时用大写字母表示子表,用小写字母表示原子. 广义表特性 广义表表示方法 用圆圈和方框分别表示表和单 ...
- 数据结构之线性结构与非线性结构
数据结构包括两大类:线性结构和非线性结构 线性结构:其中线性结构是数据元素之间有着一对一的对应关系,分为顺序储存结构和链式存储结构,顺序储存结构顾名思义是按照一定的顺序排列的(地址连续),而链式存储结 ...
- 【数据结构总结】第五章 树和二叉树(非线性结构)
第五章 树和二叉树(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和 ...
- 【数据结构总结】第六章 图(非线性结构)
第六章 图(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和浏览,加 ...
- 数据结构——非线性结构(树与二叉树)
文章目录 一. 非线性结构的概述 二. 树的基本概念 1. 树的定义 2. 专业术语 3. 树的性质 三. 树的分类 1. 一般树 2. 二叉树(是有序树) 2.1 概念 2.2 分类 1. 一般二叉 ...
- 数据的逻辑结构(线性结构、非线性结构;集合结构、树状结构、网状结构),数据的存储结构(顺序结构、链式结构、索引结构、散列结构)
数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑关系(和实现无关). 分类1:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继. ...
最新文章
- 【java】4.27上课及做作业时遇到的问题及第十六节课笔记整理
- 顾险峰: 庞加莱猜测的证明和应用
- AI实战:人脸识别实战项目(源码共享)
- 如何应用Java的BigDecimal类
- docker 安装mysql实战_使用docker搭建mysql实例教程
- python3安装第三方库教程
- Lindley equation
- mybatis学习(53):构造方法映射
- 2014年5月生日会
- IDEA中一个工程多个模块(module)分别提交到不同的git服务器
- [object%20HTMLInputElement] 是什么意思?
- Tomcat 配置https证书
- 3至六年级计算机知识,小学三至六年级下册信息技术教学计划范文
- Java图片识别技术原理-只取图片像素。。。
- xx学院学员评优评奖管理系统
- Cocos2d-xV3.17.2获取csb文件按钮组件并绑定事件
- Laravel log channel 分组配置
- TopoTag:A Robust and Scalable Topological Fiducial Marker System 笔记
- 利用组合模式来实现组件处理器的工程实践
- redis的安装步骤
热门文章
- 华为鸿蒙发布会直播在哪儿看,2020华为Nova8发布会直播在哪看?附直播/回放在线观看入口...
- 2020-6:闭包(JavaScript)
- 像 Compose 那样写代码 :Kotlin DSL 原理与实战
- 3DMAX移动点的方法(包括点、中心点、移动问题)
- 修改WordPress登录页面LOGO图片(WP站长必看)
- linux运行内部错误,介绍Linux系统下的500内部服务器错误及故障排除500错误
- excel表格显示不全的方法教程
- (一)linux基本命令
- 数据结构 - Java -韩顺平 图解Java数据结构和算法
- jsonResult