最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

編程基礎(chǔ)必學(xué):淺析數(shù)據(jù)結(jié)構(gòu)!你應(yīng)該沒有這樣了解過吧?

2022-04-23 16:30 作者:C語言編程__Plus  | 我要投稿

1.計算機科學(xué)的兩大支柱:1.數(shù)據(jù)結(jié)構(gòu) 2.算法

2.數(shù)據(jù)結(jié)構(gòu)定義:? ?一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象以及它們之間的關(guān)系和操作等等的學(xué)科。


數(shù)據(jù)(Data):? ?是對信息的一種符號表示。在計算機科學(xué)中是指所有能輸入到計算機中并被計算機程序處理的符號的總稱。

  數(shù)據(jù)元素(Data Element):? ?是數(shù)據(jù)的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。

一個數(shù)據(jù)元素可由若干個數(shù)據(jù)項組成。數(shù)據(jù)項是數(shù)據(jù)的不可分割的最小單位。

  數(shù)據(jù)結(jié)構(gòu)(Data Structure):? ?是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。

3.數(shù)據(jù)結(jié)構(gòu)主要指邏輯結(jié)構(gòu)和物理結(jié)構(gòu),數(shù)據(jù)之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。通常分為四類基本結(jié)構(gòu):

  集合:? ?結(jié)構(gòu)中的數(shù)據(jù)元素除了同屬于一種類型外,別無其它關(guān)系。

  線性結(jié)構(gòu):結(jié)構(gòu)中的數(shù)據(jù)元素之間存在一對一的關(guān)系。

  樹型結(jié)構(gòu):結(jié)構(gòu)中的數(shù)據(jù)元素之間存在一對多的關(guān)系。

圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)?:?結(jié)構(gòu)中的數(shù)據(jù)元素之間存在多對多的關(guān)系。


4.數(shù)據(jù)結(jié)構(gòu)在計算機中有兩種不同的表示方法:

  順序存儲結(jié)構(gòu):? ?用數(shù)據(jù)元素在存儲器中的相對位置來表示數(shù)據(jù)元素之間的邏輯關(guān)系。

  鏈?zhǔn)酱鎯Y(jié)構(gòu):在每一個數(shù)據(jù)元素中增加一個存放地址的指針,用此指針來表示數(shù)據(jù)元素之間的邏輯關(guān)系。

5.數(shù)據(jù)對象:某種數(shù)據(jù)類型元素的集合。

eg:整數(shù)的數(shù)據(jù)對象是{…-3,-2,-1,0,1,2,3,…}

    英文字符類型的數(shù)據(jù)對象是{A,B,C,D,E,F(xiàn),…}

  數(shù)據(jù)類型:在一種程序設(shè)計語言中,變量所具有的數(shù)據(jù)種類。

6.數(shù)據(jù)結(jié)構(gòu)的三個方面:


7.算法用抽象的語言描述解決特定問題的每一步的操作。程序是計算機能理解和執(zhí)行的指令序列。一個程序?qū)崿F(xiàn)一個算法。算法和程序的區(qū)別是算法的執(zhí)行是有窮的,而程序的執(zhí)行可以是無限的。

8.時間復(fù)雜度

9.

  1、什么是集合

?     通常情況下,把具有相同性質(zhì)的一類東西,匯聚成一個整體,就可以稱為集合。比如,用Java編程的所有程序員,全體中國人等。

  2、什么是集合框架

?    集合框架是為表示和操作集合而規(guī)定的一種統(tǒng)一的標(biāo)準(zhǔn)的體系結(jié)構(gòu)。任何集合框架都包含三大塊內(nèi)容:對外的接口、接口的實現(xiàn)和對集合運算的算法。

  3、集合框架對我們編程有何助益:

    它減少了程序設(shè)計的辛勞、它提高了程序速度和質(zhì)量。

10.?Collection 接口是一組允許重復(fù)的對象。

  Set 接口繼承 Collection,但不允許重復(fù),使用自己內(nèi)部的一個排列機制。

  List 接口繼承 Collection,允許重復(fù),以元素安插的次序來放置元素,不會重新排列。

  Map接口是一組成對的鍵-值對象,即所持有的是key-value pairs。Map中不能有重復(fù)的key。擁有自己的內(nèi)部排列機制。

  容器中的元素類型都為Object。從容器取得元素時,必須把它轉(zhuǎn)換成原來的類型。

11. 遞歸:

  若一個對象部分地包含它自己,? 或用它自己給自己定義,? 則稱這個對象是遞歸的;若一個過程直接地或間接地調(diào)用自己, 則稱這個過程是遞歸的過程。


12. 線性表:

  線性表是由n(n≥0)個相同類型的數(shù)據(jù)元素a1,a2,…,an組成的有限序列,記作:LinearList={a1,a2,…,an}

其中,n表示線性表的元素個數(shù),稱為線性表的長度。

13. 線性表的順序存儲結(jié)構(gòu):

  是用一組連續(xù)的存儲單元順序存放線性表的數(shù)據(jù)元素,數(shù)據(jù)元素在內(nèi)存的物理存儲次序與它們在線性表中的邏輯次序是一致的,即數(shù)據(jù)元素ai與其前驅(qū)數(shù)據(jù)元素ai-1及后繼數(shù)據(jù)元素ai+1的位置相鄰。

14.迭代器:

  迭代器是允許以一致的方式對集合對象的元素進行訪問的對象。迭代器對象一旦發(fā)現(xiàn)另一個對象在結(jié)構(gòu)上修改這一集合,就馬上會報錯。這是因為一旦你開始對一個ArrayList對象進行迭代,就不能再修改這個ArrayList完整性。所以彈出 ConcurrentModificationException

——————

寫在最后:另外,對于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學(xué)習(xí)基地

C語言零基礎(chǔ)入門教程(83集全)

整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:

粉絲編程交流:


編程基礎(chǔ)必學(xué):淺析數(shù)據(jù)結(jié)構(gòu)!你應(yīng)該沒有這樣了解過吧?的評論 (共 條)

分享到微博請遵守國家法律
蒙自县| 贵港市| 蒙阴县| 科技| 中超| 东城区| 宁安市| 鄂托克前旗| 和龙市| 泸西县| 东山县| 二连浩特市| 定兴县| 武城县| 额济纳旗| 广平县| 沙坪坝区| 海宁市| 襄垣县| 乳源| 遵义市| 五华县| 大连市| 淮安市| 梨树县| 五指山市| 泽库县| 大化| 读书| 霍林郭勒市| 克什克腾旗| 土默特右旗| 铅山县| 策勒县| 岳池县| 子洲县| 邮箱| 文安县| 临猗县| 金乡县| 绿春县|