摘要: 1.树的类型定义: (1)数据对象D:D是具有相同特性的数据元素的集合。 (2)数据关系R:若D为空集,则成为空树。 否则:在D中存在唯一的称为根的数据元素root。当n>1时,其余结点可分为n(n>0)个互不相交的有限集T1, T2, T3, ..., Tm,其中每一棵子集本身又是一课符合本定义的 阅读全文
posted @ 2018-11-02 23:01 H36Phaeton 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 1.队列的类型定义: ADT Queue { 数据对象:D = {ai | ai ∈ ElemSet, i = 1, 2, ..., n, n >= 0} 数据关系:R1 = {<ai-1, ai> | ai-1, ai ∈ D, i = 2, ..., n}(约定其中a1端为队列头,an端为队列尾 阅读全文
posted @ 2018-11-02 17:16 H36Phaeton 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1.栈和队列是限定插入和删除只能在表的端点进行的线性表。栈是后进先出的数据结构,队列是先进先出的数据结构(栈相当于一个瓶子,向瓶内放的物品被压到瓶子底部,只有等上面的所有物品都出来了,下面的才能出来,这是先进后出;队列相当于一个隧道,火车向隧道内开不能回头,车头先进去也先出来,这是先进先出)。 2. 阅读全文
posted @ 2018-10-31 10:29 H36Phaeton 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.双向链表: typedef struct DuLNode { ElemType data; //数据域 struct DuLNode* prior; //指向前驱的指针域 struct DuLNode* next; //指向后继的指针域 } DuLNode, *DuLinkList; 2.循环链 阅读全文
posted @ 2018-10-30 08:11 H36Phaeton 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1.单链表:用一组地址任意的存储单元存放线性表中的数据元素。以元素(数据元素的映象)+ 指针(指示后继元素存储位置)= 结点(表示数据元素)。 2.以线性表中第一个数据元素a1的存储地址作为线性表的地址,称作线性表的头指针。为了操作方便,在第一个结点之前加一个辅助结点“头结点”,以指向头结点的指针作 阅读全文
posted @ 2018-10-29 11:35 H36Phaeton 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 1.线性表的顺序映像:以元素x的存储位置和元素y的存储位置之间的某种关系表示逻辑关系<x, y>。顺序映像的C语言描述: (1)线性表的静态分配顺序存储结构: #define LISTSIZE 100 //存储空间最大分配量为100 typedef struct { ElemType elem[LI 阅读全文
posted @ 2018-10-29 11:18 H36Phaeton 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 1.线性结构的基本特征:线性结构是一个数据元素的有序集。 (1)集合中必定存在一个唯一的“第一元素” (2)集合中必定存在一个唯一的“最后元素” (3)除最后一个元素外,集合中的元素均有唯一的前驱元素 (4)除最后一个元素外,集合中的元素均有唯一的后继元素 2.抽象数据类型(ADT)线性表的定义如下 阅读全文
posted @ 2018-10-29 10:08 H36Phaeton 阅读(733) 评论(0) 推荐(0) 编辑