一、非线性结构

数据结构形式是线性结构和非线性结构,非线性结构的数据结构关系是数据间关系是一对多,或者多对多的关系。下面我将介绍,数据结构中非线性结构:树和图。

二、树

树是一种一对多的数据结构关系,其是由一个根节点通过指针指向多个节点之间的数据结构。其中构成有最大层这样的子节点,称之为深度。一个节点有最多的后继节点数据节点称之为最大度数。

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. 数据结构——非线性结构(图)

    文章目录 一. 非线性结构的概述 二. 图的基本概念 1. 定义 2. 无向图.有向图 2.1 无向图 2.2 有向图 2.3 简单图 2.4 多重图 3. 顶点的度.出度.入度 3.1 对于无向图 ...

  3. 【数据结构】非线性结构之树结构(含堆)

    前言 前面的三篇文章已经将线性结构讲述完毕了,下面的文章将会为大家将讲点新东西:非线性结构中的树结构.萌新对这里的知识点相对陌生,建议反复观看!! 关于线性结构的三篇文章放在下面: 线性表之顺序表 线 ...

  4. 分层次的非线性结构——树(广义表)05

    包含子结构的线性结构,线性表的推广--广义表 广义表的定义 广义表定义 约定:为了区分原子和子表,书写时用大写字母表示子表,用小写字母表示原子. 广义表特性 广义表表示方法 用圆圈和方框分别表示表和单 ...

  5. 数据结构之线性结构与非线性结构

    数据结构包括两大类:线性结构和非线性结构 线性结构:其中线性结构是数据元素之间有着一对一的对应关系,分为顺序储存结构和链式存储结构,顺序储存结构顾名思义是按照一定的顺序排列的(地址连续),而链式存储结 ...

  6. 【数据结构总结】第五章 树和二叉树(非线性结构)

    第五章 树和二叉树(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和 ...

  7. 【数据结构总结】第六章 图(非线性结构)

    第六章 图(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和浏览,加 ...

  8. 数据结构——非线性结构(树与二叉树)

    文章目录 一. 非线性结构的概述 二. 树的基本概念 1. 树的定义 2. 专业术语 3. 树的性质 三. 树的分类 1. 一般树 2. 二叉树(是有序树) 2.1 概念 2.2 分类 1. 一般二叉 ...

  9. 数据的逻辑结构(线性结构、非线性结构;集合结构、树状结构、网状结构),数据的存储结构(顺序结构、链式结构、索引结构、散列结构)

    数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑关系(和实现无关). 分类1:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继. ...

最新文章

  1. 【java】4.27上课及做作业时遇到的问题及第十六节课笔记整理
  2. 顾险峰: 庞加莱猜测的证明和应用
  3. AI实战:人脸识别实战项目(源码共享)
  4. 如何应用Java的BigDecimal类
  5. docker 安装mysql实战_使用docker搭建mysql实例教程
  6. python3安装第三方库教程
  7. Lindley equation
  8. mybatis学习(53):构造方法映射
  9. 2014年5月生日会
  10. IDEA中一个工程多个模块(module)分别提交到不同的git服务器
  11. [object%20HTMLInputElement] 是什么意思?
  12. Tomcat 配置https证书
  13. 3至六年级计算机知识,小学三至六年级下册信息技术教学计划范文
  14. Java图片识别技术原理-只取图片像素。。。
  15. xx学院学员评优评奖管理系统
  16. Cocos2d-xV3.17.2获取csb文件按钮组件并绑定事件
  17. Laravel log channel 分组配置
  18. TopoTag:A Robust and Scalable Topological Fiducial Marker System 笔记
  19. 利用组合模式来实现组件处理器的工程实践
  20. redis的安装步骤

热门文章

  1. 华为鸿蒙发布会直播在哪儿看,2020华为Nova8发布会直播在哪看?附直播/回放在线观看入口...
  2. 2020-6:闭包(JavaScript)
  3. 像 Compose 那样写代码 :Kotlin DSL 原理与实战
  4. 3DMAX移动点的方法(包括点、中心点、移动问题)
  5. 修改WordPress登录页面LOGO图片(WP站长必看)
  6. linux运行内部错误,介绍Linux系统下的500内部服务器错误及故障排除500错误
  7. excel表格显示不全的方法教程
  8. (一)linux基本命令
  9. 数据结构 - Java -韩顺平 图解Java数据结构和算法
  10. jsonResult