//*****************************************
//树的多种结构定义
//*****************************************
#define MAX_TREE_SIZE 100
typedef int TempType; //****************************************
//【双亲】表示法
//****************************************
typedef struct PTNode /* 结点结构*/
{
TempType data; /* 结点数据*/
int partent; /* 双亲位置*/
}PTNode; typedef struct /* 树结构*/
{
PTNode nodes[MAX_TREE_SISE]; /* 结点数组*/
int r,n; /* 树中根的位置和结点数*/
}PTree; //****************************************
// 【孩子】表示法
//****************************************
typedef struct CTNode /* 结点结构*/
{
TempType child; /* 结点数据*/
struct CTNode *next; /* 下一个孩子结点*/
} *ChildPtr; typedef struct /* 表头结构*/
{
TempType data; /* 结点数据*/
ChiledPtr firstChild; /* 孩子链表头指针*/
}CTBox; typedef struct /* 树结构*/
{
CTBox nodes[MAX_TREE_SIZE]; /* 结点数组*/
int r,n; /* 树中根的位置和结点数*/
}CTree; //****************************************
// 【孩子兄弟】表示法
//****************************************
typedef struct CSNode /* 结点结构*/
{
TempType data; /* 结点数据*/
struct CSNode *firstchild, *rigthsib; /* 第一个孩子结点, 该结点的右兄弟结点*/
} CSNode, *CSTree; //****************************************
// 【二叉树的二叉链表】表示法
//****************************************
typedef struct BiTNode /* 结点结构*/
{
TempType data; /* 结点数据*/
struct BiTNode *lchild, *rchild; /* 左右孩子指针*/
} BiTNode, *BiTree; //****************************************
// 【线索二叉树】表示法
//****************************************
typedef enum{Link, Thread} PointerTag; /* Link表示存储的是孩子结点, Thread表示存储的是前驱后继*/
typedef struct BiThrNode /* 结点结构*/
{
TempType data; /* 结点数据*/
struct BiThrNode *lchild, *rchild; /* 左右孩子指针*/
PointerTag LTag; /* 左标志*/
PointerTag RTag; /* 右标志*/
} BiThrNode, *BiThrTree;

数据结构中,几种树的结构表示方法(C语言实现)的更多相关文章

  1. [Data Structure] 数据结构中各种树

    数据结构中有很多树的结构,其中包括二叉树.二叉搜索树.2-3树.红黑树等等.本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂. 1. 二叉树 二叉树是数据结构中一种重要 ...

  2. mysql大数据量下修改表结构的方法

    http://www.blogjava.net/anchor110/articles/361152.html

  3. 数据结构中很常见的各种树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

    数据结构中常见的树(BST二叉搜索树.AVL平衡二叉树.RBT红黑树.B-树.B+树.B*树) 二叉排序树.平衡树.红黑树 红黑树----第四篇:一步一图一代码,一定要让你真正彻底明白红黑树 --- ...

  4. SCIP:构造数据抽象--数据结构中队列与树的解释

    现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示的对象.不应该在这里停滞不前,有许多操作可以应用于这些符号,而根本不必考虑它们到底代表着什么东西. --Hermann Weyi <思维的 ...

  5. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  6. 数据结构中的棧在C#中的实现

    数据结构中的棧在C#中的实现 一.大致学习 棧是一种面向表的数据结构,棧中的数据只能在标的某一短进行添加和删除操作,是一种典型的(LIFO)数据结构. 现实生活中的理解:自助餐厅的盘子堆,人们总是从顶 ...

  7. 使用JavaScript的数组实现数据结构中的队列与堆栈

    今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被 ...

  8. JavaScript学习总结(二十一)——使用JavaScript的数组实现数据结构中的队列与堆栈

    今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被 ...

  9. 数据结构中常用的排序算法 && 时间复杂度 && 空间复杂度

    第一部分:数据结构中常用的排序算法 数据结构中的排序算法一般包括冒泡排序.选择排序.插入排序.归并排序和 快速排序, 当然还有很多其他的排序方式,这里主要介绍这五种排序方式. 排序是数据结构中的主要内 ...

随机推荐

  1. Failed to load the JNI shared library "XXXXXXX"

    今天启动Eclipse的时候出现了这个问题,经过查找, 一般来说这种问题都是因为eclipse 和Java 的兼容性不一致所导致的. 1) 查看Eclipse 和Java 版本 那么我们需要分别查看下 ...

  2. Canvas+Video打造酷炫播放体验

    一.简介 直到现在,仍然不存在一项旨在网页上显示视频的标准. 今天,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 video 元 ...

  3. 极化码之tal-vardy算法(2)

    上一节我们了解了tal-vardy算法的大致原理,对所要研究的二元输入无记忆对称信道进行了介绍,并着重介绍了能够避免输出爆炸灾难的合并操作,这一节我们来关注信道弱化与强化操作. [1]<Chan ...

  4. NOIP2017SummerTraining0720

    这套题,看到第一题就想到了以前做过的运动鞋那道题,然后就往DP这个方向去思考,想来想去每什么思路,然后就去看第二题,第二题一看就是一道最短路的问题,但是它的建图十分困难, 怎么打都不知到该怎么建图,然 ...

  5. OpenVPN client端配置文件详细说明(转)

    本文将介绍如何配置OpenVPN客户端的配置文件.在Windows系统中,该配置文件一般叫做client.ovpn:在Linux/BSD系统中,该配置文件一般叫做client.conf.虽然配置文件名 ...

  6. Linux视频主要概述

    Linux当中称之为视频的主要为俩个方面(主要以kernel为主): 1.源代码video目录指的是主显示输出,也就是帧缓冲(Frame Buffer)驱动部分,表示对基本图形层的显示支持; 2.源代 ...

  7. .net通用防SQL注入漏洞程序(Global.asax方式)

    原理很简单:使用Global.asax中的Application_BeginRequest(object sender, EventArgs e)事件,实现表单或URL提交数据的获取,然后通过SQLI ...

  8. C#仪器数据文件解析-RTF文件

    RTF格式文件大家并不陌生,但RTF文件的编码.解码却很难,因为RTF文件是富文本格式的,即文件中除了包含文本内容,还包含文本的格式信息,而这些信息并没有像后来的docx等采用XML来隔离格式和内容, ...

  9. FTP基本操作类大全,外加c#基础公共帮助类

    总结平时用到的一些FTP操作类,方便需要的用到.github地址:https://github.com/Jimmey-Jiang/Common.Utility 1.连接FTP服务器 /// <s ...

  10. cookie存储中文

    写cookie         Cookie   chineseCookie   =   new   Cookie( "chineseCookie ",   URLEncoder. ...