大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)

數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)

更新時(shí)間:2021-06-22 12:12:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1038次

概要:

什么是數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或者多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來(lái)更高的運(yùn)行或者存儲(chǔ)效果。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)和基本算法,最基本的三種基本結(jié)構(gòu):線性結(jié)構(gòu)、樹型結(jié)構(gòu)和圖形結(jié)構(gòu)。常用的算法:查找、排序。

那為什么我們要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)呢?因?yàn)橐獙W(xué)好編程,數(shù)據(jù)結(jié)構(gòu)是必須學(xué)好的,不僅僅是結(jié)構(gòu),每一種結(jié)構(gòu)里面會(huì)有幾種算法,這些算法包涵了不同的思想。數(shù)據(jù)結(jié)構(gòu)貫穿程序設(shè)計(jì)的始終。擁有數(shù)據(jù)結(jié)構(gòu)與算法的功底,能使我們更快地編寫出更高效率的程序。“算法+數(shù)據(jù)結(jié)構(gòu)=程序”。

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

1.定義:數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或者多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成,分為邏輯數(shù) 據(jù)結(jié)構(gòu)和存儲(chǔ)(物理)數(shù)據(jù)結(jié)構(gòu)兩種。

2.數(shù)據(jù)包括:數(shù)據(jù)(原材料)、數(shù)據(jù)元素(基本單位)、數(shù)據(jù)項(xiàng)(最小單位)、數(shù)據(jù)對(duì)象(子集)、數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)的組織形式即集合)、 數(shù)據(jù)類型(按照數(shù)據(jù)值的不同進(jìn)行劃分的可操作性)

注意:

(1)數(shù)據(jù)元素之間不是獨(dú)立的,而是存在特定的關(guān)系的,這下關(guān)系為結(jié)構(gòu)。

(2)數(shù)據(jù)結(jié)構(gòu)指數(shù)據(jù)對(duì)象中數(shù)據(jù)元素之間的關(guān)系。

3.數(shù)據(jù)的邏輯結(jié)構(gòu)

定義:邏輯結(jié)構(gòu)是指數(shù)據(jù)對(duì)象中數(shù)據(jù)元素之間的相互關(guān)系。

數(shù)據(jù)的邏輯結(jié)構(gòu)可以分為兩種:線性結(jié)構(gòu)和非線性結(jié)構(gòu)(集合、樹、網(wǎng))。

線性結(jié)構(gòu)里的元素是一對(duì)一的關(guān)系,常見的線性結(jié)構(gòu)是線性表,典型的線性表有:順序表、鏈表、棧(知順序棧、鏈棧)和隊(duì)列(順序隊(duì)列、鏈隊(duì)列)。

非線性結(jié)構(gòu)里的元素是一對(duì)多或多對(duì)多的關(guān)系,常見的非線性結(jié)構(gòu)包括:樹(二叉樹)、圖(網(wǎng))等。

也可以細(xì)分為以下四種基本類型:

集合結(jié)構(gòu):集合結(jié)構(gòu)里面的元素關(guān)系是孤立的,僅同屬于相同的集合。

線性結(jié)構(gòu):數(shù)據(jù)元素之間存在著一對(duì)一的線性關(guān)系。除第一個(gè)和最后一個(gè)元素外,每個(gè)元素只有一個(gè)前驅(qū)和一個(gè)后繼數(shù)據(jù)元素。

樹結(jié)構(gòu):數(shù)據(jù)元素之間存在這一對(duì)多的層次關(guān)系。除根結(jié)點(diǎn)外,每個(gè)數(shù)據(jù)元素只有一個(gè)前驅(qū)數(shù)據(jù)元素,可有0個(gè)或若干個(gè)后繼數(shù) 據(jù)元素。

圖結(jié)構(gòu):數(shù)據(jù)元素之間存在著多對(duì)多的任意關(guān)系。每個(gè)元素可有0個(gè)或若干個(gè)前驅(qū)數(shù)據(jù)元素和0個(gè)或若干個(gè)后繼數(shù)據(jù)元素。

4.數(shù)據(jù)的存儲(chǔ)(物理)結(jié)構(gòu)

定義:物理結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存儲(chǔ)形式。存儲(chǔ)結(jié)構(gòu)有兩種:

順序存儲(chǔ)結(jié)構(gòu):是把數(shù)據(jù)元素存放在地址連續(xù)的存儲(chǔ)單元里,其數(shù)據(jù)間的邏輯關(guān)系和物理關(guān)系是一致的。

鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu):是把數(shù)據(jù)元素存放在任意的存儲(chǔ)單元里,這組存儲(chǔ)單元可以是連續(xù)的,也可以是不連續(xù)的。

算法:

1.定義:算法是對(duì)特定問(wèn)題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個(gè)或多個(gè)操作。

2.算法的五個(gè)重要特性:

(1)有窮性:一個(gè)算法包含有限個(gè)操作步驟。一個(gè)算法在執(zhí)行若干個(gè)步驟之后應(yīng)該能夠結(jié)束,而且每一步驟都在有限時(shí)間內(nèi)完成。

(2)確定性:算法中的每一步驟必須有確切的含義,不能產(chǎn)生二義性。

(3)可行性:算法中的每一步驟都應(yīng)該是能有效地執(zhí)行,并得到確定的結(jié)果。

(4)輸入:一個(gè)算法可以有零個(gè)或多個(gè)輸入。

(5)輸出:一個(gè)算法有一個(gè)或多個(gè)輸出。沒有輸出的算法是毫無(wú)意義的。

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

算法設(shè)計(jì)的好壞關(guān)乎程序執(zhí)行效率,算法的設(shè)計(jì)必須滿足下列四個(gè)要求:

(1)正確性:正確性是指算法達(dá)到了測(cè)試要求。

(3)可讀性:指人對(duì)算法的理解,可讀性高便于交流,有利于算法的調(diào)試和修改

(3)健壯性:對(duì)于非法輸入的數(shù)據(jù),算法能給出相應(yīng)的響應(yīng),阻止不可預(yù)料的后果的產(chǎn)生

(4)效率與低存儲(chǔ)量需求:效率指算法的執(zhí)行時(shí)間,執(zhí)行時(shí)間短的算法效率高。存儲(chǔ)量需求是指算法執(zhí)行過(guò)程中所需的最大存儲(chǔ)空間,存儲(chǔ)量需求越小的算法效率越高。

4.算法的分析:

(1)算法效率的度量:算法執(zhí)行時(shí)間是其對(duì)應(yīng)的程序在計(jì)算機(jī)上運(yùn)行所消耗的時(shí)間。程序在計(jì)算機(jī)上運(yùn)行所需時(shí)間與下列因素有關(guān):

1)算法本身選用的策略

2)書寫程序的語(yǔ)言

3)編譯產(chǎn)生的代碼質(zhì)量

4)機(jī)器執(zhí)行指令的速度

5)問(wèn)題的規(guī)模

其中算法本身選用的策略是算法好壞的根本,書寫程序的語(yǔ)言和編譯產(chǎn)生的代碼質(zhì)量要看具體的軟件支持。

(2)算法的時(shí)間復(fù)雜度:

可以用算法中語(yǔ)句的執(zhí)行次數(shù)來(lái)度量一個(gè)算法的效率。

(3)算法的空間復(fù)雜度:

數(shù)據(jù)結(jié)構(gòu)與算法之間的關(guān)系:既有聯(lián)系又有區(qū)別

1.兩者之間的關(guān)系:

數(shù)據(jù)結(jié)構(gòu)是底層,算法高層;

數(shù)據(jù)結(jié)構(gòu)為算法提供服務(wù);

算法圍繞數(shù)據(jù)結(jié)構(gòu)操作;

2.聯(lián)系:

程序=算法+數(shù)據(jù)結(jié)構(gòu)。算法的設(shè)計(jì)取決于數(shù)據(jù)的邏輯結(jié)構(gòu),算法的實(shí)現(xiàn)取決于數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)。所以說(shuō),數(shù)據(jù)結(jié)構(gòu)是算法實(shí)現(xiàn)的基礎(chǔ),算法總是要依賴某種數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)的。算法的操作對(duì)象是數(shù)據(jù)結(jié)構(gòu)。兩者是相輔相成的存在,是不可分割的關(guān)系。

3.區(qū)別:

(1)兩者的指代(即定義)不同

(2)目的不同:數(shù)據(jù)結(jié)構(gòu)研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)的一些基本操作,而算法更多的是研究如何在數(shù)據(jù)結(jié)構(gòu)的基本上解決實(shí)際問(wèn)題。算法是編程思想,數(shù)據(jù)結(jié)構(gòu)則是這些思想的基礎(chǔ)。

(3)特點(diǎn)不同:算法中執(zhí)道行內(nèi)的任何計(jì)算步驟都是可以被分解為基本的可執(zhí)行的操作步驟,即每個(gè)計(jì)算步驟都可以在有限時(shí)間內(nèi)完成。數(shù)據(jù)結(jié)構(gòu)核心技術(shù)是分解與抽象。通過(guò)分解可以劃分出數(shù)據(jù)的3個(gè)層次;再通過(guò)抽象,舍棄數(shù)據(jù)元素的具體 內(nèi)容,就得到邏輯結(jié)構(gòu)。

編程語(yǔ)言中常見的數(shù)據(jù)結(jié)構(gòu):

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 精品国产一区二区三区不卡 | 精品国产影院 | 亚洲精品久久久久中文字幕一区 | 久久综合九色综合欧洲 | 欧美成人老熟妇暴潮毛片 | 国产大毛片 | 色综合小说天天综合网 | 久久精品99 | 亚洲三级天堂 | 成人亚洲综合 | 国产午夜精品理论片久久影视 | 欧美成人香蕉网在线观看 | 国产欧美视频在线观看 | 久热精品香蕉在线视频 | 香蕉尹人综合精品 | 日日爱影视 | 日本免费一区二区三区 | 国产九九热视频 | 欧美一级全部免费视频 | 在线看v| 久久久精品2018免费观看 | 精品不卡| 天天爽夜夜爽夜夜爽精品视频 | 免费一级片视频 | 久久国产偷| 亚洲视频日韩视频 | 黄色片在线观看网站 | dxj久久成国产精品 dxj伊人 | 深夜福利视频网址 | 九九久久久久久久爱 | 一级香蕉免费毛片 | 国产网站免费视频 | 波多野结衣精品一区二区三区 | 黄色影院在线观看 | 亚洲一区二区三区麻豆 | 国产精品66在线观看 | 亚洲日本人成网站在线观看 | 91在线免费视频 | 精品久久一区 | 久久视频在线观看免费 | 亚洲国产精品综合福利专区 |