數(shù)據(jù)結(jié)構(gòu) 緒論

數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序

1. 數(shù)據(jù)結(jié)構(gòu)研究的內(nèi)容

如何合理的組織數(shù)據(jù),高效的處理數(shù)據(jù)株婴,主要研究非數(shù)值計(jì)算問(wèn)題怎虫,非數(shù)值計(jì)算問(wèn)題無(wú)法用數(shù)學(xué)方程建立數(shù)學(xué)模型暑认。
好的數(shù)據(jù)結(jié)構(gòu)可以帶來(lái)更快的運(yùn)行或是存儲(chǔ)效率。

2. 概念和術(shù)語(yǔ)

概念:
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)大审、組織數(shù)據(jù)的方式蘸际,是由相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和集合中數(shù)據(jù)元素之間的關(guān)系組成(元素和元素之間的關(guān)系);

是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合徒扶。
數(shù)據(jù)之間的關(guān)系稱為結(jié)構(gòu)粮彤。

中文名|英文名
---|---|--|
數(shù)據(jù)|Data|指能輸入到計(jì)算機(jī)并且被計(jì)算機(jī)程序處理的符號(hào)的總稱。
數(shù)據(jù)元素|Data Element|數(shù)據(jù)的基本單位姜骡,在計(jì)算機(jī)中通常作為一個(gè)整體進(jìn)行考慮或處理导坟。
數(shù)據(jù)項(xiàng)|Data Item|一個(gè)數(shù)據(jù)元素可以有若干個(gè)數(shù)據(jù)項(xiàng)組成。
數(shù)據(jù)對(duì)象|Data Object|性質(zhì)相同的數(shù)據(jù)元素的集合圈澈,是數(shù)據(jù)的一個(gè)子集惫周。

3. 數(shù)據(jù)結(jié)構(gòu)包含的內(nèi)容

  • 數(shù)據(jù)的邏輯結(jié)構(gòu):數(shù)據(jù)之間的邏輯關(guān)系,算法的設(shè)計(jì)就需要依賴于邏輯結(jié)構(gòu)士败。
  • 數(shù)據(jù)的物理結(jié)構(gòu):數(shù)據(jù)在計(jì)算機(jī)中的表示闯两,即存儲(chǔ)結(jié)構(gòu)褥伴,算法的實(shí)現(xiàn)需要依賴于物理結(jié)構(gòu)谅将。
  • 數(shù)據(jù)的運(yùn)算結(jié)構(gòu):暫時(shí)不討論

文章所描述的數(shù)據(jù)結(jié)構(gòu):包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)兩個(gè)層次;

1. 邏輯結(jié)構(gòu):

從邏輯關(guān)系上描述數(shù)據(jù)重慢,它與數(shù)據(jù)的存儲(chǔ)無(wú)關(guān)饥臂,是獨(dú)立于計(jì)算機(jī)的,可看做是從具體問(wèn)題中抽象出來(lái)的數(shù)學(xué)模型似踱。

它有兩大要素:數(shù)據(jù)元素和關(guān)系隅熙;

四類基本邏輯結(jié)構(gòu):
根據(jù)數(shù)據(jù)元素之間關(guān)系的不同特性,分為四類基本結(jié)構(gòu):

結(jié)構(gòu)名稱 特點(diǎn)
集合結(jié)構(gòu) 屬于同一結(jié)合別無(wú)其他關(guān)系核芽;
線性結(jié)構(gòu) 數(shù)據(jù)元素之間存在一對(duì)一的關(guān)系囚戚;
樹(shù)結(jié)構(gòu) 元素之間存在一對(duì)多的關(guān)系;
圖結(jié)構(gòu) 元素之間存在多對(duì)多的關(guān)系轧简;

數(shù)據(jù)邏輯結(jié)構(gòu):分為線性和非線性結(jié)構(gòu)

數(shù)據(jù)邏輯結(jié)構(gòu)
2. 物理結(jié)構(gòu)

數(shù)據(jù)對(duì)象在計(jì)算機(jī)中的存儲(chǔ)表示稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)驰坊,也叫物理結(jié)構(gòu);
存儲(chǔ)數(shù)據(jù)時(shí)既要存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)哮独,又要存儲(chǔ)數(shù)據(jù)元素之間的邏輯關(guān)系拳芙;

數(shù)據(jù)元素在計(jì)算機(jī)中有兩種基本的存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)皮璧;

名稱 特點(diǎn)
順序存儲(chǔ)結(jié)構(gòu) 借助元素在存儲(chǔ)器中的相對(duì)位置來(lái)表示數(shù)據(jù)元素之間的邏輯關(guān)系舟扎;要求所有元素依次存放在一片連續(xù)的存儲(chǔ)空間中; 一般借用程序設(shè)計(jì)語(yǔ)言中的數(shù)組類型表示悴务;
鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 借助指示元素存儲(chǔ)地址的指針表示數(shù)據(jù)元素之間的邏輯關(guān)系睹限,無(wú)需占用一整塊連續(xù)的存儲(chǔ)空間,但為了表示節(jié)點(diǎn)之間的關(guān)系,需要給每一個(gè)節(jié)點(diǎn)添加附加指針字段羡疗,用于存放后續(xù)元素的存儲(chǔ)地址删窒; 一般借助程序設(shè)計(jì)語(yǔ)言中的指針類型表示;

任何一個(gè)算法的設(shè)計(jì)取決于選定的數(shù)據(jù)邏輯結(jié)構(gòu)顺囊,而算法的實(shí)現(xiàn)依賴于采用的存儲(chǔ)結(jié)構(gòu)

3.數(shù)據(jù)類型

按值的不同特性肌索,高級(jí)程序語(yǔ)言中的數(shù)據(jù)結(jié)構(gòu)可分為兩類:
1.非結(jié)構(gòu)的原子類:原子類型的值是不可分解的。
2.結(jié)構(gòu)類型:如自定義的數(shù)據(jù)類型特碳。

4.抽象數(shù)據(jù)類型 (abstract data type)ADT

指一個(gè)數(shù)學(xué)模型以及定義在該模型上的一組操作诚亚。由一個(gè)值域和定義在該值域上的一組操作組成。
按其值得不同特性分為下列3類:
1.原子類型 atomic data type:該類型的變量的值是不可分解的午乓。
2.固定聚合類型 fixed-aggregate data type:該類型的變量站宗,其值由確定數(shù)目的成分按某種結(jié)構(gòu)組成。
3.可變聚合類型 variable-aggregate data type:該類型的值的成分的數(shù)目是不確定的益愈。

4. 程序

算法+數(shù)據(jù)結(jié)構(gòu) = 程序

1.算法和算法分析性

算法:Algorithm是為解決某類問(wèn)題而規(guī)定的一個(gè)有限長(zhǎng)的操作序列梢灭。

算法必須滿足的5個(gè)特性:

編號(hào) 名稱 解釋
1 有窮性 一個(gè)算法必須總是在執(zhí)行又窮步后結(jié)
束,且每一步都必須在有窮的時(shí)間內(nèi)完成蒸其。
2 確定性 對(duì)于每一種情況所應(yīng)執(zhí)行的操作敏释,在算
法中都有確切的規(guī)定,不會(huì)產(chǎn)生二義性摸袁,是算法的執(zhí)行者或閱讀者都能明確其含義以及如何執(zhí)行
3 可行性 算法中的所有操作都可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本操作運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)钥顽。
4 輸入 0個(gè)或多個(gè)輸入。
5 輸出 1個(gè)或多個(gè)輸出靠汁。

算法設(shè)計(jì)的要求:

編號(hào) 名稱 說(shuō)明
1 正確性 算法能正確反映需求
2 可讀性 易于閱讀
3 健壯性 當(dāng)輸入非法數(shù)據(jù)時(shí)蜂大,能正確的做出反映
2. 算法的評(píng)價(jià)標(biāo)準(zhǔn):
名稱 說(shuō)明
正確性 在合理 的輸入下,能夠在有限的運(yùn)行時(shí)間內(nèi)得到正確的結(jié)果蝶怔。
可讀性 便于人們理解和交流奶浦。
健壯性 輸入非法數(shù)據(jù)時(shí),能適當(dāng)?shù)淖龀稣_的反應(yīng)或進(jìn)行相應(yīng)的處理踢星。
高效性 時(shí)間和空間兩個(gè)方面澳叉,時(shí)間方面指算法設(shè)計(jì)合理,執(zhí)行效率高斩狱,可用時(shí)間復(fù)雜度來(lái)度量耳高,空間方面指算法占用存儲(chǔ)容量合理,空間復(fù)雜度衡量所踊。
3. 數(shù)據(jù)結(jié)構(gòu)中的堆棧:

在數(shù)據(jù)結(jié)構(gòu)中泌枪,堆棧是:堆 和棧兩種數(shù)據(jù)結(jié)構(gòu);

堆:是完全二叉樹(shù)秕岛,堆中各元素是有序的碌燕。在這個(gè)二叉樹(shù)中所有的雙親節(jié)點(diǎn)和孩子節(jié)點(diǎn)存在著大小關(guān)系误证,如所有的雙親節(jié)點(diǎn)都大于孩子節(jié)點(diǎn)則 為大頭堆,如果所有的雙親節(jié)點(diǎn)都小于其孩子節(jié)點(diǎn)說(shuō)明這是一個(gè)小頭堆修壕,建堆的過(guò)程就是一個(gè)排序的過(guò)程愈捅,堆得查詢效率也很高。
棧:是一種先進(jìn)后出的線性表慈鸠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蓝谨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子青团,更是在濱河造成了極大的恐慌譬巫,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件督笆,死亡現(xiàn)場(chǎng)離奇詭異芦昔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)娃肿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門咕缎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人料扰,你說(shuō)我怎么就攤上這事凭豪。” “怎么了记罚?”我有些...
    開(kāi)封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵墅诡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我桐智,道長(zhǎng),這世上最難降的妖魔是什么烟馅? 我笑而不...
    開(kāi)封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任说庭,我火速辦了婚禮,結(jié)果婚禮上郑趁,老公的妹妹穿的比我還像新娘刊驴。我一直安慰自己,他們只是感情好寡润,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布捆憎。 她就那樣靜靜地躺著,像睡著了一般梭纹。 火紅的嫁衣襯著肌膚如雪躲惰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天变抽,我揣著相機(jī)與錄音础拨,去河邊找鬼氮块。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诡宗,可吹牛的內(nèi)容都是我干的滔蝉。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼塔沃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蝠引!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蛀柴,我...
    開(kāi)封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤立肘,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后名扛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谅年,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年肮韧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了融蹂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弄企,死狀恐怖超燃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拘领,我是刑警寧澤意乓,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站约素,受9級(jí)特大地震影響届良,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜圣猎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一士葫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧送悔,春花似錦慢显、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至洁段,卻和暖如春应狱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眉撵。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工侦香, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留落塑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓罐韩,卻偏偏與公主長(zhǎng)得像憾赁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子散吵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 數(shù)據(jù)結(jié)構(gòu): 是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合龙考。 數(shù)據(jù)結(jié)構(gòu)是一門研究 ----非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)...
    努力生活的西魚閱讀 550評(píng)論 0 0
  • 1 序 2016年6月25日夜,帝都矾睦,天下著大雨晦款,拖著行李箱和同學(xué)在校門口照了最后一張合照,搬離寢室打車去了提前租...
    RichardJieChen閱讀 5,108評(píng)論 0 12
  • 這年頭枚冗,廣告總是比電視劇好看了缓溅,廣告歌也唱得比某些歌手的很多歌好聽(tīng)多了,吃瓜群眾的我們能怎么辦赁温,我們也別絕望啊坛怪,看...
    晴天小姐閱讀 2,055評(píng)論 0 3
  • 一、四位一體的建管體制:項(xiàng)目法人責(zé)任制股囊。招投標(biāo)制袜匿。工程建設(shè)監(jiān)理制。合同管理制稚疹。 二居灯、資本金制度:隨著“撥改貸”的進(jìn)...
    pancake113閱讀 607評(píng)論 0 0
  • 文/邊城風(fēng) 菜市場(chǎng)將新冊(cè)寺廟圍困, 紅墻漸漸褪色内狗, 油燈照亮許愿池的余波怪嫌, 虔誠(chéng)和心愿輕輕沉塘。 金魚內(nèi)心焦躁 卻...
    邊城風(fēng)閱讀 348評(píng)論 0 0