摘要:
一、图的概念 通常图表示为偶对,是顶点和边的集合 G = (V,E)V:顶点(数据元素)的又穷非空集合G:边的又穷集合 1.图的分类 1.通常根据边有无方向分为:又向图和无向图。 2.根据任意两个顶点之间是否有边相连称为:完全图其中:无向完全图中 n个顶点有 n(n-1)/2 条边 有向完全图中 n 阅读全文
摘要:
一、哈夫曼树的基本概念 也叫最优二叉树 1.引子: 将很多学生的百分制成绩转化为五分制成绩<60: D 60-69: D 70-79:C 80-89:B 90-100:A 两种判断的方式所需要的比较总的次数明显不同,在数据量很大的情况下所需要的时间也会差距很大 2.基本术语 路径:从树中的一个结点到 阅读全文
摘要:
一、森林和树 树:是n(n>=0)个结点的有限集。若 n = 0,称为空树 森林:是m(m>=0)棵互不相交的树的集合 1.树的存储结构 实现: 1.双亲表示法 定义结构数组,存放树的结点,每个结点包含两个域:数据域:存放结点本身信息 双亲域:指示本结点的双亲结点在数组中的位置 找双亲任意,找孩子难 阅读全文
摘要:
一、二叉树的遍历 遍历:顺着某一条搜索路径巡访二叉树中的结点,使的每个结点均被访问一次,而且仅被访问一次。 遍历的目的:得到树中所有结点的一个线性排序 遍历的作用:是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心 一般讨论三种遍历方案:1.根左右,2.左根右,3.左右根 阅读全文
摘要:
一、满二叉树 1.概念:一颗深度为K且有2k-1个结点的二叉树称为满二叉树(每一个结点都有左右子树) 特点:1.每一层上的结点数都是最大结点数(即每层都是满的) 2.叶子结点全部在最底层 二、完全二叉树 1.概念 深度为K的具有n个结点的二叉树,当且仅当其每一个结点都与深度K的满二叉树中编号为1~n 阅读全文
摘要:
一、树 1.概念 前驱唯一,后驱不唯一(一对多,是非线性结构,结点之间有分支,具有层次关系) 数是n(n>=0)个结点的有限集 若n=0为空树 n>0时,有且仅有一个特定的称为根的结点其余结点可以分为m(m>=0)个互不相交的有限集T1,T2,T3...Tm,其中每一个集合本身又是一棵树,并称为根的 阅读全文
摘要:
一、广义表 广义表(有称Lists):是n>=个元素 a0,a1,an-1的有序列,其中每一个ai或者是原子,或者是一个广义表。广义表中的元素没有定义是否为同种元素。 广义表通常记作:LS = (a1,a2,... ,an) 其中: LS为表名, n为表长度, 每一个ai为表的元素 习惯上,一般用大 阅读全文
摘要:
一、数组 数组:按一定格式排列起来的具有相同类型的数据元素集合。 一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组 一维数组的逻辑结构:线性结构。定长的线性表 数组的特点:结构固定——定义后维数和维界不再改变 一般不做删除和添加元素的操作。做修改,取元素 二维数组:可以看作线性表也可 阅读全文
摘要:
一、串的概念 串:零个或多个任意字符串组成的有限序列 S="a1 a2 ... an" S :串名 a1-an:串值 n是串长, n=0是空串 字串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串 “abcde”的子串有: “”、“a”、“ab”、“abc”、...... 、“abcde 阅读全文
摘要:
(一)队列的链式表示 若用户无法估计所用队列的长度,则宜采用链队列,仍然两个指针:一个front 头指针,一个rear尾指针 // 链队列的数据定义 #define MAXQIZE 100 //最大长度 typedef struct Qnode { QElemType data; stuct Qno 阅读全文