===》點我返回目錄《===
前面我們已經用程序來處理數據了,隱含地把它們的組合也涉及了,也就是說,我們要處理的並不是一個數字,也不是單個字符,而是一組數字和字符。這是一種數據之間的組合結構。
我們可以按照數據之間的關係進行分類,如果一組數據是一個接着一個的排着隊,1:1,我們可以叫他們線性序列,如果它們是一個對應兩個或者多個,1:N,我們叫這種結構爲樹,如果它們之間的關係是多對多,N:N,我們叫做圖。
線性序列:
48 |
6 |
57 |
88 |
60 |
42 |
83 |
73 |
72 |
85 |
上圖所示並不表示這些數據之間是連續存儲的,只是表示他們之間關係的圖,每個數據只有一個前置數據和一個後置數據。
樹:
樹裏面,每一個數據有一個前置,但是可能有多個後置。
圖裏面,每一個數據可能有多個前置和多個後置。
不同的結構適用不同的問題場景,有不同的操作方式和效率。正確的數據結構選擇可以提高算法的效率。在計算機程序設計的過程中,選擇適當的數據結構是一項重要工作。許多大型系統的編寫經驗顯示,程序設計的困難程度與最終成果的質量與表現,取決於是否選擇了最適合的數據結構。
常見的數據結構有:
數組(Array)
鏈表(Linked List)
堆棧(Stack)
隊列(Queue)
堆(Heap)
散列表(Hash table)
樹(Tree)
圖(Graph)