版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DataStructureandAlgorithmdesign|analyze|experiment|implement數(shù)據(jù)結(jié)構(gòu)與算法第一章概述《算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版第2版)》1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS課程介紹核心專業(yè)基礎(chǔ)課線上線下混合式第2學(xué)期開設(shè)84學(xué)時(shí)擴(kuò)展24
1課程地位第1章概論 2~4
學(xué)時(shí)第2章線性表 6~8 學(xué)時(shí)第3章棧和隊(duì)列 6~8 學(xué)時(shí)第4章串 2~4 學(xué)時(shí)第5章數(shù)組 0~4 學(xué)時(shí)第6章樹 6~8 學(xué)時(shí)第7章樹的應(yīng)用
4~6 學(xué)時(shí)第8章圖 6~8 學(xué)時(shí)第9章圖的應(yīng)用 4~6 學(xué)時(shí)第10章集合與查找 2~4 學(xué)時(shí)第11章散列 2~2 學(xué)時(shí)第12章排序 6~8 學(xué)時(shí)復(fù)習(xí) 2~2 學(xué)時(shí)共計(jì) 48~72學(xué)時(shí)課程介紹后續(xù)課程(數(shù)據(jù)庫、操作系統(tǒng)、人工智能、網(wǎng)絡(luò)等)的基礎(chǔ)碩士研究生入學(xué)考試課程2002年前:專業(yè)課兩張卷,各100分
(多數(shù)高校數(shù)據(jù)結(jié)構(gòu)占100分)2003--2008:專業(yè)課一張卷,150分
(部分高校只考數(shù)據(jù)結(jié)構(gòu),如華中科大、北京交大、江蘇大學(xué)等)2009----專業(yè)基礎(chǔ)綜合一張卷全國(guó)統(tǒng)考
(4科,數(shù)據(jù)結(jié)構(gòu)占45分)2013----專業(yè)基礎(chǔ)綜合一張卷全國(guó)統(tǒng)考/自主命題(暨南大學(xué)、深圳大學(xué)等只考數(shù)據(jù)結(jié)構(gòu))課程介紹圖源:淘寶網(wǎng)猜一猜課程介紹約5000pcs積木圖源:淘寶網(wǎng)課程介紹程序設(shè)計(jì)就像搭積木數(shù)據(jù)結(jié)構(gòu)是零件算法則是設(shè)計(jì)圖紙課程介紹
2學(xué)什么?
2學(xué)什么?Pascal之父——NicklausWirth1984年圖靈獎(jiǎng)獲得者Algorithms+DataStructures=Programs算法+數(shù)據(jù)結(jié)構(gòu)=程序課程介紹記憶理解應(yīng)用分析評(píng)價(jià)創(chuàng)新Learntoknow知識(shí)與技能Learntodo方法與能力Learntobe思維與創(chuàng)新Learntolearn未來與發(fā)展品格態(tài)度價(jià)值觀
3為什么學(xué)?低階高階課程介紹
4課程目標(biāo)編寫高質(zhì)量的程序課程介紹教材:馮廣慧等,算法與數(shù)據(jù)結(jié)構(gòu)(c++語言版),電子工業(yè)出版社,2018-12參考書:嚴(yán)蔚敏,數(shù)據(jù)結(jié)構(gòu)(C語言版),清華大學(xué)出版社,2012-5陳守孔、胡瀟琨、李玲、馮廣慧,算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析(第4版),機(jī)械工業(yè)出版社,2020-6
5教材和參考書課程介紹學(xué)生作品展演20集課堂教學(xué)錄像62節(jié),2480分鐘習(xí)題解析23講260分鐘算法模擬動(dòng)畫40余算法學(xué)堂在線MOOC30講,600分鐘
6線上資源在線課程(參考):(SPOC:習(xí)題微課、算法模擬動(dòng)畫、課堂實(shí)錄、展演視頻等)(MOOC:知識(shí)點(diǎn)微課、算法模擬動(dòng)畫、章節(jié)測(cè)驗(yàn))課程介紹Manim是一款數(shù)學(xué)動(dòng)畫制作引擎,3Blue1Brown深入淺出、直觀明了地分享數(shù)學(xué)之美,以獨(dú)特的視覺角度解說高等數(shù)學(xué),內(nèi)容包括線性代數(shù)、微積分、神經(jīng)網(wǎng)絡(luò)、黎曼猜想、傅里葉變換以及四元數(shù)等等。
6在線資源課程介紹課前準(zhǔn)備知識(shí)與技巧課堂教學(xué)模擬動(dòng)畫重難精講、算法案例、真題方法與能力課后提升思維與創(chuàng)新項(xiàng)目小組導(dǎo)學(xué)微課習(xí)題微課情感與價(jià)值觀線上線下混合模式
7怎么學(xué)?要求:“誠(chéng)信代碼保證”每人提交實(shí)驗(yàn)報(bào)告要求:理解基本概念和術(shù)語要求:參與式學(xué)習(xí)學(xué)堂在線MOOC、優(yōu)慕課SPOC、百科園考試系統(tǒng)課程介紹不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之。——摘自《荀子·儒效》WhatIhear,Iforget.WhatIhearandsee,Irememberalittle.WhatIhear,see,andaskquestionsaboutordiscusswithsomeoneelse,Ibegintounderstand.WhatIhear,see,discussanddo,Iacquireknowledgeandskill.WhatIteachtoanother,Imaster.——Silberman
7怎么學(xué)?課程介紹1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS什么是數(shù)據(jù)結(jié)構(gòu)?中國(guó)軟件和信息技術(shù)服務(wù)業(yè)發(fā)展現(xiàn)狀表
1例1線性結(jié)構(gòu)
1例2樹型結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)?
1例3鐵路“十三五”發(fā)展規(guī)劃圖狀結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)是一門研究()的程序設(shè)計(jì)問題中計(jì)算機(jī)的操作對(duì)象以及它們之間的關(guān)系和操作的學(xué)科。數(shù)值計(jì)算非數(shù)值計(jì)算AB提交單選題10分1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS數(shù)據(jù)結(jié)構(gòu)三要素
1基本概念和術(shù)語(1)數(shù)據(jù)(Data)、(2)數(shù)據(jù)元素(DataElement)、(3)數(shù)據(jù)項(xiàng)(DataItem)、(4)數(shù)據(jù)對(duì)象(DataObject)學(xué)號(hào)姓名性別專業(yè)住址04200101侯亮平男計(jì)算機(jī)科學(xué)與技術(shù)北京04200102陸亦可女計(jì)算機(jī)科學(xué)與技術(shù)上海04200103李達(dá)康男計(jì)算機(jī)科學(xué)與技術(shù)廣州04200104馮小強(qiáng)男計(jì)算機(jī)科學(xué)與技術(shù)深圳04200105張小雅女計(jì)算機(jī)科學(xué)與技術(shù)重慶04200106沙瑞金男計(jì)算機(jī)科學(xué)與技術(shù)珠?!瓟?shù)據(jù)元素?cái)?shù)據(jù)項(xiàng)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)2020級(jí)學(xué)生信息表數(shù)據(jù)對(duì)象
2數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)三要素036036(1)順序存儲(chǔ)(2)鏈?zhǔn)酱鎯?chǔ)(3)索引存儲(chǔ)
3數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)思考:順序結(jié)構(gòu)如何實(shí)現(xiàn)?
鏈?zhǔn)浇Y(jié)構(gòu)如何實(shí)現(xiàn)?數(shù)據(jù)結(jié)構(gòu)三要素
3數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(4)數(shù)據(jù)結(jié)構(gòu)三要素
4數(shù)據(jù)結(jié)構(gòu)三要素?cái)?shù)據(jù)結(jié)構(gòu)三要素在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以將之分為()。動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)線性結(jié)構(gòu)和非線性結(jié)構(gòu)ABCD提交單選題10分己知表頭元素為c的單鏈表在內(nèi)存中的存儲(chǔ)狀態(tài)如下表所示。現(xiàn)將f放于1014H處并插入到單鏈表中,若f在邏輯上位a和e之間,則a,e,f的鏈接地址”依次是()1010H,1014H,1004H1010H,1004H,1014H1014H,1010H,1004H1014H,1004H,1010HABCD提交地址元素鏈接地址1000Ha1010H1004Hb100CH1008Hc1000H100CHdNULL1010He1004H1014H
【2012全國(guó)碩士統(tǒng)考408】單選題10分1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS算法(Algorithm):是對(duì)特定問題求解步驟的一種描述,是指令的有限序列。其中每一條指令表示一個(gè)或多個(gè)操作。簡(jiǎn)單的說,算法就是解決特定問題的方法。我們的課程用C/C++語言描述算法。評(píng)價(jià)一個(gè)算法優(yōu)劣的重要依據(jù):花費(fèi)的時(shí)間代價(jià)占有的空間代價(jià)算法的定義及特性
1算法的概念算法具有下列重要特性:1.有窮性2.確定性3.可行性4.輸入(零個(gè)或多個(gè)輸入)5.輸出(一個(gè)或多個(gè)輸出)
2算法的特性算法的定義及特性百錢買百雞問題是一個(gè)數(shù)學(xué)問題,出自中國(guó)古代約5—6世紀(jì)成書的《張邱健算經(jīng)》,是全書的最后一題。今有雞翁一,值錢伍;雞母一,值錢三;雞雛三,值錢一。凡百錢買雞百只,問雞翁、母、雞雛各幾何?【要求公雞,母雞,小雞數(shù)量不為零】請(qǐng)2位同學(xué)展示代碼,并分析原操作的執(zhí)行次數(shù)。
3算法的重要性
小組討論算法的定義及特性 x+y+z=100 ① 5x+3y+z/3=100 ②令3x②-①可得 7x+4y=100即 y=25-(7/4)x
③又因?yàn)閥是自然數(shù),則可令
x=4k
④ 將④代入③可得
y=25-7k
⑤ 由0<y<100可知1<=k<=3將④⑤代入①可得
z=75+3k
⑥
要保證0<x,y,z<100,k的取值范圍只能是[1,3]
這個(gè)方法好嗎?
算法思想算法的定義及特性intmain(){intx,y,z;cout<<"百元買百雞的問題所有可能的解如下:\n";for(intk=1;k<=3;k++){ x=4*k; //公雞 y=25-7*k; //母雞 z=75+3*k; //小雞 cout<<"公雞:"<<x<<"只" <<"母雞:"<<y<<"只"<<"小雞:"<<z<<"只\n";}return0;}
代碼實(shí)現(xiàn)
循環(huán)體只執(zhí)行3次算法的定義及特性設(shè)計(jì)一個(gè)好的算法通常要考慮達(dá)到以下目標(biāo):1.正確性(Correctness)2.可讀性(Readability)3.健壯性(Robustness)4.高效性(Highefficiency)算法和算法分析
4算法的設(shè)計(jì)要求解決同一個(gè)問題總是存在著多種算法,最重要的計(jì)算資源是時(shí)間和空間衡量算法效率的方法主要有兩大類:1.事后統(tǒng)計(jì)的方法2.事前分析估算的方法去除掉一些與計(jì)算機(jī)硬件、軟件有關(guān)的因素,可以認(rèn)為算法的“運(yùn)行工作量”只依賴于問題的規(guī)模n
5算法效率的衡量方法算法和算法分析算法的時(shí)間復(fù)雜度(TimeComplexity)T(n)是該算法的時(shí)間耗費(fèi),是其所求解問題規(guī)模n的函數(shù)。當(dāng)問題規(guī)模n趨向無窮大時(shí),不考慮具體的運(yùn)行時(shí)間函數(shù),只考慮運(yùn)行時(shí)間函數(shù)的數(shù)量級(jí)(階)這稱為算法的漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。
6算法的時(shí)間復(fù)雜度算法和算法分析漸進(jìn)表示法的常用記法——大O表示法
T(n)=O(f(n))說明:如果存在常量c>0和正整數(shù)n0>=1,當(dāng)n>=n0
時(shí)有T(n)<=cf(n)。即給出了時(shí)間復(fù)雜度的上界,不可能比cf(n)更大。
6算法的時(shí)間復(fù)雜度算法和算法分析例:某算法時(shí)間函數(shù)T(n)=n2+2n+1,求它的時(shí)間復(fù)雜度。分析:當(dāng)n0=1,c=4時(shí),若n>=n0
,則:n2+2n+1<4n2因此:時(shí)間復(fù)雜度用大O表示法記為T(n)=O(n2)算法和算法分析常見的時(shí)間復(fù)雜度及其關(guān)系如下:計(jì)算時(shí)間復(fù)雜度的小技巧:(1)找最復(fù)雜、運(yùn)行時(shí)間最長(zhǎng)的(2)保留最高次項(xiàng),忽略系數(shù)和低次項(xiàng)
6算法的時(shí)間復(fù)雜度算法和算法分析語句的頻度(frequencycount)指該語句重復(fù)執(zhí)行的次數(shù)?!纠?】分析下述程序段的時(shí)間復(fù)雜度。for(j=1;j<=10000;++j)++x;分析:選取“++x;”為基本操作,語句頻度為10000,則時(shí)間復(fù)雜度為O(1),即常量階。
6算法的時(shí)間復(fù)雜度算法和算法分析【例2】分析下述程序段的時(shí)間復(fù)雜度。for(j=1;j<=n;j*=2)++x;分析:選取“++x;”為基本操作,語句頻度為log2n,則時(shí)間復(fù)雜度為O(log2n),即對(duì)數(shù)階。
6算法的時(shí)間復(fù)雜度算法和算法分析【例3】分析下述程序段的時(shí)間復(fù)雜度。for(i=1;i<=100*n;++i)++x;分析:選取“++x;”為基本操作,語句頻度為100×n,則時(shí)間復(fù)雜度為O(n),即線性階。
6算法的時(shí)間復(fù)雜度算法和算法分析
【例4】分析下述程序段的時(shí)間復(fù)雜度。for(j=1;j<=n;j++)for(k=1;k<=j;++k)++x;分析:選取“++x;”為基本操作,語句頻度為(1+n)×n/2,則時(shí)間復(fù)雜度為O(n2),即平方階。思考:所有的雙重循環(huán)時(shí)間復(fù)雜度都是O(n2)嗎?
6算法的時(shí)間復(fù)雜度算法和算法分析【例5】分析下述程序段的時(shí)間復(fù)雜度。for(j=1;j<n;j*=2){for(k=1;k<=n;++k){++x;}}時(shí)間復(fù)雜度為O(nlog2n),即線性對(duì)數(shù)階
6算法的時(shí)間復(fù)雜度算法和算法分析求整數(shù)n(n>=0)階乘的算法如下,其時(shí)間復(fù)雜度是()。O(log2n)O(n)O(nlog2n)O(n2)ABCD提交intfact(intn){if(n<=1)return1;
returnn*fact(n-1);}【2012全國(guó)碩士統(tǒng)考408】單選題10分下列程序段的時(shí)間復(fù)雜度()。O(log2n) O(n)O(nlog2n) O(n2)ABCD提交【2014全國(guó)碩士統(tǒng)考408】for(k=1;k<=n;k*=2)for(j=1;j<=n;j+=1)count++;單選題10分下列函數(shù)的時(shí)間復(fù)雜度()。O(log2n)O(n1/2)O(n)O(nlog2n)ABCD提交【2017全國(guó)碩士統(tǒng)考408】intfunc(intn){inti=0,sum=0;while(sum<n)sum+=++i;returni;}單選題10分設(shè)n是描述問題規(guī)模的非負(fù)整數(shù),下列程序段的時(shí)間復(fù)雜度是(
)。O(log2
n) O(n1/2)O(n) O(n2)ABCD提交【2019年全國(guó)統(tǒng)考408】x=0;while(n>=(x+l)*(x+l))x=x+l;單選題10分空間復(fù)雜度(SpaceComplexity)或稱為空間復(fù)雜性是指解決問題的算法在執(zhí)行時(shí)所占用的存儲(chǔ)空間,也是衡量算法有效性的一個(gè)指標(biāo),記作:
S(n)=O(g(n))其中n為問題的規(guī)模(或大?。?。表示隨著問題規(guī)模n的增大,算法運(yùn)行所需存儲(chǔ)量的增長(zhǎng)率與函數(shù)g(n)的增長(zhǎng)率相同。
7算法的空間復(fù)雜度算法和算法分析如果輸入數(shù)據(jù)所占空間只取決于問題本身,和算法無關(guān),則在討論算法的空間復(fù)雜度時(shí)只需分析除輸入和程序之外的輔助變量所占的額外空間即可。如果所需額外空間相對(duì)于輸入數(shù)據(jù)量來說只是一個(gè)常數(shù),則稱此算法為“原地工作”,此時(shí)的空間復(fù)雜度為O(1);如果算法所需的存儲(chǔ)量與特定的輸入有關(guān),同時(shí)間復(fù)雜度一樣,也是按照最壞的情況進(jìn)行考慮。
7算法的空間復(fù)雜度算法和算法分析算法是供人閱讀的程序是讓機(jī)器執(zhí)行的算法用計(jì)算機(jī)語言實(shí)現(xiàn)時(shí)就是程序程序不具有算法的有窮性算法<>程序1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS和數(shù)據(jù)結(jié)構(gòu)的形式定義相對(duì)應(yīng),抽象數(shù)據(jù)類型可用以下三元組表示:(D,R,P)其中D是數(shù)據(jù)對(duì)象,即具有相同特性的數(shù)據(jù)元素的集合。R是D上的關(guān)系集合,P是對(duì)D的基本操作集合。抽象數(shù)據(jù)類型的偽代碼定義格式:ADT抽象數(shù)據(jù)類型名{
數(shù)據(jù)對(duì)象D:<數(shù)據(jù)對(duì)象的定義>
數(shù)據(jù)關(guān)系R:<數(shù)據(jù)關(guān)系的定義>
基本操作P:<基本操作的定義>}ADT抽象數(shù)據(jù)類型名抽象數(shù)據(jù)類型隨著程序設(shè)計(jì)的發(fā)展,數(shù)據(jù)結(jié)構(gòu)的發(fā)展經(jīng)歷了三個(gè)階段:——無結(jié)構(gòu)階段——結(jié)構(gòu)化階段——面向?qū)ο箅A段計(jì)算機(jī)科學(xué)家N.Wirth教授曾經(jīng)提出一個(gè)著名的公式“算法+數(shù)據(jù)結(jié)構(gòu)=程序”這個(gè)公式在軟件開發(fā)的進(jìn)程中產(chǎn)生了深遠(yuǎn)的影響,但是,它并沒有強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)與解決問題的算法是一個(gè)整體,因此在面向?qū)ο蟪绦蛟O(shè)計(jì)階段,有人主張將它修改為:程序=對(duì)象+對(duì)象+…抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型ADTList{數(shù)據(jù)對(duì)象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R={<ai-1,ai>|ai,ai-1∈D,i=2,…,n}基本操作:ListInit(L);ListLength(L);ListGet(L,i);ListLocate(L,x);ListClear(L);ListEmpty(L);ListPrior(L,e);ListNext(L,e);ListInsert(L,i,e);ListDelete(L,i);}ADTList1.了解數(shù)據(jù)結(jié)構(gòu)求解非數(shù)值計(jì)算問題2.理解數(shù)據(jù)結(jié)構(gòu)的基本概念和術(shù)語:數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)、數(shù)據(jù)對(duì)象、數(shù)據(jù)結(jié)構(gòu)的三要素,掌握邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的分類3.理解算法的概念和特點(diǎn),掌握基本的算法分析方法,會(huì)計(jì)算算法的時(shí)間復(fù)雜度總結(jié)1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS【藍(lán)橋杯】最大連續(xù)子序列和問題對(duì)于一個(gè)給定的長(zhǎng)度為N的整數(shù)序列A,它的“子序列”的定義是:A中非空的一段連續(xù)的元素(整數(shù))。你要完成的任務(wù)是,在所有可能的子序列中,找到一個(gè)子序列,該子序列中所有元素的和是最大的(跟其他所有子序列相比),如所有子序列之和都是負(fù)數(shù)則返回0。程序要求你輸出這個(gè)最大值。輸入輸入文件的第一行包含一個(gè)整數(shù)N,第二行包含N個(gè)整數(shù),表示A。其中1<=N<=100000-10000<=A[i]<=
10000輸出輸出僅包含一個(gè)整數(shù),表示你算出的答案。樣例輸入53-23-54樣例輸出4算法拓展求數(shù)組中最大連續(xù)子序列之和,如所有子序列之和都是負(fù)數(shù)則返回0。例如:數(shù)組A:{-2,11,-4,13,-5,-2},
最大連續(xù)子序列之和為20,即11+(-4+13)=20。數(shù)組B:{1,3,-2,4,-5},
最大連續(xù)子序列之和為6,即1+3+(-2)+4=6。算法拓展方法一:求出所有連續(xù)子序列之和,然后從中選取最大值。下面列舉了所有子序列的下標(biāo)范圍:[0,0],[0,1],…,[0,n-1][1,1],[1,2],…,[1,n-1]……[n-1,n-1]算法拓展intmaxSubSum1(intarray[],intlength){inti,maxSum=0,start,end;//start為待求和的子序列的起始下標(biāo),end為結(jié)束下標(biāo)
for(start=0;start<length;start++)for(end=start;end<length;end++){intthisSum=0;//統(tǒng)計(jì)子序列array[start]~array[end]之和
for(i=start;i<=end;i++)thisSum+=array[i];if(thisSum>maxSum)maxSum=thisSum;}returnmaxSum;}時(shí)間復(fù)雜度為O(n3)方法一算法拓展方法二:算法設(shè)計(jì)的一個(gè)重要原則就是“不做重復(fù)的事”可以由array[start]~array[end-1]求和結(jié)果,加上array[end]得到array[start]~array[end]之和
。如:array[0]array[1]array[2]array[3]array[4]array[5]array[5]算法拓展intmaxSubSum2(intarray[],intlength){intmaxSum=0,start,end;for(start=0;start<length;start++){intthisSum=0;for(end=start;end<length;end++){ thisSum+=array[end];if(thisSum>maxSum)maxSum=thisSum;}}returnmaxSum;}時(shí)間復(fù)雜度為O(n2)方法二算法拓展
算法拓展intmaxSubSum3(intarray[],intlength){intmaxSum=0,thisSum=0,i;for(i=0;i<length;i++){thisSum+=array[i];if(thisSum<0)//如果thisSum<0表明前幾個(gè)連續(xù)數(shù)之和是小于0的
thisSum=0;//需要計(jì)算新的thisSum,因此thisSum=0elseif(thisSum>maxSum)maxSum=thisSum;}returnmaxSum;}時(shí)間復(fù)雜度為O(n)方法三算法拓展1.1課程介紹1.2什么是數(shù)據(jù)結(jié)構(gòu)?1.3基本概念和術(shù)語1.4算法和算法分析1.5抽象數(shù)據(jù)類型*1.6算法拓展*1.7你怎么看?目錄CONTENTS“我看到老師在知識(shí)擴(kuò)展環(huán)節(jié)里,有介紹STL的內(nèi)容,既然STL已經(jīng)實(shí)現(xiàn)了一些常見數(shù)據(jù)結(jié)構(gòu)和算法,我們?yōu)槭裁催€要學(xué)這門課呢?”思考:既然有了計(jì)算器,為什么還要學(xué)習(xí)數(shù)學(xué)呢?
我國(guó)由制造大國(guó)
創(chuàng)造強(qiáng)國(guó)、創(chuàng)新強(qiáng)國(guó)
一個(gè)反饋問題邁向創(chuàng)新精神紀(jì)錄片《創(chuàng)新中國(guó)》/special/cxzg/sy/創(chuàng)新精神紀(jì)錄片《創(chuàng)新中國(guó)》/special/cxzg/sy/創(chuàng)新精神工匠精神在平凡的崗位上精益求精、勇于創(chuàng)新,干出不平凡的業(yè)績(jī),就是工匠精神的體現(xiàn)?!肚f子》中庖丁解牛、匠石運(yùn)斧、老漢粘蟬等生動(dòng)事例告訴人們,自古以來工匠們喜歡不斷雕琢自己的產(chǎn)品,不斷改善自己的技藝,享受著產(chǎn)品在雙手中升華的過程。2015年,中央電視臺(tái)播出《大國(guó)工匠》紀(jì)錄片,講述了24位大國(guó)工匠的動(dòng)人故事。這些大國(guó)工匠令人感動(dòng)的地方之一,就是他們對(duì)精度的要求。如彭祥華,能夠把裝填爆破藥量的呈送控制在遠(yuǎn)遠(yuǎn)小于規(guī)定的最小誤差之內(nèi);高鳳林,我國(guó)火箭發(fā)動(dòng)機(jī)焊接第一人,能把焊接誤差控制在0.16毫米之內(nèi),并且將焊接停留時(shí)間從0.1秒縮短到0.01秒;胡雙錢,中國(guó)大飛機(jī)項(xiàng)目的技師,僅憑他的雙手和傳統(tǒng)鐵鉆床就可產(chǎn)生出高精度的零部件,等等。辯證思想從算法的時(shí)間復(fù)雜度和空間復(fù)雜度分析,引出安全和效率、科技強(qiáng)國(guó)與鄉(xiāng)村振興、疫情防控與復(fù)工復(fù)產(chǎn)等問題,學(xué)習(xí)思考矛盾的對(duì)立統(tǒng)一、在一定條件下,矛盾雙方可以發(fā)生相互的轉(zhuǎn)換,用對(duì)立統(tǒng)一的辯證思想看待處理問題。進(jìn)而使學(xué)生科學(xué)看待疫情防控,正確理解國(guó)家有序復(fù)工復(fù)產(chǎn)的決策,服從校園防疫管理等相關(guān)安排??萍紡?qiáng)國(guó)與鄉(xiāng)村振興全球第一的光伏,全球第一風(fēng)電,全球第二核電,全球唯二的互聯(lián)網(wǎng)超級(jí)大國(guó),全球最強(qiáng)制造大國(guó)——沒有這些東西,也就沒有農(nóng)村光伏和“核能下鄉(xiāng)”?!肮夥?養(yǎng)殖+扶貧+環(huán)境改善”四位一的體良性循環(huán)。知乎軟件崗位業(yè)務(wù)素養(yǎng)和職業(yè)道德規(guī)范
一附錄:C/C++編程規(guī)范
二附錄:學(xué)術(shù)誠(chéng)信書
三附錄:軟件工程師業(yè)務(wù)素質(zhì)1.3.1算法的定義及特性
四附錄:軟件工程師道德規(guī)范遵守編程規(guī)范,形成良好的編程風(fēng)格。具有良好的職業(yè)道德和職業(yè)操守;具備較強(qiáng)的組織觀念和集體意識(shí)?!鷂→word文檔可雙擊查看
一附錄:C/C++編程規(guī)范軟件崗位業(yè)務(wù)素養(yǎng)和職業(yè)道德規(guī)范為促進(jìn)優(yōu)良學(xué)風(fēng)建設(shè),規(guī)范學(xué)術(shù)行為,維護(hù)學(xué)術(shù)誠(chéng)信。希望同學(xué)們能保證本人所提交的作業(yè)、報(bào)告、代碼、測(cè)驗(yàn)等均為本人創(chuàng)作完成,除特別注明和引用外,均
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)自我管理能力的培養(yǎng)計(jì)劃
- 2023六年級(jí)英語下冊(cè) Module 6 Unit 2 The name of the spaceship is Shenzhou V教學(xué)實(shí)錄 外研版(三起)
- 國(guó)開大學(xué)2024秋《馬克思主義基本原理》形成性考核(任務(wù)一至八)試題及答案解析
- 2024全新個(gè)人房產(chǎn)交易擔(dān)保合同模板下載3篇
- 《量一量 比一比》(教學(xué)實(shí)錄)-2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024年度商場(chǎng)物業(yè)服務(wù)與商業(yè)活動(dòng)組織合同2篇
- 高中地理 第三單元 第1節(jié)《自然界的水循環(huán)》教學(xué)實(shí)錄 新人教版必修1
- 2023八年級(jí)物理上冊(cè) 第三章 物態(tài)變化第2節(jié) 熔化和凝固第2課時(shí) 熔化和凝固的條件及其應(yīng)用教學(xué)實(shí)錄 (新版)新人教版
- 銀行專用產(chǎn)品買賣合同
- 2024年果園栽培租用合同
- 2023年人教版六年級(jí)語文上冊(cè)期末試卷(參考答案)
- 爭(zhēng)做“四有好老師”-當(dāng)好“四個(gè)引路人”
- DB37-T 4706-2024事故車輛損失鑒定評(píng)估規(guī)范
- 人教版二年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)表格式教案
- 2024-2030年中國(guó)高壓電力變壓器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 國(guó)家開放大學(xué)電大本科《工程經(jīng)濟(jì)與管理》2023-2024期末試題及答案(試卷號(hào):1141)
- 監(jiān)理項(xiàng)目管理 投標(biāo)方案(技術(shù)方案)
- 電影作品讀解智慧樹知到期末考試答案章節(jié)答案2024年西北大學(xué)
- 公務(wù)員職業(yè)道德建設(shè)和素質(zhì)能力提升培訓(xùn)課件(共37張)
- 稻田流轉(zhuǎn)合同范本
- 幼兒園故事繪本《賣火柴的小女孩兒》課件
評(píng)論
0/150
提交評(píng)論