【小編注】特意扒出經典教材數據結構,(認真看之后,不能不膜拜編寫教材的大牛老師們~)溫習整理了一下定義和例子,與大家分享
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名本科生)