1.1.概念:
1.資料:非數值資料和數值資料,從計算機的角度講,是計算機所加工處理的描述客觀事物的表示;
2.資料元素: 資料的基本單位,是資料集合中的乙個個體;資料元素也稱為元素、節點、頂點、記錄;
3.資料項:資料的最小單位。資料項組成資料元素,資料元素組成資料;資料項也稱為字段;
4.資料結構:指資料元素及資料元素之間的聯絡,可以看做是相互之間存在著某種特定關係的資料元素的集合;
5.邏輯結構:是對資料元素之間邏輯關係的描述;與資料的儲存方式無關;
6.儲存結構:是資料元素的邏輯結構在計算機中的儲存器中的映像表示;是資料結構在計算機中的實現方法,包括資料結構中元素的表示及資料元素之間關係的表示;
1.2.邏輯結構:
1.2.1.邏輯結構的種類:
1.集合結構:資料元素除了「屬於同一集合」外,沒有其他關係;
2.線性結構:資料元素之間是「一對一」關係,除第乙個和最後乙個元素,都存在前驅元素和後繼元素;
3.樹形結構:存在「一對多」關係,除根節點外,都存在唯一乙個前驅元素和多個後繼元素;
4.圖結構:存在「多對多」的關係,每個元素有多個前驅元素和後繼元素;
1.2.2.注意:
1.邏輯結構與資料元素的本身的形式和內容無關;2.與資料元素的相對位置無關;3 與所含資料元素的個數無關;
1.3.儲存結構:
1.2.1.分類:
1.順序儲存結構:通常使用陣列來實現;節省儲存空間,不便於修改;
2.鏈式儲存結構:通常使用指標來實現;便於修改,利用率較低;
3.索引儲存結構:能插入、刪除等,增加了索引表從而降低了儲存空間的利用率;
4.雜湊儲存結構:根據陣列元素的關鍵字通過雜湊函式算出該資料元素的儲存位址;
1.3.演算法分析:
1.3.1.定義和描述:
1.演算法必須滿足一下條件:有窮性、確定性、可行性、輸入、輸出;
2.演算法和程式不同:演算法給出了問題的求解,而程式僅僅實在計算機上的實現,乙個演算法若使用程式語言來解決,則此時演算法是乙個程式;
1.3.2.演算法分析和演算法度計算:
1.時間複雜度:程式執行從開始到結束所用的時間;
2.空間複雜度:程式執行從開始到結束所用的儲存量;
3.頻度:它在演算法中被重複執行的次數;
4.計算時間複雜度時,遵循求和準則和求積準則:
執行一條讀寫語句或賦值語句所用的時間是o(1);
條件語句if的耗時主要是條件為真時執行的時間,但是判斷是否為真還需要執行的時間為o(1);
依次執行的語句採用求和準則,如:o(m+n);
迴圈語句採用求積準則,如:o(n^3);表示n的3次方;
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 資料結構演算法
分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...
資料結構 01 資料與資料結構
1.資料data 資料是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。2.資料元素data elements 資料元素是組成資料的 有一定意義的基本單位,在計算機中通常作為整體進行處理。3.資料物件data object 資料物件是性質相同的資料元素的...