【小編注】特意扒出經(jīng)典教材數(shù)據(jù)結(jié)構(gòu)巫玻,(認真看之后,不能不膜拜編寫教材的大牛老師們~)溫習整理了一下定義和例子祠汇,與大家分享
1.什么是數(shù)據(jù)結(jié)構(gòu)仍秤?
【一般定義】是相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合
【形式定義】數(shù)據(jù)結(jié)構(gòu)是一個二元組
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Data_Structure=(D,S)
? ? ? ? ? ? ? ? ? ? ? ? ?(D-數(shù)據(jù)元素的有限集,S-D上關系的有限集)
數(shù)據(jù)結(jié)構(gòu)={[關系i+數(shù)據(jù)元素1], [關系j+數(shù)據(jù)元素2]……[某種關系k+數(shù)據(jù)元素N]……}
2.數(shù)據(jù)元素可很、數(shù)據(jù)項诗力、數(shù)據(jù)對象的關系
3.結(jié)構(gòu):數(shù)據(jù)之間的關系
【數(shù)據(jù)結(jié)構(gòu)分類】
1】集合:結(jié)構(gòu)中的數(shù)據(jù)元素之間除了“同屬于額集合”的關系外,別無其他關系
2】線性結(jié)構(gòu):結(jié)構(gòu)中的數(shù)據(jù)元素存在一個對一個的關系
3】樹形結(jié)構(gòu):結(jié)構(gòu)中的數(shù)據(jù)元素存在一個對多個的關系
4】結(jié)構(gòu)中的數(shù)據(jù)存在多個對多個的關系
舉例
EX1.假設我們需要編制一個事務管理的程序我抠,管理學形荆科學研究課題小組的各項事務袜茧,則首先要為程序的操作對象—課題小組設計一個數(shù)據(jù)結(jié)構(gòu)。假設每個小組由1位教師瓣窄、1~3名研究生及1~6名本科生組成笛厦,小組成員之間的關系是:教師指導研究生,而由每位研究生指導一至兩名本科生俺夕。則可以如下定義數(shù)據(jù)結(jié)構(gòu):
Group={P,R}
其中:P表示符合要求的數(shù)據(jù)元素的有限集裳凸,而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名本科生)