數(shù)據(jù)結構-數(shù)據(jù)結構的一般概念

大綱:

  1. 掌握數(shù)據(jù)結構的基本概念和術語玛追。
  2. 了解抽象數(shù)據(jù)類型的概念。
  3. 掌握算法的特性闲延,算法的描述和算法的分析痊剖。

數(shù)據(jù)結構的基本概念

基本概念和術語

  1. 數(shù)據(jù):所有能被輸入到計算機中并被處理的符號的集合
  2. 數(shù)據(jù)元素:數(shù)據(jù)的基本單位,通常做一個整體考慮
  3. 數(shù)據(jù)項:構成數(shù)據(jù)元素的不可分割的最小單位垒玲,一個數(shù)據(jù)元素由若干數(shù)據(jù)項組成
  4. 數(shù)據(jù)對象:相同性質的數(shù)據(jù)元素的集合陆馁,是數(shù)據(jù)的一個子集
  5. 數(shù)據(jù)類型:一個值的集合和定義在這個集合上的一組操作的總稱
    5.1 原子類型:值不可以再分的數(shù)據(jù)類型
    5.2 結構類型:值可以再分解成若干的數(shù)據(jù)類型
    5.3 抽象數(shù)據(jù)類型:抽象數(shù)據(jù)組織和與之相關的操作
  6. 抽象數(shù)據(jù)類型(ADT):一個數(shù)學模型以及定義在該模型上的一組操作,其定義只與邏輯特性有關合愈,通常采用(數(shù)據(jù)對象叮贩,數(shù)據(jù)關系,基本操作集)這樣的三元組來表示抽象數(shù)據(jù)類型
  7. 數(shù)據(jù)結構:相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合佛析。包括:邏輯結構益老、存儲結構數(shù)據(jù)的運算

數(shù)據(jù)結構的三要素

  1. 數(shù)據(jù)的邏輯結構

邏輯結構指數(shù)據(jù)元素之間的邏輯關系

數(shù)據(jù)的邏輯結構分類圖
  • 集合:結構中的數(shù)據(jù)元素之間除了“同屬一個集合”的關系之外,沒有任何關系
  • 線性結構:結構中的數(shù)據(jù)元素之間只存在一對一的關系
  • 樹型結構:結構中的數(shù)據(jù)元素之間存在一對多的關系
  • 圖狀結構或網(wǎng)狀結構:結構中的數(shù)據(jù)元素之間存在多對多的關系
  1. 數(shù)據(jù)的存儲結構

存儲結構指數(shù)據(jù)結構在計算機中的表示寸莫,也稱物理結構

  • 順序存儲:把邏輯上相鄰的元素存儲在物理位置上也相鄰的存儲單元里捺萌,通過存儲單元的鄰接關系來表示元素之間的邏輯關系
    • 優(yōu)點:實現(xiàn)隨機存儲,每個元素占用空間小
    • 缺點:只能使用相鄰的一整塊存儲單元储狭,會產(chǎn)生較多外部碎片
  • 鏈式存儲:不要求邏輯上相鄰的元素在物理位置上也相鄰互婿,通過指針表示元素之間的邏輯關系
    • 優(yōu)點:不會出現(xiàn)碎片現(xiàn)象,充分利用所有的存儲單元
    • 缺點:每個元素要存儲指針辽狈,需要多占用部分存儲空間慈参,而且只能順序存取
  • 索引存儲:存儲信息的同時,建立附加的索引表刮萌,索引表中每一項稱為索引項驮配,索引項一般形式是:(關鍵字,地址)
    • 優(yōu)點:檢索速度快
    • 缺點:增加了索引表着茸,占用較多存儲空間壮锻,增刪數(shù)據(jù)時也要修改索引表,花費較多時間
  • 散列存儲:根據(jù)元素的關鍵字直接計算出該元素的存儲地址涮阔,也稱Hash存儲
    • 優(yōu)點:檢索猜绣,增刪結點操作都很快
    • 缺點:散列函數(shù)不好可能會出現(xiàn)元素存儲單元的沖突,解決沖突會增加時間敬特、空間的開銷

算法和算法評價

算法的基本概念

算法對特定問題求解步驟的一種描述掰邢,它是指令的有限序列,其中每一條指令都表示一個或多個操作

  1. 算法的5個重要特性
    1.1 有窮性
    1.2 確定性
    1.3 可行性
    1.4 輸入
    1.5 輸出
  2. 算法設計的要求
    2.1 正確性
    2.2 可讀性
    2.3 健壯性
    2.4 效率與低存儲量需求

算法效率的度量

算法效率的度量通過時間復雜度和空間復雜度來描述

  1. 時間復雜度:算法中所有語句的頻度(指該語句在算法中被重復執(zhí)行的次數(shù))之和記作T(n)伟阔,時間復雜度主要分析T(n)的數(shù)量級辣之。算法中基本運算(最深層循環(huán)內(nèi)的語句)的頻度與T(n)同數(shù)量級,所以一般采用算法中基本運算的頻度f(n)來分析算法時間復雜度皱炉。即T(n)=O(f(n))

    • 常見的漸進時間復雜度:

      O(1) < O(log?n) < O(n) < O(nlog?n) < O(n2) < O(n3) < O(2?) < O(n!) < O(n?)

  2. 空間復雜度:算法耗費的存儲空間怀估,記作S(n)=O(g(n))

    • 算法原地工作指算法所需輔助空間是常量,即O(1)
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末合搅,一起剝皮案震驚了整個濱河市多搀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌历筝,老刑警劉巖酗昼,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梳猪,居然都是意外死亡麻削,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門春弥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呛哟,“玉大人,你說我怎么就攤上這事匿沛∩ㄔ穑” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵逃呼,是天一觀的道長鳖孤。 經(jīng)常有香客問我者娱,道長,這世上最難降的妖魔是什么苏揣? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任黄鳍,我火速辦了婚禮,結果婚禮上平匈,老公的妹妹穿的比我還像新娘框沟。我一直安慰自己,他們只是感情好增炭,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布忍燥。 她就那樣靜靜地躺著,像睡著了一般隙姿。 火紅的嫁衣襯著肌膚如雪梅垄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天输玷,我揣著相機與錄音哎甲,去河邊找鬼。 笑死饲嗽,一個胖子當著我的面吹牛炭玫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播貌虾,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼吞加,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了尽狠?” 一聲冷哼從身側響起衔憨,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎袄膏,沒想到半個月后践图,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡沉馆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年码党,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斥黑。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡揖盘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锌奴,到底是詐尸還是另有隱情兽狭,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站箕慧,受9級特大地震影響服球,放射性物質發(fā)生泄漏。R本人自食惡果不足惜颠焦,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一有咨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蒸健,春花似錦、人聲如沸婉商。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丈秩。三九已至盯捌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蘑秽,已是汗流浹背饺著。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肠牲,地道東北人幼衰。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像缀雳,于是被迫代替她去往敵國和親渡嚣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359