【小编注】特意扒出经典教材数据结构,(认真看之后,不能不膜拜编写教材的大牛老师们~)温习整理了一下定义和例子,与大家分享
1.什么是数据结构?
【一般定义】是相互之间存在一种或多种特定关系的数据元素的集合
【形式定义】数据结构是一个二元组
Data_Structure=(D,S)
(D-数据元素的有限集,S-D上关系的有限集)
数据结构={[关系i+数据元素1], [关系j+数据元素2]……[某种关系k+数据元素N]……}
2.数据元素、数据项、数据对象的关系
3.结构:数据之间的关系
【数据结构分类】
1】集合:结构中的数据元素之间除了“同属于额集合”的关系外,别无其他关系
2】线性结构:结构中的数据元素存在一个对一个的关系
3】树形结构:结构中的数据元素存在一个对多个的关系
4】结构中的数据存在多个对多个的关系
举例
EX1.假设我们需要编制一个事务管理的程序,管理学校科学研究课题小组的各项事务,则首先要为程序的操作对象—课题小组设计一个数据结构。假设每个小组由1位教师、1~3名研究生及1~6名本科生组成,小组成员之间的关系是:教师指导研究生,而由每位研究生指导一至两名本科生。则可以如下定义数据结构:
Group={P,R}
其中:P表示符合要求的数据元素的有限集,而R表示有限集合对应的关系集,在本例中,关系集合有两种R1(教师与研究生的指导关系)和R2(研究生与本科生的指导关系),T表示教师Teacher,G表示研究生graduate,S表示本科生Student
P={T,G1,……,Gn,S11……Snm,1≤n≤3,1≤m≤2}
(小编解读:一个教师,n表示1~3名研究生,m表示1~2名本科生)
R={R1,R2}
R1={| 1≤i≤n,1≤n≤3}
(小编解读:教师和研究生的关系,教师指导1~3名研究生)
R2={|1≤i≤n, 1≤n≤3,1≤j≤m ,1≤m≤2}
(小编解读:有1~3名研究生,每位研究生指导1~2名本科生)