摘要:6.1.1 二叉树的基本概念1.二叉树二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。二叉树是有序的,即若将其左、右子树...
阅读全文
摘要:广义表的定义和基本运算顾名思义,广义表是线性表的推广。也有人称其为列表(Lists,用复数形式以示与统称的表List 的区别)。⒈广义表的定义和性质我们知道,线性表是由n 个数据元素组成的有限序列。其中每个组成元素被限定为单元素,有时这种限制需要拓宽。例如,中国举办的某体育项目国际邀请赛,参赛队清单...
阅读全文
摘要:稀疏矩阵的三元组表存储设m*n 矩阵中有t 个非零元素且tmu=A->nu; 7 B->nu=A->mu; 8 B->tu=A->tu; 9 /*稀疏矩阵的行、列、元素个数*/10 if (B->tu>0) /*有非零元素则转换*/11 { 12 ...
阅读全文
摘要:对称矩阵对于一个矩阵结构显然用一个二维数组来表示是非常恰当的,但在有些情况下,比如常见的一些特殊矩阵,如三角矩阵、对称矩阵、带状矩阵、稀疏矩阵等,从节约存储空间的角度考虑,这种存储是不太合适的。下面从这一角度来考虑这些特殊矩阵的存储方法。对称矩阵的特点是:在一个n 阶方阵中,有aij=aji ,其中...
阅读全文
摘要:本章介绍的数组与广义表可视为线性表的推广,其特点是数据元素仍然是一个表。本章讨论多维数组的逻辑结构和存储结构、特殊矩阵、矩阵的压缩存储、广义表的逻辑结构和存储结构等。5.1.1 数组的逻辑结构数组是我们很熟悉的一种数据结构,它可以看作线性表的推广。数组作为一种数据结构其特点是结构中的元素本身可以是具...
阅读全文
摘要:因为串是数据元素类型为字符型的线性表,所以线性表的存储方式仍适用于串,也因为字符的特殊性和字符串经常作为一个整体来处理的特点,串在存储时还有一些与一般线性表不同之处。4.2.1 串的定长顺序存储类似于顺序表,用一组地址连续的存储单元存储串值中的字符序列,所谓定长是指按预定义的大小,为每一个串变量分配...
阅读全文
摘要:串(即字符串)是一种特殊的线性表,它的数据元素仅由一个字符组成,计算机非数值处理的对象经常是字符串数据,如在汇编和高级语言的编译程序中,源程序和目标程序都是字符串数据;在事物处理程序中,顾客的姓名、地址、货物的产地、名称等,一般也是作为字符串处理的。另外串还具有自身的特性,常常把一个串作为一个整体来...
阅读全文
摘要:与线性表、栈类似,队列也有顺序存储和链式存储两种存储方法。1、顺序队顺序存储的队称为顺序队。因为队的队头和队尾都是活动的,因此,除了队列的数据区外还有队头、队尾两个指针。顺序队的类型定义如下:1 #define MAXSIZE 1024 /*队列的最大容量*/2 typedef struct3 {4...
阅读全文
摘要:1、char c = '\72';中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”。\72是8进制数,相当于10进制的58,相当于16进制的\x3a也就是char a=58,char a='\x3a'也就是 char a=':'字符':'的值是582、10*a++中a先进行乘法运算...
阅读全文