一、數(shù)據(jù)結(jié)構(gòu)和C語言有什么聯(lián)系
數(shù)據(jù)結(jié)構(gòu)和C語言沒有任何聯(lián)系。數(shù)據(jù)結(jié)構(gòu)是抽象數(shù)據(jù)類型和一系列算法的具體實現(xiàn),不依賴任何一種具體的語言。不過考慮到抽象數(shù)據(jù)類型的特點,其實C語言并不適合數(shù)據(jù)結(jié)構(gòu)的學習。
它還是更加適合使用C++或者JAVA這樣的,典型面向?qū)ο蟮恼Z言來實現(xiàn)。國外不少高校在講數(shù)據(jù)結(jié)構(gòu)的時候用的都是OOP語言——UIUC用的是C++,而UCB用的則是JAVA。
數(shù)據(jù)結(jié)構(gòu)是計算機存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。
而C語言是一門高級編程語言,他可以以某些數(shù)據(jù)結(jié)構(gòu)來處理數(shù)據(jù),提高數(shù)據(jù)的處理速度。
延伸閱讀:
二、幾種常見的數(shù)據(jù)結(jié)構(gòu)
(1)線性數(shù)據(jù)結(jié)構(gòu):元素之間一般存在元素之間存在一對一關(guān)系,是最常用的一類數(shù)據(jù)結(jié)構(gòu),典型的有:數(shù)組、棧、隊列和線性表;
(2)樹形結(jié)構(gòu):結(jié)點間具有層次關(guān)系,每一層的一個結(jié)點能且只能和上一層的一個結(jié)點相關(guān),但同時可以和下一層的多個結(jié)點相關(guān),稱為“一對多”關(guān)系,常見類型有:樹、堆;
(3)圖形結(jié)構(gòu):在圖形結(jié)構(gòu)中,允許多個結(jié)點之間相關(guān),稱為“多對多”關(guān)系。