hebtu666

少说,多做。

最短路

最短路     典型用途:交通网络的问题——从甲地到乙地之间是否有公路连通?在有多条通路的情况下,哪一条路最短?       交通网络用有向网来表示:顶点——表示城市,弧——表示两个城市有路连通,弧上的权值——表示两城市之间的距离、交通费或途中所花费的时间等。     如何能够使一个城市到另一个...

2019-02-20 21:19:25

阅读数 275

评论数 0

拓扑排序

(1)有向无环图     无环的有向图,简称 DAG (Directed Acycline Graph) 图。   有向无环图在工程计划和管理方面的应用:除最简单的情况之外,几乎所有的工程都可分为若干个称作“活动”的子工程,并且这些子工程之间通常受着一定条件的约束,例如:其中某些子工程必须在另一...

2019-02-20 21:18:21

阅读数 103

评论数 0

最小生成树

问题提出:     要在n个城市间建立通信联络网。顶点:表示城市,权:城市间通信线路的花费代价。希望此通信网花费代价最小。 问题分析:     答案只能从生成树中找,因为要做到任何两个城市之间有线路可达,通信网必须是连通的;但对长度最小的要求可以知道网中显然不能有圈,如果有圈,去掉一条边后,并不破...

2019-02-20 21:16:21

阅读数 187

评论数 0

c语言文件操作

文件操作读写 1 文件处理原理及基本概念 C语言的文件处理功能,大体上分为两种:一种是设置缓冲区,另一种是不设置缓冲区。因为不设置缓冲区的方法直接对磁盘进行操作,速度较慢,并且由于不是C的标准函数,跨平台操作时容易出问题。本文只介绍设置缓冲区的文件处理方式: 当使用包含在头文件stdio.h...

2018-12-21 09:26:46

阅读数 457

评论数 0

Abstract Self-Balancing Binary Search Tree

二叉搜索树   二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别...

2018-12-14 21:45:51

阅读数 797

评论数 1

数据结构课上笔记15

图的存储   多重链表:完全模拟图的样子,每个节点内的指针都指向该指向的节点。 节点结构内指针数为度 缺点:浪费空间、不容易操作   数组表示法(邻接矩阵表示法) 可用两个数组存储。其中一个 一维数组存储数据元素(顶点)的信息,另一个二维数组 (邻接矩阵)存储数据元素之间的关系(...

2018-12-07 14:36:06

阅读数 175

评论数 8

根据数组建立平衡二叉搜索树

它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉(搜索)树。   二分:用有序数组中中间的数生成搜索二叉树的头节点,然后对数组的左右部分分别生成左右子树即可(重复过程)。 生成的二叉树中序遍历一定还是这个序列。   非常简单,不过多叙述: p...

2018-11-26 21:10:11

阅读数 464

评论数 0

二叉树序列化/反序列化

二叉树被记录成文件的过程,为二叉树的序列化 通过文件重新建立原来的二叉树的过程,为二叉树的反序列化 设计方案并实现。 (已知结点类型为32位整型)   思路:先序遍历实现。 因为要写入文件,我们要把二叉树序列化为一个字符串。 首先,我们要规定,一个结点结束后的标志:“!” 然后就可...

2018-11-26 17:49:30

阅读数 561

评论数 0

数据结构课上笔记14

图是一种:   数据元素间存在多对多关系的数据结构   加上一组基本操作构成的抽象数据类型。 图 (Graph) 是一种复杂的非线性数据结构,由顶点集合及顶点间的关系(也称弧或边)集合组成。可以表示为: G=(V, VR)   其中 V 是顶点的有穷非空集合; VR 是顶点之间   关系...

2018-11-25 20:49:08

阅读数 653

评论数 0

数据结构课上笔记13

树存储结构   父节点表示法   数据域:存放结点本身信息。 双亲域:指示本结点的双亲结点在数组中的位置。 对应的树: /* 树节点的定义 */ #define MAX_TREE_SIZE 100 typedef struct{ TElemType data; ...

2018-11-23 16:09:55

阅读数 449

评论数 0

数据结构课上笔记12

二叉树的存储结构    顺序存储结构   完全二叉树:用一组地址连续的 存储单元依次自上而下、自左至右存 储结点元素,即将编号为 i  的结点元 素存储在一维数组中下标为 i –1 的分量中。 一般二叉树:将其每个结点与完 全二叉树上的结点相对照,存储在一 维数组的相应分量中。   ...

2018-11-23 14:51:52

阅读数 447

评论数 0

数据结构课上笔记11

满二叉树 (Full binary tree) 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。 国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。 国...

2018-11-23 14:25:16

阅读数 459

评论数 0

先序中序数组推后序数组

二叉树遍历 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。   从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分...

2018-11-22 15:59:39

阅读数 394

评论数 0

先序中序后序两两结合重建二叉树

遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。 设L、D、R分别表示遍历左子树、访问根结点和遍历右子树, 则对一棵二...

2018-11-21 16:16:04

阅读数 416

评论数 0

判断平衡二叉树

平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1。并且左右两个子树都是一棵平衡二叉树 (不是我们平时意义上的必须为搜索树) 判断一棵树是否为平衡二叉树:   可以暴力判断:每一颗树是否为平衡二叉树。   分析: ...

2018-11-19 21:05:25

阅读数 448

评论数 0

判断二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。  ...

2018-11-19 20:42:11

阅读数 147

评论数 0

数据结构课上笔记10

树   树的定义:树(Tree)是 n(n≥0)个结点的有限集。若 n=0,称为空树;若 n > 0,则它满足如下两个条件:   (1)  有且仅有一个特定的称为根 (Root) 的结点;   (2)  其余结点可分为 m (m≥0) 个互不相交的有限集 T1, T2...

2018-11-09 17:09:25

阅读数 116

评论数 0

串的堆分配实现

今天,线性结构基本就这样了,以后(至少是最近)就很少写线性基础结构的实现了。 串的类型定义 typedef struct {     char *str;     int length; }HeapString; 初始化串 InitString(HeapString *S) {   ...

2018-11-08 15:50:23

阅读数 375

评论数 0

数据结构课上笔记9

数组:按一定格式排列起来的具有相同类型的数据元素的集合。   二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。  同理,推广到多维数组。若 n -1 维数组中的元素又是一个一维数组结构,则称作 n 维数组。  声明格式:数据类型   变量名称[行数] [列数] ;   ...

2018-11-07 21:22:05

阅读数 431

评论数 0

数据结构课上笔记8

串的概念:串(字符串):是由 0 个或多个字符组成的有限序列。 通常记为:s =‘ a1 a2 a3 … ai …an  ’ ( n≥0 )。 串的逻辑结构和线性表极为相似。   一些串的类型:   空串:不含任何字符的串,长度 = 0。 空格串:仅由一个或多个空格组成的串。 子串:...

2018-11-07 21:07:34

阅读数 618

评论数 0

提示
确定要删除当前文章?
取消 删除