




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1數(shù)據(jù)結(jié)構(gòu)與算法
2
○學(xué)習(xí)的目的:為了分析待處理的對象的特性以及各處理對象之間的存在關(guān)系。
概述2.1學(xué)習(xí)目的因此,簡單說來,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機(jī)的操作對象以及它們之間的關(guān)系和操作等的學(xué)科。
3
2.1.1數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)處理的重要性數(shù)據(jù)結(jié)構(gòu)可描述為Group=(D,R)學(xué)生成績查詢學(xué)號姓名成績9861109張卓1009861107劉忠賞959861103胡孝臣86交通路燈問題4
數(shù)據(jù):所有能輸入到計算機(jī)中并能被計算機(jī)程序處理的符號集合.數(shù)據(jù)元素:
數(shù)據(jù)的基本單位,也稱結(jié)點(diǎn)或記錄.數(shù)據(jù)結(jié)構(gòu):
相互間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合.
基本概念5
數(shù)據(jù)結(jié)構(gòu):由某一數(shù)據(jù)對象及該對象中所有數(shù)據(jù)成員之間的關(guān)系組成。記為:
Data_Structure={D,R}
其中,D是某一數(shù)據(jù)對象,R是該對象中所有數(shù)據(jù)成員之間的關(guān)系的有限集合。
數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是一門研究數(shù)據(jù)組織、存儲和運(yùn)算的一般方法的學(xué)科。6
1.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)
2、數(shù)據(jù)的存儲結(jié)構(gòu)3、數(shù)據(jù)的運(yùn)算:檢索、排序、插入、刪除、修改等。A.線性結(jié)構(gòu)B.非線性結(jié)構(gòu)A.順序存儲
B.鏈?zhǔn)酱鎯€性表棧隊樹形結(jié)構(gòu)圖形結(jié)構(gòu)2.1.2數(shù)據(jù)結(jié)構(gòu)研究的三個主要問題:7
集合:數(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):結(jié)構(gòu)中的數(shù)據(jù)元素存在多個對多個的關(guān)系.1234數(shù)據(jù)的邏輯結(jié)構(gòu)8
樹形結(jié)構(gòu)例子——結(jié)點(diǎn)間具有分層次的連接關(guān)系HBCDEFGA9
1423
D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213
D={1,2,3}R={<1,2>,<2,3>,<3,2>,<1,3>}
圖形結(jié)構(gòu)例子——結(jié)點(diǎn)間的連結(jié)是任意的10
元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存儲地址存儲內(nèi)容Loc(元素i)=Lo+(i-1)*m數(shù)據(jù)的順序存儲11
1536元素21400元素11346元素3∧元素41345存儲地址存儲內(nèi)容指針
1345元素1
1400
1346元素4∧
…….
……..
…….
1400元素2
1536
…….
……..
…….
1536元素3
1346h數(shù)據(jù)的鏈?zhǔn)酱鎯?2
????????????
程序=算法+數(shù)據(jù)結(jié)構(gòu)
程序設(shè)計的實質(zhì)是選擇一個好的數(shù)據(jù)結(jié)構(gòu),設(shè)計一個好的算法。算法取決于描述實際問題的數(shù)據(jù)結(jié)構(gòu)。13
2.1.3算法的基本概念
1算法:是對特定問題求解步驟的一種描述。算法的四個特性:有窮性確定性可行性有輸出14
12Voidexam1(){n=2;while(n%2==0)n=n+2;printf(“%d\n”,n);}Voidexam2(){y=0;x=5/y;printf(“%d%d”,x,y);}15
評價算法:正確性、易讀性、健壯性、運(yùn)行時間及占用空間。
正確性:正確與否可讀性:容易閱讀健壯性:容錯處理效率和低存儲量需求:
和算法執(zhí)行時間相關(guān)的因素有:1)算法所用“策略”;2)算法所解問題的“規(guī)?!?;3)編程所用“語言”;4)“編譯”的質(zhì)量;5)執(zhí)行算法的計算機(jī)的"速度"。16
for(i=1;i<=n;i++)/*n+1*/for(j=1;j<=n;j++)/*n*(n+1)*/{c[i][j]=0;/*n2*/for(k=1;k<=n;k++)/*n2(n+1)*/c[i][j]=c[i][j]+a[i][k]*b[k][j];/*n3*/}T(n)=2n3+3n2+2n+1兩個n階矩陣相乘的算法2算法的復(fù)雜度:時間復(fù)雜度:評估算法的時間增長趨勢。影響運(yùn)行時間的因素:語句執(zhí)行的次數(shù)(頻度)
執(zhí)行每行語句所需的時間(與算法無關(guān))T(n)=2n3+3n2+2n+1當(dāng)n趨向充分大時,T(n)/n3的值趨于常數(shù)算法時間復(fù)雜度表示為T(n)=O(n3)17
當(dāng)問題的規(guī)模n趨于無窮大時,把時間復(fù)雜度T(n)的數(shù)量級(階)稱為算法的漸進(jìn)時間復(fù)雜度(有時簡稱為時間復(fù)雜度)。
嚴(yán)格的數(shù)學(xué)定義為:若T(n)和f(n)是定義在正整數(shù)集合上的兩個函數(shù),當(dāng)存在兩個正的乘數(shù)C和n0時,使得對所有的成立,則都有這時稱T(n)的時間復(fù)雜度為f(n)數(shù)量級。18
例:x=0;y=0;for(k=1;k<=n;k++)x++;for(i=1;i<=n;i++)for(j=1;j<=n;j++)//n*ny++;一般情況下,對步進(jìn)循環(huán)語句只需考慮循環(huán)體中語句的執(zhí)行次數(shù),而忽略循環(huán)體中步長加1、終值判斷、控制轉(zhuǎn)移等成分。時間復(fù)雜度是以算法中頻度最大的語句來衡量。19
voidselect_sort(inta[],intn)
{
//將a中整數(shù)序列重新排列成自小至大有序的整數(shù)序列。
for(i=0;i<n-1;++i){
j=i;
for(k=i+1;k<n;++k)
if(a[k]<a[j])j=k;
if(j!=i){w=a[j];a[j]=a[i];a[i]=w;}}
}20
例:x=1;for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x++;21??????Ⅰ
1
2如果算法的執(zhí)行時間是一個與問題規(guī)模n無關(guān)的常數(shù),則算法的時間復(fù)雜度為常數(shù)階,記作T(n)=O(1)??臻g復(fù)雜度:指算法中所需的輔助空間單元。交換i和j的內(nèi)容。Temp=i;i=j
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村糧倉銷售合同范本
- 兄妹借錢合同范本
- 2025年中國萘普生鈉行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略研究報告
- (完整版)兼職合同范本
- 俱樂部線上合同范本英語
- 2025年中國海上風(fēng)電機(jī)組行業(yè)發(fā)展趨勢及投資前景預(yù)測報告
- 中藥招標(biāo)合同范本
- 企業(yè)活動服務(wù)合同范本
- 中介買房跟隨合同范本
- 現(xiàn)代餐飲業(yè)創(chuàng)新發(fā)展路徑分析
- FZ∕T 73037-2019 針織運(yùn)動襪行業(yè)標(biāo)準(zhǔn)
- 2024年南京旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 春節(jié)的那些事作文6篇
- (完整版)機(jī)房安全檢查表
- 山西省太原市2023-2024學(xué)年七年級下學(xué)期期中數(shù)學(xué)試題
- XF-T 3004-2020 汽車加油加氣站消防安全管理
- 子宮內(nèi)膜癌保留生育治療
- (正式版)JBT 14660-2024 額定電壓6kV到30kV地下掘進(jìn)設(shè)備用橡皮絕緣軟電纜
- 2.2算法的概念及其描述課件人教中圖版高中信息技術(shù)必修1
- 汽車電子技術(shù)專業(yè)人才培養(yǎng)方案樣本
- 血栓風(fēng)險評估及個體化干預(yù)(遺傳性易栓癥風(fēng)險基因檢測)
評論
0/150
提交評論