資料結構是計算機儲存,組織資料的方式,就是怎麼儲存資料的意思
資料:是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並給計算機處理的符號集合
資料元素:是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理,也被稱為記錄
資料項:乙個資料元素可以由若干資料項的組成
資料物件:是性質相同的資料元素的集合,是資料的子集
邏輯結構,物理結構
系統的邏輯結構是從思想的角度上對系統分類,把系統分成若干個邏輯單元,不同邏輯單元分別實現自己的功能。資料的邏輯結構是對資料之間關係的描述,有時就把邏輯結構簡稱為資料結構,資料的邏輯結構分為以下四種:
1、集合結構:集合結構的集合中任何兩個資料元素之間都沒有邏輯關係,組織形式鬆散。
2、線性結構:資料結構中線性結構指的是資料元素之間存在著「一對一」的線性關係的資料結構。
3、樹狀結構:樹狀結構是乙個或多個節點的有限集合。
4、圖形結構:網路結構是指通訊系統的整體設計,它為網路硬體、軟體、協議、訪問控制和拓撲提供標準。
集合結構:集合結構中的資料元素除了同屬乙個集合外,他們之間沒有其他關係
線性結構:線性結構中的資料之間是一對一的關係
圖形結構:圖形結構的資料元素是多對多的關係
樹形結構:樹形結構中的資料之間是一對多的層次關係
鏈式儲存:是把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的。
sartaj sahni在他的《資料結構、演算法與應用》一書中稱:「資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。」他將資料物件(data object)定義為「乙個資料物件是例項或值的集合」。
clifford a.shaffer在《資料結構與演算法分析》一書中的定義是:「資料結構是 adt(抽象資料型別abstract data type) 的物理實現。」
大話資料結構:資料結構是相互之間存在一種或多種特定關係的資料元素的集合。
個人:資料結構包括資料物件集以及它們在計算機中的組織方式,即它們的邏輯結構和物理儲存結構,同時還包括與資料物件集相關的操作集,以及實現這些操作的最高效的演算法。拿我們生活中的圖書館藏書舉例,就是把圖書館中的書轉化為一些字元資料存入電腦中,以及對這些資料物件集的操作。如找書,擺放放書等。
還是圖書館的例子,如果一本一本找累死人,要是有個索引,先找哪一類這樣會快很多。如何查詢其實就是演算法。
演算法是解決問題步驟的有限集合,通常用某一種計算機語言進行偽碼描述。通常用時間複雜度和空間複雜度來衡量演算法的優劣。
演算法的五大特徵:輸入、輸出、有窮性、確定性、可行性。
輸入:零個或多個輸入。
輸出:乙個或多個輸出。
有窮性:有限步驟後在可接受時間內完成。
確定性:每個步驟都有確定含義,無二義性。
可行性:每一步都是可行的。
演算法設計要求:正確性、可讀性、健壯性、時間效率高和儲存低。
正確性:有輸入輸出,無二義性,有正確答案。
健壯性:輸入不合法能處理
時間效率高和儲存低:時間空間複雜度越低越好。
資料結構與演算法 1 什麼是資料結構
人們利用計算機的目的是解決實際問題.再面對實際問題時,首先要明確所要解決的問題設計到的個體.深入分析個體之間的關係,為其建立乙個數學模型,並分析其基本運算.然後確定恰當的資料結構來表示該模型,設計合適的資料儲存及相關演算法.最後完成具體的程式來解決實際問題.計算機求解問題的核心是演算法設計.而演算法...
資料結構與演算法系列 排序 1 概述
排序是將一組 無序 的記錄序列調整為 有序 的記錄序列。分內部排序和外部排序。內部排序 若整個排序過程不需要訪問外存便能完成,則稱此類排序問題為內部排序。衡量內排序的效率是資料的比較次數 外部排序 若參加排序的記錄數量很大,整個序列的排序過程不可能在記憶體中完成,則稱此類排序問題為外部排序。衡量外排...
資料結構與演算法系列 字典樹
一 背景 什麼是字典樹?trie樹,即字典樹,又稱單詞查詢樹或鍵樹,是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計和排序大量的字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 最大限度地減少無謂的字串比較,查詢效率比雜湊表高。trie的核心思想是空間換時間。利用字串的...