递归数据结构的数学定义
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
frRe u v t t c u e uc ste sa d Ge e a it. o c mi edaa sr t r ss h a r e n n r llss u Ke r y wo ds:Daa S r cur s;M ahe tc lDe n t n ; e r c u e ;Ge r lls tucu e t tu t e t ma ia f ii i o Tre St t r s u ne a itSr tr s
, 7
0 j
列表示:r:{臼 bc )。当需要表示两个元素之间的关系 ( ,, , }
时 , 自然 就 成 为 有序 偶 或 无 序 偶 。 在 这 个 基 础 上 ,递 归 的 数 据 结 构 的定 义 就 可 以 迎 刃 而 解
了。
{} 1 J≤ . ≥0 rl m )
Lie rLs =( R na i t D. )
用 二 元 组 给 出树 的定 义 :
te r e= f 1 K.
K ={,l ≤ t 0 ∈Ee ) l . 。 7 , lmTp }
其 中 ,” 为树 中 的结 点 数 ,n O则 为 空 树 ,r O 为 非 空 = / 则
D ,… ,D ( 0 ,对任意 J 2 m m> ) ≠k ( ≤jk )有 D nD 1 , ≤m j k=
,
且对任 意的 i( ≤i ) 1 ≤m ,唯一存在数据元素 x∈D ,有< i i
() 对 应 于 D { o 的 划 分 , H一 {rox > …, ro 3 一 rt o】 <ot l , <ot , ,
M a h m a i a fn to o c sv t t uc ur s te tc lDe ii nsf r Re ur i e Da a S r t e i
FU ng Yo
( ol e f t mai & S s m cecs, i i gUnvr t Urmq 3 0 4 C lg h t s e o Ma e c yt Sine Xn a iesy, u i8 04 ) e jn i
“ , =( R) cz 打 D,
其 中 ,D是 一 组 性 质 相 同 的 数 据 元 素 的有 限 集合 ,R D 是 上 关 系 的有 限集 合 。 D和 兄 表 示 为 : 可
r={ , ,, } <以 bCd> ,而表示无序序列时用圆括号加元素的序
D={ l c l
=
如 下 二 元关 系 :
然 而 ,一 些 递 归 的数 据 结 构 诸 如 树 型 结 构 、广 义 表 结 构 等 似 乎 很 难 给 出一 个 完 全 用 数 学 语 言 描 述 的 定 义 来 , 大 多 采
用 的是文字描述 的形 式 ,或者部分 采用数学语 言 ,部 分采用 文字描述 。下 面从参 考文献 中列举 几个典 型的对树 的定义来
数 据结构的形式 定义是对 一组关 联的数 据元素 以及这些 数据元素之 间关 系 的一种逻 辑表示形 式。通 常采用 的是二元 组 的描述形式 ,即数据结构是 由两部分 构成 的 ,其一是 一组 数 据元 素的集合 ( 或称为聚集 可能 更为合适 ) ;其 二是数据元 素 之间的关 系的集 合。数据结构 的逻辑 表示通 常采用如 下 的
ro, i EH; o tx>
后继 ,没有直接前驱 。 () 除根以外的其他结 点划分为m ( 2 m≥0 )个互不相交 的有限集合 . , , 小 每个集合 又是 一棵树 ,并且称之 … 为根 的子树 (u e 。每个子树的根结点有且仅有一个直 sb )
接 前 驱 ,但 可 以有 0个 或 多 个 直 接后 继 。
Ab t a t h sp p r a ay i a r u na in a o tc n t u n s o aa s u t r n r u t e t a d f i o s sr c :T i a e n lss n a g me tt b u o si e t fd t t cu e a d wo k o tmah ma i l e nt n o t r c i i
已 经 表 明 了树 定 义 的递 归 特 性 ,但 没 有 直 接 给 出 树 中结 点 之
间 的关 系 。
组数据元 素 ,而不是 一组性质相 同的数据元 素 ,是对这 一部
分泛化 的描述。例如 ,广 义表是一 种数据结 构 ,但是 ,广义 表中的数据元素有原子元素和子表元素两种性质不 同的元 素。 作为形式定 义的数据结构 应该包括这 种情况 。第二 ,它 指出 形式定义 中 D是数据元素 的聚集 (ol t n 。聚集的限制要 C l c o) ei 更加宽松一些 ,允许聚集 中元素的性质 可 以不 同 ,也允许素 。要 比说 明 为集 合 (e)更 为准确和贴切 一些 。显然 ,集合是 聚集 的特 St 例 。同时 ,D的表示 采用 的是 圆括号 ,以示 区别 。 , 是关 系集
的树 ,称 为 根 r t 子 树 。 o 的 o
这是一个完全用文字进行描述的定义 。
参 考 文献 【】除 了 有 类 似 参 考 文 献 【]的 说 明 外 ,对 树 2 1
这个描述 尝试对树 的关系 的定义给 出一 种数学语 言的描
述。
形结构还给出了如下 的定义 : 在一棵树 中 ,每个结 点被定 义为它 的每个子树 的根结点 的前驱 ,而它 的每个 子树 的根结点就 成为 它的后继 。由此可
电脑 编 程 技 巧 与维 护
递 归数据结构 的数学定义
付 勇
( 新疆大学数学与系统科学学院 ,乌鲁木 齐 8 04 ) 30 4 摘 要: 分析 了数 据结构的构成 ,并在此基础上提 出了诸如树型结构和广义表 结构等递 归的数 据结构 的数学定义。 关键词 : 数据结构 ;数 学定 义;树形结构 ;广义表结构
( ) 其 余 的 结 点 可 以 划 分 成 ,个 子 集 , , , , 2 7 … ≥0 ,其 中每一个子集都是一棵树。 )
为 方便起见, 用符号 , , , } = …, 来表示树 1 1 0
该定义 对结点 的集 合给 出了一种非 常简洁 的定义 ,虽然
树。对 于一棵非空树 ,关 系 R应满 足下列条件。
() 有 且 仅 有 一个 结 点 没 有 前 驱 ,该结 点 被 称 为 树 的根 。 1
()除根结点外 ,其余每个结点有且仅有一个前驱结点。 2 () 包括 树 根结 点 在 内 的每个 结 点 ,可 以有 任意 多 个 3
( 0个 )后 继 。 含
1 引 言
在许多数据结构 教材 中 ,对于一些 简单 的数据结构 的逻 辑表示 ,通 常 ,除 了采用 自然语言 的描述外 ,还可 以给出确
切 的 用 数学 语 言 描 述 的 形式 定 义 。 线 性 表 结 构 是 由 一 组 性 质 相 同 的 数 据 元 素 的集 合 D和 D 上 二元 关 系 的集 合 R所 组 成 ,其 形 式 定 义 为 :
说 明这 种情 况 。
()在 D中存 在惟一 的称为根的数据元 素 ro,它在关 系 1 ot
H 下无 前 驱 ; ()若 D { ol ≠ ,则 存 在 D { o 2 一 rt o 一 rt o }的一 个 划 分 D1 ,
例如 ,参考文献 【】对树形结构的定义是 : 1
树 是 由/ ( ≥0 个结 点组 成 的 有 限 集 合 。 如 果 n 0 7 , 7 ) = ,称 为 空树 ;如 果1≥0 7 ,则 () 有 一 个 特 定 的 称 之 为 根 (。 f 的结 点 ,它 只有 直 接 1 ,。)
其 中
D =i } I ≤” ,≥0 .7 {
R= < .卜 > l i " , ≥ } { ,,I l ≤ ~17 0 ( /
上述形式定 义用数学语 言很好地 描述 了线 性表结构 是 由
一
这 是一个对树 的结 点 的集合采用 了数学语 言 ,而关 系采
用 了 文 字描 述 的定 义 。 同 样 ,参 考 文 献 IJ除 了也 有 类 似 参 考 文 献 [】的 说 明 3 1 外 ,在 树 的抽 象 数 据 类 型 定 义 中对 树 形 结 构 还 给 出 了如 下 的
x }有惟一存在 的一个划分 H1 H , Hm ( > ) m> , 2 …, m 0 ,对任 意 j ≠k ( ≤jk )有 H nH 中,且对任意 的 i( ≤i ) 1 , ≤m j k= 1 ≤m ,
H 是 D 上 的一个 二元关 系 , ( i Hi i i D ,{ } )是一棵 符合本定义
树是一个有 限的、非空的结点集 。
收 稿 日期 :2 1 -4 1 0 10 — 1
3 语. 与 2 2 2 壤 ∥ 11 ≯0瞄 1
Sn AEDV LP ET N EIN 0 W R EE0M N DDS A G
T l} , u u u… u
它具 有 下 列 性 质 :
形式定义 :
Da a t
—
系的序偶 ( 有序 的或无序 的)集来表示 。例如一个有 a ,d4 , c b, 个元 素 的线 性 表 ,通 常表 示 为, <“b , . > <cd> , ’ =: > <6c , 。 : 在新 的定 义中 ,为 了使 表示更为简 洁 ,采用 元素之 间关 系的 序列 ( 有序的或无序的)来 表示 ,例如表示 a ,c ,b ,d 4个 元 素 的 有 序 序 列 时 用 尖 括 号 加 元 素 的 序 列 表 示 , 如
描述 :
组数据元素D组成 ,且元素之 间的线性关 系用刚青确地描述
了 出来 。任 何 一 个 具 体 的 线 性 表 都 可 以 用 上 述 数 学 语 言 加 以
描 述 ,并 且 ,采 用 数 学 语 言 描 述 ,更 为 精 确 全 面 ,不 会 产 生
二义性。
数据对象 D:D是具有相同特性 的数据元素的集合 。 数据关 系 R:若 D为空集 ,则称为空树 。 若 D仅含有一个元素 ,则 R为空集 ,否则 R H ,H是 ={ }
软件 开发与设计
D { ,1 , , dI ≤" "≥【 】 j
R ={I1 ≤" , r J≤ 7 ≥O l
()集 合 指 定 的 结点 r q 树 的根 结 点 。 1 ,做
存储结构则是逻辑结构在计算机存储器 中的映像。 这个定 义与原有定义 的 区别有 两点 。第 一 ,它 明确地说 明了数 据结构是 一组 数据元素及 数据元 素之间相互 关系 的静 态结构 ,是其逻辑结 构和存储结 构的统称 。其 中,描述为一
这 个形 式定义应该 普遍适 用于各 种数据结 构 的定 义 ,包 括线性表 、树 、图 以及广 义表等数据 结构 。在 表示线性 这样 简 单结构甚至 图这样的复杂结 构 ,无论 是形式 定义还是 一个 具体线 性表或者 图 ,都能够很 好地表示 出来 。对 于树这 样 的 具 有递归特性 的数据结构 ,如 果是一个具 体 的树 ,可 以用这
合 R中 的一 个 关 系 , , 原 来 的 定 义 中 通 常 是 采 用 元 素 之 间关 在
2 对 现有数 据 结构形 式定 义 的分 析
为 什 么 会 出现 前 面 所 述 现 象 呢 ? 其 基 本 原 因 是 什 么 呢 ? 下 面从 现有 的 数 据 结 构 形 式 定 义 的 分 析 来 找 出 造 成 这 种 现 象 的 原 因所 在 。
, 7
0 j
列表示:r:{臼 bc )。当需要表示两个元素之间的关系 ( ,, , }
时 , 自然 就 成 为 有序 偶 或 无 序 偶 。 在 这 个 基 础 上 ,递 归 的 数 据 结 构 的定 义 就 可 以 迎 刃 而 解
了。
{} 1 J≤ . ≥0 rl m )
Lie rLs =( R na i t D. )
用 二 元 组 给 出树 的定 义 :
te r e= f 1 K.
K ={,l ≤ t 0 ∈Ee ) l . 。 7 , lmTp }
其 中 ,” 为树 中 的结 点 数 ,n O则 为 空 树 ,r O 为 非 空 = / 则
D ,… ,D ( 0 ,对任意 J 2 m m> ) ≠k ( ≤jk )有 D nD 1 , ≤m j k=
,
且对任 意的 i( ≤i ) 1 ≤m ,唯一存在数据元素 x∈D ,有< i i
() 对 应 于 D { o 的 划 分 , H一 {rox > …, ro 3 一 rt o】 <ot l , <ot , ,
M a h m a i a fn to o c sv t t uc ur s te tc lDe ii nsf r Re ur i e Da a S r t e i
FU ng Yo
( ol e f t mai & S s m cecs, i i gUnvr t Urmq 3 0 4 C lg h t s e o Ma e c yt Sine Xn a iesy, u i8 04 ) e jn i
“ , =( R) cz 打 D,
其 中 ,D是 一 组 性 质 相 同 的 数 据 元 素 的有 限 集合 ,R D 是 上 关 系 的有 限集 合 。 D和 兄 表 示 为 : 可
r={ , ,, } <以 bCd> ,而表示无序序列时用圆括号加元素的序
D={ l c l
=
如 下 二 元关 系 :
然 而 ,一 些 递 归 的数 据 结 构 诸 如 树 型 结 构 、广 义 表 结 构 等 似 乎 很 难 给 出一 个 完 全 用 数 学 语 言 描 述 的 定 义 来 , 大 多 采
用 的是文字描述 的形 式 ,或者部分 采用数学语 言 ,部 分采用 文字描述 。下 面从参 考文献 中列举 几个典 型的对树 的定义来
数 据结构的形式 定义是对 一组关 联的数 据元素 以及这些 数据元素之 间关 系 的一种逻 辑表示形 式。通 常采用 的是二元 组 的描述形式 ,即数据结构是 由两部分 构成 的 ,其一是 一组 数 据元 素的集合 ( 或称为聚集 可能 更为合适 ) ;其 二是数据元 素 之间的关 系的集 合。数据结构 的逻辑 表示通 常采用如 下 的
ro, i EH; o tx>
后继 ,没有直接前驱 。 () 除根以外的其他结 点划分为m ( 2 m≥0 )个互不相交 的有限集合 . , , 小 每个集合 又是 一棵树 ,并且称之 … 为根 的子树 (u e 。每个子树的根结点有且仅有一个直 sb )
接 前 驱 ,但 可 以有 0个 或 多 个 直 接后 继 。
Ab t a t h sp p r a ay i a r u na in a o tc n t u n s o aa s u t r n r u t e t a d f i o s sr c :T i a e n lss n a g me tt b u o si e t fd t t cu e a d wo k o tmah ma i l e nt n o t r c i i
已 经 表 明 了树 定 义 的递 归 特 性 ,但 没 有 直 接 给 出 树 中结 点 之
间 的关 系 。
组数据元 素 ,而不是 一组性质相 同的数据元 素 ,是对这 一部
分泛化 的描述。例如 ,广 义表是一 种数据结 构 ,但是 ,广义 表中的数据元素有原子元素和子表元素两种性质不 同的元 素。 作为形式定 义的数据结构 应该包括这 种情况 。第二 ,它 指出 形式定义 中 D是数据元素 的聚集 (ol t n 。聚集的限制要 C l c o) ei 更加宽松一些 ,允许聚集 中元素的性质 可 以不 同 ,也允许素 。要 比说 明 为集 合 (e)更 为准确和贴切 一些 。显然 ,集合是 聚集 的特 St 例 。同时 ,D的表示 采用 的是 圆括号 ,以示 区别 。 , 是关 系集
的树 ,称 为 根 r t 子 树 。 o 的 o
这是一个完全用文字进行描述的定义 。
参 考 文献 【】除 了 有 类 似 参 考 文 献 【]的 说 明 外 ,对 树 2 1
这个描述 尝试对树 的关系 的定义给 出一 种数学语 言的描
述。
形结构还给出了如下 的定义 : 在一棵树 中 ,每个结 点被定 义为它 的每个子树 的根结点 的前驱 ,而它 的每个 子树 的根结点就 成为 它的后继 。由此可
电脑 编 程 技 巧 与维 护
递 归数据结构 的数学定义
付 勇
( 新疆大学数学与系统科学学院 ,乌鲁木 齐 8 04 ) 30 4 摘 要: 分析 了数 据结构的构成 ,并在此基础上提 出了诸如树型结构和广义表 结构等递 归的数 据结构 的数学定义。 关键词 : 数据结构 ;数 学定 义;树形结构 ;广义表结构
( ) 其 余 的 结 点 可 以 划 分 成 ,个 子 集 , , , , 2 7 … ≥0 ,其 中每一个子集都是一棵树。 )
为 方便起见, 用符号 , , , } = …, 来表示树 1 1 0
该定义 对结点 的集 合给 出了一种非 常简洁 的定义 ,虽然
树。对 于一棵非空树 ,关 系 R应满 足下列条件。
() 有 且 仅 有 一个 结 点 没 有 前 驱 ,该结 点 被 称 为 树 的根 。 1
()除根结点外 ,其余每个结点有且仅有一个前驱结点。 2 () 包括 树 根结 点 在 内 的每个 结 点 ,可 以有 任意 多 个 3
( 0个 )后 继 。 含
1 引 言
在许多数据结构 教材 中 ,对于一些 简单 的数据结构 的逻 辑表示 ,通 常 ,除 了采用 自然语言 的描述外 ,还可 以给出确
切 的 用 数学 语 言 描 述 的 形式 定 义 。 线 性 表 结 构 是 由 一 组 性 质 相 同 的 数 据 元 素 的集 合 D和 D 上 二元 关 系 的集 合 R所 组 成 ,其 形 式 定 义 为 :
说 明这 种情 况 。
()在 D中存 在惟一 的称为根的数据元 素 ro,它在关 系 1 ot
H 下无 前 驱 ; ()若 D { ol ≠ ,则 存 在 D { o 2 一 rt o 一 rt o }的一 个 划 分 D1 ,
例如 ,参考文献 【】对树形结构的定义是 : 1
树 是 由/ ( ≥0 个结 点组 成 的 有 限 集 合 。 如 果 n 0 7 , 7 ) = ,称 为 空树 ;如 果1≥0 7 ,则 () 有 一 个 特 定 的 称 之 为 根 (。 f 的结 点 ,它 只有 直 接 1 ,。)
其 中
D =i } I ≤” ,≥0 .7 {
R= < .卜 > l i " , ≥ } { ,,I l ≤ ~17 0 ( /
上述形式定 义用数学语 言很好地 描述 了线 性表结构 是 由
一
这 是一个对树 的结 点 的集合采用 了数学语 言 ,而关 系采
用 了 文 字描 述 的定 义 。 同 样 ,参 考 文 献 IJ除 了也 有 类 似 参 考 文 献 [】的 说 明 3 1 外 ,在 树 的抽 象 数 据 类 型 定 义 中对 树 形 结 构 还 给 出 了如 下 的
x }有惟一存在 的一个划分 H1 H , Hm ( > ) m> , 2 …, m 0 ,对任 意 j ≠k ( ≤jk )有 H nH 中,且对任意 的 i( ≤i ) 1 , ≤m j k= 1 ≤m ,
H 是 D 上 的一个 二元关 系 , ( i Hi i i D ,{ } )是一棵 符合本定义
树是一个有 限的、非空的结点集 。
收 稿 日期 :2 1 -4 1 0 10 — 1
3 语. 与 2 2 2 壤 ∥ 11 ≯0瞄 1
Sn AEDV LP ET N EIN 0 W R EE0M N DDS A G
T l} , u u u… u
它具 有 下 列 性 质 :
形式定义 :
Da a t
—
系的序偶 ( 有序 的或无序 的)集来表示 。例如一个有 a ,d4 , c b, 个元 素 的线 性 表 ,通 常表 示 为, <“b , . > <cd> , ’ =: > <6c , 。 : 在新 的定 义中 ,为 了使 表示更为简 洁 ,采用 元素之 间关 系的 序列 ( 有序的或无序的)来 表示 ,例如表示 a ,c ,b ,d 4个 元 素 的 有 序 序 列 时 用 尖 括 号 加 元 素 的 序 列 表 示 , 如
描述 :
组数据元素D组成 ,且元素之 间的线性关 系用刚青确地描述
了 出来 。任 何 一 个 具 体 的 线 性 表 都 可 以 用 上 述 数 学 语 言 加 以
描 述 ,并 且 ,采 用 数 学 语 言 描 述 ,更 为 精 确 全 面 ,不 会 产 生
二义性。
数据对象 D:D是具有相同特性 的数据元素的集合 。 数据关 系 R:若 D为空集 ,则称为空树 。 若 D仅含有一个元素 ,则 R为空集 ,否则 R H ,H是 ={ }
软件 开发与设计
D { ,1 , , dI ≤" "≥【 】 j
R ={I1 ≤" , r J≤ 7 ≥O l
()集 合 指 定 的 结点 r q 树 的根 结 点 。 1 ,做
存储结构则是逻辑结构在计算机存储器 中的映像。 这个定 义与原有定义 的 区别有 两点 。第 一 ,它 明确地说 明了数 据结构是 一组 数据元素及 数据元 素之间相互 关系 的静 态结构 ,是其逻辑结 构和存储结 构的统称 。其 中,描述为一
这 个形 式定义应该 普遍适 用于各 种数据结 构 的定 义 ,包 括线性表 、树 、图 以及广 义表等数据 结构 。在 表示线性 这样 简 单结构甚至 图这样的复杂结 构 ,无论 是形式 定义还是 一个 具体线 性表或者 图 ,都能够很 好地表示 出来 。对 于树这 样 的 具 有递归特性 的数据结构 ,如 果是一个具 体 的树 ,可 以用这
合 R中 的一 个 关 系 , , 原 来 的 定 义 中 通 常 是 采 用 元 素 之 间关 在
2 对 现有数 据 结构形 式定 义 的分 析
为 什 么 会 出现 前 面 所 述 现 象 呢 ? 其 基 本 原 因 是 什 么 呢 ? 下 面从 现有 的 数 据 结 构 形 式 定 义 的 分 析 来 找 出 造 成 这 种 现 象 的 原 因所 在 。