資料結構是一門與程式設計密切相關的課程,而程式設計就是演算法+資料結構,演算法即是處理資料的策略,而資料結構就是表達程式設計的模型,可以說任何乙個程式設計問題,我們都可以從演算法和模型出發。概而言之,資料結構就是描述了程式設計的數學模型及在其程式設計上的表示和實現。
(2)資料結構:是乙個帶有結構的資料元素的集合。也就是說給任何一組資料元素加上了一定規則的結構,我們即可稱為資料結構。
(3)資料的邏輯結構
1、線性結構
2、樹形結構
3、網狀結構
4、集合結構
(4)資料的儲存結構(指邏輯結構在儲存器的映像)
關係的映像方法
1、順序映像,兩個相鄰的資料元素的儲存位置相差乙個常量
2、鏈式映像,用指標表示後續關係,每個元素包含了自身資訊還有指向後續元素的指標資訊
(5)抽象資料型別(adt)
adt的兩個重要特徵:
1、資料的抽象性,用adt描述程式處理的實體時,只強調器實體的本質特徵和完成的功能及它和外部使用者的介面
2、資料的封裝性,將實體的外部傳值特徵和內部實現的具體細節分離,實現了內部的細節的封裝性。
演算法是為了解決某類問題而進行的乙個有限長的操作序列,其五大特徵:有窮性(步驟和時間的有限性)、確定性(對處理的問題有明確的範疇規定)、可行性(可以在有限次實現)、有輸入、有輸出。
(1)正確性(滿足需解決問題的需求、不含語法錯誤)
(2)可讀性(易於人的理解)
(3)健壯性(對非法操作做出溫和處理)
(4)高效率與低儲存量需求
(1)事後統計法(2)事前分析估算法(優於第一種)
(1)選用的策略 (2)問題的規模 (3)程式語言 (4)編譯機器產生的可執行**的質量 (5)計算機執行指令的速度
資料結構常用演算法學習一
近來開始學習資料結構和演算法,為工作第一步做準備,先把這兩天看的排序按照自己理解來寫一下。都是從小到大排序 從陣列第乙個元素x開始,與接下來的每乙個元素進行比較,比x小的元素則與x交換位置,比x大則位置不變,直到比較完畢,則開始比較陣列第二個元素。氣泡排序是一種穩定的排序演算法 時間複雜度 最好情況...
演算法學習 資料結構2
1 資料結構概述 數結構是計算機中對資料的一種儲存和組織方式,同是也泛指相互之間存在一種或多種特定關係的資料的集合。2 資料結構中的基本概念 資料 data 資料是資訊的載體,其能夠被計算機識別 儲存和加工處理,是電腦程式加強的 原材料 資料元素 data element 資料元素是資料的基本單位,...
資料結構與演算法學習
我想重新學習一下資料結構與演算法,打好基礎。to measure is to know.我們用演算法複雜度t n 來表示演算法的效率,效能。t n 的取值 所有問題規模為n的問題例項中,將他們的計算成本進行總體的比較,取出最壞情況下的值。有幾點需要catch,1.演算法執行的時間,會根據程式語言,作...