久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié)

時(shí)間:2019-05-11 23:26:48下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié)》。

第一篇:算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié)

算法課程總結(jié)

指導(dǎo)教師 所在院(系)班 級(jí) 學(xué)生姓名 學(xué) 號(hào)

一、算法概述

1.什么是算法?

算法是解一確定類問題的任意一種特殊的方法。在計(jì)算機(jī)科學(xué)中,算法是使用計(jì)算機(jī)解一類問題的精確、有效方法的代名詞。算法是一組有窮的規(guī)則,它規(guī)定了解決某一特定類型問題的一系列運(yùn)算。

2.算法的五個(gè)重要特性:確定性、能行性、輸入、輸出、有窮性/有限性。

1)確定性:算法每種運(yùn)算必須有確切定義,不能有二義性。

2)能行性:算法中有待實(shí)現(xiàn)的運(yùn)算都是基本的運(yùn)算,原理上每種運(yùn)算都能由人用紙和筆在有限的時(shí)間內(nèi)完成。

3)輸入:每個(gè)算法有0個(gè)或多個(gè)輸入。這些輸入是在算法開始之前給出的量,取自于特定的對(duì)象集合——定義域

4)輸出:一個(gè)算法產(chǎn)生一個(gè)或多個(gè)輸出,這些輸出是同輸入有某種特定關(guān)系的量。

5)有窮性/有限性:一個(gè)算法總是在執(zhí)行了有窮步的運(yùn)算之后終止。

3.計(jì)算過程:只滿足確定性、能行性、輸入、輸出四個(gè)特性但不一定能終止的一組規(guī)則。

4.準(zhǔn)確理解算法和計(jì)算過程的區(qū)別:不能終止的計(jì)算過程:操作系統(tǒng);算法是“可以終止的計(jì)算過程”;算法的時(shí)效性:只能把在相當(dāng)有窮步內(nèi)終止的算法投入到計(jì)算機(jī)上運(yùn)行。

5.算法的語(yǔ)言主要有:自然語(yǔ)言,流程圖,盒圖,PAD圖,偽代碼,計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。6.算法分類:

1)多項(xiàng)式時(shí)間算法:可用多項(xiàng)式(函數(shù))對(duì)其計(jì)算時(shí)間限界的算法。常見的多項(xiàng)式限界函數(shù)有:Ο(1)< Ο(logn)< Ο(n)< Ο(nlogn)< Ο(n2)< Ο(n3)2)指數(shù)時(shí)間算法:計(jì)算時(shí)間用指數(shù)函數(shù)限界的算法。常見的指數(shù)時(shí)間限界函數(shù):Ο(2n)< Ο(n!)< Ο(nn)7.算法基本工具:循環(huán)與遞歸,算法與數(shù)據(jù)結(jié)構(gòu),優(yōu)化算法的數(shù)學(xué)模型。

8.主要算法:迭代算法,蠻力法,分治法,動(dòng)態(tài)規(guī)劃法,貪婪算法,圖搜索基礎(chǔ)。

二、算法的核心是思想

我們學(xué)習(xí)這門課不是僅僅掌握那幾個(gè)經(jīng)典算法例子,更重要的是為了學(xué)習(xí)蘊(yùn)含在其中的思想方法。為什么呢?舉個(gè)例子。有同學(xué)曾問我這樣一個(gè)問題:1000只瓶子裝滿水,但有一瓶有毒,且毒發(fā)期為1個(gè)星期。現(xiàn)在用10只老鼠在一個(gè)星期內(nèi)判斷那只瓶子有毒,每只老鼠可以喝多個(gè)瓶子的水,每個(gè)瓶子可以只喝一點(diǎn)。問如何解決?其實(shí)一開始我也一頭霧水,但是他提醒我跟計(jì)算機(jī)領(lǐng)域相關(guān),我就立馬有了思路,運(yùn)用二進(jìn)制。因?yàn)橛?jì)算機(jī)的最基本思想就是二進(jìn)制。所以說,我們不僅要學(xué)習(xí)算法,更得學(xué)習(xí)思想方法。

①算法最基本的設(shè)計(jì)方法包括分治法,動(dòng)態(tài)規(guī)劃法,貪婪算法,周游法,回溯法,分支定界法。我們可利用分治法做快速排序,降低找n個(gè)元素中最大元和最小元的量級(jí),降低n位二進(jìn)制x和y相乘的量級(jí),做Strassen矩陣乘法等等。它的思想就是規(guī)模很大的問題分解為規(guī)模較小的獨(dú)立的子問題,關(guān)鍵是子問題要與原問題同類,可以采取平衡法來提高性能。

動(dòng)態(tài)規(guī)劃法是把大問題分解為子問題,但是子問題是重復(fù)的,后面的問題可以利用前面解決過的問題的結(jié)果。如構(gòu)造最優(yōu)二叉查找樹,解決矩陣連乘時(shí)最小計(jì)算次數(shù)問題,尋找最長(zhǎng)公共子序列等等。

貪婪算法就是局部最優(yōu)法,先使局部最優(yōu),再依次構(gòu)造出更大的局部直至整體。如Kruscal最小生成樹算法,求哈夫曼編碼問題。

周游法就是簡(jiǎn)單理解就是采取一定的策略遍歷圖中所有的點(diǎn),典型的應(yīng)用就是圖中的深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)。

回溯法就是就是在滿足一定的條件后就往前走,當(dāng)走到某步時(shí),發(fā)現(xiàn)不滿足條件就退回一步重新選擇新的路線。典型的應(yīng)用就是8皇后問題,平面點(diǎn)集的凸包問題和0-1背包問題。

分支定界法:它是解決整數(shù)規(guī)劃問題一種最常用的方法。典型應(yīng)用就是解決整數(shù)規(guī)劃問題。

②評(píng)價(jià)算法性能的方法如平攤分析中的聚集法,會(huì)計(jì)法和勢(shì)能法。聚集法就是把指令分為幾類,計(jì)算每一類的消耗,再全部疊加起來。會(huì)計(jì)法就是計(jì)算某個(gè)指令時(shí)提前將另一個(gè)指令的消耗也算進(jìn)去,以后計(jì)算另一個(gè)指令時(shí)就不必再算了。勢(shì)能法計(jì)算每一步的勢(shì)的變化以及執(zhí)行這步指令的消耗,再將每一步消耗全部累計(jì)。

這幾種方法都是平攤分析法,平攤分析的實(shí)質(zhì)就是總體考慮指令的消耗時(shí)間,盡管某些指令的消耗時(shí)間很大也可以忽略不計(jì)。上述三種方法難易程度差不多,每種方法都有屬于它的難點(diǎn)。如聚集法中如何將指令有效分類,會(huì)計(jì)法中用什么指令提前計(jì)算什么指令的消耗,勢(shì)能法中如何選取勢(shì)能。因此掌握這些方法原理還不夠,還要學(xué)會(huì)去應(yīng)用,在具體的問題中去判斷分析。

三、重點(diǎn)學(xué)習(xí)

1.貪婪算法

貪婪+其他算法:由于貪婪往往能大幅化簡(jiǎn)狀態(tài),利用問題的某些“單調(diào)性”,加上貪婪的思想,往往能是問題大幅簡(jiǎn)化,從而結(jié)合其他算法解決問題經(jīng)典例題:田忌賽馬,利用貪婪來確定狀態(tài)。2.分治法

分而治之的思想在信息學(xué)競(jìng)賽中是非常重要的,下面主要介紹一下分治的經(jīng)典應(yīng)用

1)二分查找

思想很簡(jiǎn)單,功能很強(qiáng)大,邊界要注意,負(fù)數(shù)要特判(NOI2010 PIANO)在非負(fù)數(shù)范圍內(nèi)的二分一般寫法

如果是l := mid1 或 +1則 mid :=(l + r + 1)div 2 2)快速冪

a^b =(a^(b div 2))^2 + ord(odd(b))*a取模也適用 3)快速排序,歸并排序

任何一本算法書上都會(huì)講的,這里就略過了,值得一提的是快排記得加上隨機(jī)化

k := a[random(rg(x)*ans = 0 重構(gòu)權(quán),將f(i)-g(i)*ans作為新權(quán)值,用相應(yīng)算法求出一個(gè)“最小值”,判斷是否>=0,接著二分即可

5)樹的分治

一般用來解決樹上的路徑或統(tǒng)計(jì)類問題,每次只考慮跟樹根有關(guān)的信息,然后遞歸分治處理

樹的分治通常有基于點(diǎn)或基于邊的分治,基于點(diǎn)的難合,基于邊的復(fù)雜度太高,這里只介紹基于點(diǎn)的分治

步驟:處理跟當(dāng)前樹根有關(guān)的信息,重新計(jì)算子樹大小,在子樹中選擇重心為根,遞歸到相應(yīng)子樹處理。

因?yàn)槊看芜x了重心,所以遞歸總共logn層,每層O(n)的復(fù)雜度,總復(fù)雜度就是O(nlogn)6)二分搜索

直接搜的復(fù)雜度是指數(shù)級(jí)的的話,一般是40左右的數(shù)據(jù)量,hash一半,搜一半,搜后面的時(shí)候利用之前的hash信息合并出原問題的解。

而直接搜的復(fù)雜度達(dá)到階乘級(jí)的話n一般就不超過20了,做法一般差不多 經(jīng)典例題:POI02szy,NOI2001方程的解數(shù)。3.搜索

作為信息學(xué)競(jìng)賽中的所謂“萬(wàn)能算法”,搜索可以說是計(jì)算機(jī)學(xué)科所具有的最大特點(diǎn)了,自然地,搜索算法的應(yīng)用自然也是非常之廣泛,除了專門的搜索題,搜索一般可以用來部分預(yù)處理,打表找規(guī)律,當(dāng)然還有騙分。

搜索的一般步驟:確定狀態(tài)——選擇搜索方式(dfs、bfs)——確定產(chǎn)生式規(guī)則——開始搜索。搜索的常見優(yōu)化方式:

1)改變狀態(tài)表示

這個(gè)需要根據(jù)題目而定,確定一個(gè)漂亮的狀態(tài)表示,可能就有希望轉(zhuǎn)向記憶化了,即使不行,搞出一個(gè)漂亮的狀態(tài)表示是解決一道麻煩題的最重要的一步,再者,調(diào)試起來也會(huì)容易許多。

2)優(yōu)化搜索順序

這個(gè)優(yōu)化在多數(shù)搜索中能起到摧枯拉朽的提速效果,通常我們選擇枝葉較少的兒子先擴(kuò)展,例如大名鼎鼎的dancing Links,除了利用雙向十字鏈表去除冗余狀態(tài),每次選擇可擴(kuò)展數(shù)最少的兒子擴(kuò)展同樣給它的神速創(chuàng)造了條件。

3)可行性剪枝以及最優(yōu)性剪枝

這是非常常用的剪枝思路之一,因題目而異,在迭代加深搜索中尤為重要 一般思路:考慮每次解最多變優(yōu)多少,從當(dāng)前的層數(shù)來看還有多少改進(jìn)空間,如果已經(jīng)不可能成為解或更新答案則可以剪枝了

——A*及IDA*算法:本質(zhì)就是給搜索加上一個(gè)滿足相容性的估價(jià)函數(shù),然后用估價(jià)函數(shù)剪枝,理論上很牛B,實(shí)際上不常用,因?yàn)榭紙?chǎng)上很難想出滿足那么多條件的估價(jià)函數(shù),但記得一些常見模型的估價(jià)函數(shù)還是有價(jià)值的。例如15數(shù)碼的估價(jià)函數(shù)就可以選擇除了0之外每個(gè)元素到自己該到的位置的曼哈頓距離之和,因?yàn)槊看巫疃嗍挂粋€(gè)數(shù)距離減少1,所以這個(gè)估價(jià)函數(shù)是相容的,再例如求k短路的A*算法就是用個(gè)堆維護(hù) min{ f(s)+ g(s)}估價(jià)函數(shù)就是從匯點(diǎn)反搜的“反向最短路”的長(zhǎng)度。

四、總結(jié)

在計(jì)算機(jī)軟件專業(yè)中,算法分析與設(shè)計(jì)是一門非常重要的課程,很多人為它如癡如醉。很多問題的解決,程序的編寫都要依賴它,在軟件還是面向過程的階段,就有程序=算法+數(shù)據(jù)結(jié)構(gòu)這個(gè)公式。算法的學(xué)習(xí)對(duì)于培養(yǎng)一個(gè)人的邏輯思維能力是有極大幫助的,它可以培養(yǎng)我們養(yǎng)成思考分析問題,解決問題的能力。作為IT行業(yè)學(xué)生,學(xué)習(xí)算法無疑會(huì)增強(qiáng)自己的競(jìng)爭(zhēng)力,修煉自己的“內(nèi)功”。

經(jīng)過這門課的學(xué)習(xí),我深刻的領(lǐng)悟到數(shù)學(xué)是一切算法分析與設(shè)計(jì)的基礎(chǔ)。這門課的很多時(shí)間多花在了數(shù)學(xué)公式定理的引入和證明上。雖然很枯燥,但是有必不可少。我們可以清晰的看到好多算法思路是從這些公式定理中得出來的,尤其是算法性能的分析更是與數(shù)學(xué)息息相關(guān)。其中有幾個(gè)定理令我印象深刻。

①主定理

本門課中它主要應(yīng)用在分治法性能分析上。例如:T(n)=a*T(n/b)+f(n),它可以看作一個(gè)大問題分解為a個(gè)子問題,其中子問題的規(guī)模為b。而f(n)可看作這些子問題的組合時(shí)的消耗。這些可以利用主定理的相關(guān)結(jié)論進(jìn)行分析處理。當(dāng)f(n)量級(jí)高于時(shí),我們可以設(shè)法降低子問題組合時(shí)的消耗來提高性能。反之我們可以降低的消耗,即可以擴(kuò)大問題的規(guī)模或者減小子問題的個(gè)數(shù)。因此主定理可以幫助我們清晰的分析出算法的性能以及如何進(jìn)行有效的改進(jìn)。

②隨機(jī)算法中的許多定理的運(yùn)用

在這門課中,我學(xué)到了以前從未遇見過的隨機(jī)算法,它給予我很大的啟示。隨機(jī)算法不隨機(jī),它可通過多次的嘗試來降低它的錯(cuò)誤率以至于可以忽略不計(jì)。這些都不是空穴來風(fēng),它是建立在嚴(yán)格的定理的證明上。如素?cái)?shù)判定定理是個(gè)很明顯的例子。它運(yùn)用了包括費(fèi)馬小定理在內(nèi)的各種定理。將這些定理進(jìn)行有效的組合利用,才得出行之有效的素?cái)?shù)判定的定理。尤其是對(duì)尋找證據(jù)數(shù)算法的改進(jìn)的依據(jù),也是建立在3個(gè)定理上。還有檢查字符串是否匹配也是運(yùn)用了許多定理:指紋的運(yùn)用,理論出錯(cuò)率的計(jì)算,算法性能的評(píng)價(jià)也都是建立在數(shù)學(xué)定理的運(yùn)用上。

第二篇:數(shù)據(jù)結(jié)構(gòu)與算法課程總結(jié)[模版]

數(shù)據(jù)結(jié)構(gòu)與算法課程學(xué)習(xí)總結(jié)報(bào)告

11計(jì)本一班 許雪松 1104013018

數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),它不僅是計(jì)算機(jī)科學(xué)的核心課程,而且也已經(jīng)成為其他理工專業(yè)的熱門選修課。總的來說感觸還是比較深的,剛開始上的時(shí)候還蠻簡(jiǎn)單的,越到后面感覺越難,算法也更復(fù)雜了,有時(shí)候甚至聽不懂,老師上課時(shí)講的也蠻快的,所以只能靠課下下功夫了。下面是我對(duì)本學(xué)期學(xué)習(xí)這門課的總結(jié)。

一、數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)點(diǎn)

第一章的數(shù)據(jù)結(jié)構(gòu)和算法的引入,介紹了數(shù)據(jù)和數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、算法描述工具、算法和算法評(píng)價(jià)四個(gè)方面的知識(shí)。

第二章具體地介紹了順序表的概念、基本運(yùn)算及其應(yīng)用。基本運(yùn)算有:初始化表、求表長(zhǎng)、排序、元素的查找、插入及刪除等。元素查找方法有:簡(jiǎn)單順序查找、二分查找和分塊查找。排序方法有:直接插入排序、希爾排序、冒泡排序、快速排序、直接選擇排序及歸并排序等。最后介紹了順序串的概念,重點(diǎn)在于串的模式匹配。

第三章主要介紹的是線性邏輯結(jié)構(gòu)的數(shù)據(jù)在鏈接存儲(chǔ)方法下數(shù)據(jù)結(jié)構(gòu)鏈表的相關(guān)知識(shí)。主要是單鏈表、循環(huán)鏈表的數(shù)據(jù)類型結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、基本運(yùn)算及其實(shí)現(xiàn)以及鏈表的相關(guān)應(yīng)用問題,在此基礎(chǔ)上介紹了鏈串的相關(guān)知識(shí)。在應(yīng)用方面有多項(xiàng)式的相加問題、歸并問題、箱子排序問題和鏈表在字符處理方面的應(yīng)用問題等。本章未完全掌握的是循環(huán)鏈表的算法問題和C的描述。

第四章介紹在兩種不同的存儲(chǔ)結(jié)構(gòu)下設(shè)計(jì)的堆棧,即順序棧和鏈棧的相關(guān)知識(shí),了解堆棧的相關(guān)應(yīng)用,掌握應(yīng)用堆棧來解決實(shí)際問題的思想及方法。本章主要內(nèi)容是順序棧和鏈棧的概念、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)定義和基本運(yùn)算算法及其性能分析。本章堆棧算法思想較為簡(jiǎn)單,所以能較好掌握。

第五章主要介紹順序存儲(chǔ)和鏈接存儲(chǔ)方法下的兩種隊(duì)列、順序(循環(huán))隊(duì)列和鏈隊(duì)列的數(shù)據(jù)結(jié)構(gòu)、基本運(yùn)算及其性能分析以及應(yīng)用。順序隊(duì)列(重點(diǎn)是循環(huán)隊(duì)列)和鏈隊(duì)列的概念、數(shù)據(jù)類型描述、數(shù)據(jù)結(jié)構(gòu)和基本運(yùn)算算法及其性能分析等。本章同堆棧有點(diǎn)類似,算法思想較為簡(jiǎn)單,所以能較好掌握;但難點(diǎn)重在循環(huán)隊(duì)列隊(duì)空、隊(duì)滿的判斷條件問題。

第六章“特殊矩陣、廣義表及其應(yīng)用”將學(xué)習(xí)數(shù)組、稀疏矩陣和廣義表的基本概念,幾種特殊矩陣的存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算,在此基礎(chǔ)上學(xué)習(xí)特殊矩陣的計(jì)算算法與廣義表應(yīng)用等相關(guān)問題。本章的重點(diǎn)是相關(guān)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算算法。掌握了特殊矩陣的壓縮存儲(chǔ)結(jié)構(gòu),在該存儲(chǔ)結(jié)構(gòu)下元素的定位方法,理解了稀疏矩陣的計(jì)算和廣義表的存儲(chǔ)結(jié)構(gòu)。

第七章二叉樹及其應(yīng)用。分為二叉樹的基本概念、二叉樹存儲(chǔ)結(jié)構(gòu)、二叉樹的遍歷算法、線索二叉樹、二叉樹的應(yīng)用(哈夫曼樹、二叉排序樹、堆和堆排序、基本算法)。基本算法包括二叉樹的建立、遍歷、線索化等算法。在此基礎(chǔ)上,介紹二叉樹的一些應(yīng)用問題,包括哈夫曼編碼問題、(平衡)二叉排序樹問題和堆排序問題等。

第八章說的是樹和森林,首先我們要知道樹與二叉樹是不同的概念。課本介紹了樹和森林的概念、遍歷和存儲(chǔ)結(jié)構(gòu),還有樹、森林和二叉樹的相互關(guān)系,樹或森林怎樣轉(zhuǎn)化成二叉樹,二叉樹又如何轉(zhuǎn)換為樹和森林等算法。

第九章“散列結(jié)構(gòu)及其應(yīng)用”是邏輯結(jié)構(gòu)“集合型”的數(shù)據(jù)元素在散列存儲(chǔ)方法下的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用知識(shí)內(nèi)容。主要介紹散列函數(shù)的概念、散列結(jié)構(gòu)的概念、散列存儲(chǔ)結(jié)構(gòu)的概念---散列表、散列函數(shù)和散列表中解決沖突的處理方法---開放定址法、鏈地址法以及散列表的基本算法及其性能分析。本章概念較為多,所以掌握不太好。

第十章圖及其應(yīng)用。分為圖的概念、圖的存儲(chǔ)結(jié)構(gòu)及其基本算法、圖的遍歷及算法、有向圖的連通性和最小生成樹、圖的最小生成樹、非連通圖的生成森林算法、最短路徑、有向無環(huán)圖及其應(yīng)用。

二、對(duì)各知識(shí)點(diǎn)的掌握情況

我對(duì)各知識(shí)點(diǎn)的掌握情況總結(jié)如下:

對(duì)于第一章對(duì)數(shù)據(jù)結(jié)構(gòu)的概念理解頗深,大概是每次都要談?wù)摰桨伞?duì)算法的時(shí)間性能,空間性能基本了解。這些在后面的章節(jié)都會(huì)有運(yùn)用。第二章本章重點(diǎn)和難點(diǎn)在查找和排序問題的算法思想上,6種排序方法的性能比較。本章未掌握的為希爾排序、快速排序、歸并排序的時(shí)間復(fù)雜度分析。第三章,對(duì)鏈表掌握還好,對(duì)其數(shù)據(jù)結(jié)構(gòu)進(jìn)行了分析,有循環(huán)鏈表,掌握的不是很好,對(duì)其中一些用法不熟練。第四章堆棧,本章堆棧算法思想較為簡(jiǎn)單,所以能較好掌握,但表達(dá)式計(jì)算問題未掌握好的。第五章的循環(huán)隊(duì)列隊(duì)空、隊(duì)滿的判斷條件問題掌握的不是很好。第六章的重點(diǎn)是相關(guān)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算算法。掌握了特殊矩陣的壓縮存儲(chǔ)結(jié)構(gòu),在該存儲(chǔ)結(jié)構(gòu)下元素的定位方法,理解了稀疏矩陣的計(jì)算和廣義表的存儲(chǔ)結(jié)構(gòu)。第七章對(duì)二叉樹掌握較好,其概念,存儲(chǔ),遍歷有很好的掌握。就是對(duì)二叉排序樹有點(diǎn)生疏,它的生成算法不是很會(huì)。第八章樹樹與二叉樹之間的轉(zhuǎn)換,森林與二叉樹的轉(zhuǎn)換算法思想基本掌握。第九章散列的一些知識(shí),沒有深入學(xué)習(xí),大概了解了散列存儲(chǔ)結(jié)構(gòu)散列表,散列函數(shù),沖突的處理方法。第十章了解了圖的逆鄰接表的存儲(chǔ)結(jié)構(gòu),關(guān)鍵路徑求解算法未能掌握好,不能靈活運(yùn)用圖的不同數(shù)據(jù)結(jié)構(gòu)和遍歷算法解決復(fù)雜的應(yīng)用問題。

三、學(xué)習(xí)體會(huì)

剛剛接觸這門課時(shí),看到課本中全是算法,當(dāng)時(shí)就暈了,因?yàn)槲业腃語(yǔ)言學(xué)的不好,我擔(dān)心會(huì)影響這門課的學(xué)習(xí),后來上課時(shí)老師說學(xué)習(xí)這門課的基礎(chǔ)是C語(yǔ)言,所以我當(dāng)時(shí)就決定一定要好好補(bǔ)補(bǔ),爭(zhēng)取不被拖后腿,在學(xué)習(xí)這門課的期間,也遇到了不少問。但是通過學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,讓我對(duì)程序有了新的認(rèn)識(shí),也有了更深的理解。同時(shí),也讓我認(rèn)識(shí)到,不管學(xué)習(xí)什么,概念是基礎(chǔ),所有的知識(shí)框架都是建立在基礎(chǔ)概念之上的,所以,第一遍看課本要將概念熟記于心,然后構(gòu)建知識(shí)框架。并且,對(duì)算法的學(xué)習(xí)是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵。在第二遍看課本的過程中,要注重對(duì)算法的掌握。對(duì)于一個(gè)算法,讀一遍可能能讀懂,但不可能完全領(lǐng)會(huì)其中的思想。掌握一個(gè)算法,并不是說將算法背過,而是掌握算法的思想。我們需要的是耐心。每看一遍就會(huì)有這一遍的收獲。讀懂算法之后,自己再默寫算法,寫到不會(huì)的地方,看看課本想想自己為什么沒有想到。對(duì)算法的應(yīng)用上,學(xué)習(xí)算法的目的是利用算法解決實(shí)際問題。會(huì)寫課本上已有的算法之后,可以借其思想進(jìn)行擴(kuò)展,逐步提高編程能力。

四、對(duì)課程教學(xué)的建議

1、課程課時(shí)較緊,課堂上的練習(xí)時(shí)間較少,講解的東西越多,頭腦有時(shí)就很混亂。

2、感覺上課時(shí)的氣氛不是很好,雖然大部分人都在聽,可是效果不是很好。所以希望老師能在授課中間能穿插一些活躍課堂氛圍的話題,可以是大家都非常關(guān)心的一些內(nèi)容,這樣既讓大家能在思考之余有一個(gè)放松,也能夠提高學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效率。

3、學(xué)習(xí)的積極性很重要,有時(shí)候我們花了很長(zhǎng)時(shí)間去寫實(shí)驗(yàn)報(bào)告,也很認(rèn)真的去理解去掌握,可是最后實(shí)驗(yàn)報(bào)告可能就只得了一個(gè)C,抄的人反而得A,這樣的話很容易打擊學(xué)生的積極性,在后面的實(shí)驗(yàn)報(bào)告中沒動(dòng)力再去認(rèn)真寫。所以希望老師能在這方面有所調(diào)整。

4、雖然講課的時(shí)間很緊,但是還是希望老師能在講述知識(shí)點(diǎn)的時(shí)候能運(yùn)用實(shí)際的調(diào)試程序來給我們講解,這樣的話能讓我們對(duì)這些內(nèi)容有更深刻的印象和理解。

第三篇:數(shù)據(jù)結(jié)構(gòu)與算法個(gè)人總結(jié)

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

重點(diǎn)內(nèi)容:排序運(yùn)算的算法、檢索運(yùn)算的算法,本部分所占分值較高,在11分左右; 考試點(diǎn):數(shù)據(jù)順序存儲(chǔ)與鏈?zhǔn)酱鎯?chǔ)、棧與隊(duì)列的操作、二叉樹的存儲(chǔ)及遍歷(或周游)、霍夫曼算法及其應(yīng)用、各類排序算法;

知識(shí)部分: 1.數(shù)據(jù)結(jié)構(gòu)的內(nèi)容:

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

數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu): 是數(shù)據(jù)的邏輯結(jié)構(gòu)在存儲(chǔ)器里的實(shí)現(xiàn);

數(shù)據(jù)的運(yùn)算:插入、刪除、排序、查找等; 2.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為:順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。3.單鏈表與雙鏈表的插入與刪除這里不再贅述,百度一下吧!

4.棧與隊(duì)列的基本運(yùn)算有:插入、刪除、讀取頭元素到變量中,原棧或隊(duì)列保持不變、判斷是否為空、將棧或隊(duì)列置為空

5.串的基本運(yùn)算有:鏈接、賦值、求長(zhǎng)度、全等比較、求子串、求子串的位置及替換等。6.廣義表:廣義表是線性表的推廣,也稱列表。

廣義表的特點(diǎn):

廣義表的元素可以使字表,且字表的元素還可以是字表;

廣義表可以被其他廣義表所共享;

廣義表可以是遞歸的表,機(jī)本身的一個(gè)字表;

7.多維數(shù)組與稀疏矩陣的存儲(chǔ)比較復(fù)雜,請(qǐng)用百度查找相關(guān)內(nèi)容,不再贅述;

8.樹:樹并不重要,重要的知識(shí)點(diǎn)是二叉樹,對(duì)樹理解不透徹的同學(xué),請(qǐng)用百度搜索。9.二叉樹:

二叉樹的重點(diǎn)內(nèi)容包括:

二叉樹的遍歷:中序遍歷、前序遍歷、后續(xù)遍歷;(重點(diǎn)考察)完全二叉樹(定義):在一棵二叉樹中,若最多只有最下面兩層的節(jié)點(diǎn)數(shù)可小于2,且最下面一層的節(jié)點(diǎn)集中于最左邊的位置,則稱此二叉樹為完全二叉樹; 樹的先根次序周游對(duì)應(yīng)于二叉樹的前序周游(遍歷),樹的后根次序周游對(duì)應(yīng)于二叉樹的中序周游(遍歷)

10.二叉樹的存儲(chǔ)結(jié)構(gòu):鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)。

二叉樹的鏈?zhǔn)酱鎯?chǔ):

是指二叉樹的各節(jié)點(diǎn)隨機(jī)存儲(chǔ)在內(nèi)存空間中,節(jié)點(diǎn)之間的關(guān)系用指針標(biāo)示;

二叉樹鏈表的節(jié)點(diǎn)包括三個(gè):左指針,數(shù)據(jù)域,右指針;其中左指針指向左子節(jié)點(diǎn),有指針指向右子節(jié)點(diǎn);也可以是指一個(gè)父指針(parent)用于指向父節(jié)點(diǎn); 二叉樹鏈表的重要知識(shí)點(diǎn):一個(gè)n節(jié)點(diǎn)的二叉樹鏈表,有n+1個(gè)空指針域;

二叉樹的順序存儲(chǔ):

二叉樹的順序存儲(chǔ)就是按一定的次序,用一組地址連續(xù)的存儲(chǔ)單元存儲(chǔ)二叉樹的節(jié)點(diǎn)元素;

完全二叉樹的順序存儲(chǔ)的性質(zhì):

用數(shù)組A[1….n]順序存儲(chǔ)完全二叉樹的各節(jié)點(diǎn),則當(dāng)i>0,且i<=[(n-1)/2]時(shí),節(jié)點(diǎn)A[I]的右子女是節(jié)點(diǎn)A[2i+1],否則節(jié)點(diǎn)A[I]沒有右子女;同理當(dāng)i>0且I<=[n/2],節(jié)點(diǎn)i的左子女節(jié)點(diǎn)是2i,否則沒有!11.哈夫曼樹: 基本定義術(shù)語(yǔ):

節(jié)點(diǎn)的路徑長(zhǎng)度:從根節(jié)點(diǎn)到該節(jié)點(diǎn)的路徑上分支的數(shù)目;

樹的路徑長(zhǎng)度:樹中所有的節(jié)點(diǎn)的路徑長(zhǎng)度之和;

哈夫曼樹:在有n個(gè)葉子節(jié)點(diǎn),并帶有相同權(quán)值的二叉樹中,必定存在一個(gè)二叉樹,使其帶權(quán)路徑長(zhǎng)度最短,這樣的二叉樹被稱為“最優(yōu)二叉樹”或“哈夫曼樹”

如下圖:

12.排序算法:

常考的排序算法有:插入排序、冒泡排序、選擇排序、快速排序、堆排序

插入排序: 首先先建立一個(gè)空列表,然后放入一些已排序的有序數(shù)列(自定),然后然后從原列表中取出一個(gè)數(shù),并放入新列表,仍使新列表保持有序;重復(fù)這個(gè)動(dòng)作直到原列表為空;

冒泡排序:顧名思義,就像冒泡一樣(可以從小到大,也可以從大到小),大的升上去,小的降下來。首先將所有元素放入工作列表中,從列表的第一位數(shù)字到倒數(shù)第二位數(shù)字,逐個(gè)比較一個(gè)數(shù)和它的下一位,如果這個(gè)數(shù)大于它的下一位,則將它和它的下一位交換,重復(fù)該 步驟,直到不能交換

選擇排序:設(shè)數(shù)組中存儲(chǔ)了n個(gè)待排序數(shù)字,從數(shù)組中找到最小值和最大值分別放在數(shù)組的最左邊和最右端,然后選出次小值和次大值放到左數(shù)第二位和右數(shù)第二位,……,最后建立完整的順序;

快速排序:這是一種高效排序方法:

實(shí)踐證明,快速排序是所有排序算法中最高效的一種。它采用了分治的思想:先保證列表的前半部分都小于后半部分,然后分別對(duì)前半部分和后半部分排序,這樣整個(gè)列表就有序了。這是一種先進(jìn)的思想,也是它高效的原因。因?yàn)樵谂判蛩惴ㄖ校惴ǖ母咝c否與列表中數(shù)字間的比較次數(shù)有直接的關(guān)系,而“保證列表的前半部分都小于后半部分”就使得前半部分的任何一個(gè)數(shù)從此以后都不再跟后半部分的數(shù)進(jìn)行比較了,大大減少了數(shù)字間不必要的比較。但查找數(shù)據(jù)得另當(dāng)別論了。

堆排序:與前面的算法都不同,它是這樣的:

首先新建一個(gè)空列表,作用與插入排序中的“有序列表”相同。

找到數(shù)列中最大的數(shù)字,將其加在“有序列表”的末尾,并將其從原數(shù)列中刪除。

重復(fù)2號(hào)步驟,直至原數(shù)列為空。

堆排序的平均時(shí)間復(fù)雜度為nlogn,效率高(因?yàn)橛卸堰@種數(shù)據(jù)結(jié)構(gòu)以及它奇妙的特征,使得“找到數(shù)列中最大的數(shù)字”這樣的操作只需要O(1)的時(shí)間復(fù)雜度,維護(hù)需要logn的時(shí)間復(fù)雜度),但是實(shí)現(xiàn)相對(duì)復(fù)雜(可以說是這里7種算法中比較難實(shí)現(xiàn)的)。

看起來似乎堆排序與插入排序有些相像,但他們其實(shí)是本質(zhì)不同的算法。至少,他們的時(shí)間復(fù)雜度差了一個(gè)數(shù)量級(jí),一個(gè)是平方級(jí)的,一個(gè)是對(duì)數(shù)級(jí)的。

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

平均時(shí)間復(fù)雜度

插入排序 O(n2)

冒泡排序 O(n2)

選擇排序 O(n2)

快速排序 O(n log n)

堆排序 O(n log n)

歸并排序 O(n log n)

基數(shù)排序 O(n)

希爾排序 O(n1.25)

第四篇:算法設(shè)計(jì)與分析課程論文

“卓越工程師教育培養(yǎng)計(jì)劃”(簡(jiǎn)稱卓越計(jì)劃)旨在培養(yǎng)一批創(chuàng)新能力強(qiáng)、適應(yīng)經(jīng)濟(jì)社會(huì)發(fā)展需要的高質(zhì)量工程技術(shù)人才。在南通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院制定的軟件工程專業(yè)卓越工程師的培養(yǎng)計(jì)劃中,算法設(shè)計(jì)與分析被設(shè)置為一門核心必修課程。通過該門課程的系統(tǒng)授課,重點(diǎn)培養(yǎng)學(xué)生的計(jì)算機(jī)問題求解能力,該能力是軟件工程專業(yè)學(xué)生成長(zhǎng)為卓越工程師必備的一項(xiàng)核心競(jìng)爭(zhēng)力。一個(gè)典型的計(jì)算機(jī)問題的求解一般需要經(jīng)歷5個(gè)階段:①問題的分析和建模;②算法設(shè)計(jì)方法和相應(yīng)數(shù)據(jù)結(jié)構(gòu)的選擇;③算法的實(shí)現(xiàn);④算法的正確性證明和復(fù)雜度分析;⑤算法實(shí)現(xiàn)的優(yōu)化等。

經(jīng)過多輪的教學(xué)實(shí)踐發(fā)現(xiàn),學(xué)生之間水平參差不齊是教學(xué)過程中面臨的最大問題。隨著高校招生規(guī)模的不斷增大,不同學(xué)生之間在基礎(chǔ)知識(shí)、智力水平、興趣愛好、學(xué)習(xí)動(dòng)機(jī)和學(xué)習(xí)方法上存在較大的差異性。相同的教學(xué)內(nèi)容,對(duì)于一些基礎(chǔ)較好的學(xué)生來說理解難度不大,但對(duì)于一些基礎(chǔ)較弱的學(xué)生來說,則難以理解。因此,如何尊重學(xué)生個(gè)性差異、發(fā)展學(xué)生個(gè)性特長(zhǎng),在考慮學(xué)生整體發(fā)展的同時(shí)兼顧學(xué)生的個(gè)性特長(zhǎng)發(fā)展,從而最終提高各個(gè)層次學(xué)生的綜合素質(zhì)是算法設(shè)計(jì)與分析課程的教學(xué)改革實(shí)踐中需要重點(diǎn)關(guān)注的問題。

通過多次與學(xué)生的深入交流發(fā)現(xiàn),學(xué)生在這門課程的學(xué)習(xí)過程中面臨如下問題:

1)課程教學(xué)內(nèi)容難度高。課程需要學(xué)生掌握常見的算法設(shè)計(jì)策略,如分治法、動(dòng)態(tài)規(guī)劃法和貪婪法等,對(duì)設(shè)計(jì)出的算法能進(jìn)行正確性證明和復(fù)雜度分析。很多知識(shí)點(diǎn)抽象層次高,需要學(xué)生具備一定的數(shù)學(xué)分析能力,同時(shí),通常算法內(nèi)部邏輯比較復(fù)雜,因此需要學(xué)生具備較強(qiáng)的編程功底。筆者在講授這些知識(shí)點(diǎn)時(shí),均假設(shè)學(xué)生具備一定的數(shù)學(xué)分析能力和編程基礎(chǔ),但實(shí)際情況卻不容樂觀,很多學(xué)生在大一和大二的時(shí)候并未重視相關(guān)課程的學(xué)習(xí),很多知識(shí)點(diǎn)都已經(jīng)還給授課老師,在課堂上需要花費(fèi)一定時(shí)間幫助學(xué)生回憶這些知識(shí)點(diǎn)。同時(shí),部分學(xué)生因編程經(jīng)驗(yàn)較為匾乏,難以順利地將偽代碼轉(zhuǎn)化成可運(yùn)行的程序代碼。

2)學(xué)生問題求解能力弱。為輔助學(xué)生對(duì)知識(shí)點(diǎn)的理解,授課老師一般在實(shí)例選擇時(shí)均采用一些經(jīng)典實(shí)例,例如歸并排序、最小生成樹等。這些問題在一些預(yù)修課程(例如高級(jí)程序設(shè)計(jì)語(yǔ)言或數(shù)據(jù)結(jié)構(gòu))中均進(jìn)行過講解,因此理解起來難度不大。但是,學(xué)生在上機(jī)實(shí)踐時(shí),面對(duì)老師布置的新問題,卻很難將學(xué)到的知識(shí)進(jìn)行靈活運(yùn)用,難以選擇合理的算法設(shè)計(jì)策略,并借助熟悉的高級(jí)編程語(yǔ)言去解決。

3)學(xué)生自主學(xué)習(xí)意識(shí)薄弱。該門課程本身課時(shí)較少(僅有犯學(xué)時(shí)),其中8學(xué)時(shí)為上機(jī)實(shí)踐,在剩余的24學(xué)時(shí)內(nèi),僅能講授基本的算法設(shè)計(jì)與分析策略。學(xué)生即使了解常見的算法設(shè)計(jì)與分析方法,但現(xiàn)實(shí)生活中問題千變?nèi)f化,更需要學(xué)生靈活使用學(xué)到的知識(shí)。因此,要提高學(xué)習(xí)效果和實(shí)踐能力,需要學(xué)生在課外花費(fèi)更多時(shí)間,閱讀相關(guān)資料和進(jìn)行大量編碼。但是,授課過程中發(fā)現(xiàn),真正能夠完成自主學(xué)習(xí)的學(xué)生并不多。一方面,很多學(xué)生長(zhǎng)期受應(yīng)試教育的影響,習(xí)慣于填鴨式的教學(xué)模式,同時(shí),學(xué)習(xí)時(shí)具有較強(qiáng)的功利性,很多學(xué)生普遍有應(yīng)付考試和及格萬(wàn)歲的思想,有的學(xué)生甚至為了應(yīng)付老師的作業(yè)檢查,大量抄襲作業(yè),僅做一些表面上的修改來敷衍了事。另一方面,即使有少量同學(xué)對(duì)新知識(shí)比較好奇,愿意自己去積極探索,但在選擇相關(guān)經(jīng)典資料時(shí)經(jīng)驗(yàn)不足、效率較低,因此,需要有經(jīng)驗(yàn)的老師進(jìn)行有效引導(dǎo)。

目前高校很多教室都配有多媒體設(shè)備,造成大部分專業(yè)課程均采用多媒體課件方式進(jìn)行授課。多媒體課件雖然具有豐富的表現(xiàn)力、良好的交互性和較高的共享性,但與其他核心專業(yè)課程相比,算法設(shè)計(jì)與分析課程的理論程度更高,數(shù)學(xué)推導(dǎo)較多,因此筆者認(rèn)為,采用板書為主的教學(xué)方式可能會(huì)效果更好。為驗(yàn)證該推測(cè),對(duì)Leiserson教授和Demaine教授開設(shè)的麻省理工學(xué)院公開課的在線視頻進(jìn)行分析,發(fā)現(xiàn)他們?cè)谑谡n時(shí),絕大部分教學(xué)內(nèi)容均采用板書方式進(jìn)行講解,通過在黑板上一步一步地推導(dǎo),在一些關(guān)鍵節(jié)點(diǎn)上與學(xué)生充分交互,使得學(xué)生可以更好地掌握算法設(shè)計(jì)與分析過程中的一些重要技巧。筆者在實(shí)際教學(xué)中通過精心設(shè)計(jì)板書,取得了較好的課堂效果。

綜上所述,在學(xué)生水平參差不齊的情況下,針對(duì)算法課程教學(xué)中存在的問題,提出了一系列教學(xué)改革措施以提高不同層次學(xué)生的計(jì)算機(jī)問題求解能力。其中將教學(xué)問題與教學(xué)改革措施的對(duì)應(yīng)關(guān)系,以及教學(xué)改革措施與不同層次學(xué)生的對(duì)應(yīng)關(guān)系進(jìn)行總結(jié)。而且具備良好的交叉學(xué)科基礎(chǔ)和文化底蘊(yùn),能培養(yǎng)出滿足市場(chǎng)需要的復(fù)合型人才。

如何使相關(guān)專業(yè)的教育教學(xué)滿足將來ICT產(chǎn)業(yè)的發(fā)展是個(gè)相當(dāng)復(fù)雜的問題,希望筆者提出的一些改進(jìn)措施能對(duì)信息科學(xué)相關(guān)專業(yè)的工程教育具有參考意義,并對(duì)其他領(lǐng)域也有借鑒之處。

第五篇:“算法設(shè)計(jì)與分析”課程教學(xué)方法探究(精選)

“算法設(shè)計(jì)與分析”課程教學(xué)方法探究

摘要:該文分析了算法設(shè)計(jì)與分析課程教學(xué)和學(xué)生學(xué)習(xí)時(shí)存在的問題,根據(jù)近幾年積累的教學(xué)經(jīng)驗(yàn),提出了一些教學(xué)方法的建議,如互動(dòng)式教學(xué),板書和多媒體相結(jié)合,重視上機(jī)練習(xí)以及考核方式的改革。

關(guān)鍵詞:計(jì)算機(jī);算法設(shè)計(jì)與分析;教學(xué)方法

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)08-0102-02

21世紀(jì)以來,計(jì)算機(jī)的普及極大地改變了人們的生活。目前,各行業(yè)、各領(lǐng)域都廣泛采用了計(jì)算機(jī)信息技術(shù),并由此產(chǎn)生出設(shè)計(jì)并開發(fā)各種應(yīng)用軟件的需求。為了以最小的成本、最快的速度、最好的質(zhì)量開發(fā)出應(yīng)用軟件,就必須掌握并能設(shè)計(jì)出高效的算法。算法分析與設(shè)計(jì)是一門理論性與實(shí)踐性兼顧的課程,是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門很重要的專業(yè)課,該課程在整個(gè)教學(xué)體系中占有非常重要的地位。通過對(duì)計(jì)算機(jī)算法系統(tǒng)的學(xué)習(xí)與研究,理解和掌握算法設(shè)計(jì)的主要方法,培養(yǎng)對(duì)算法的計(jì)算復(fù)雜性進(jìn)行正確分析的能力,為獨(dú)立地設(shè)計(jì)算法和對(duì)給定算法進(jìn)行復(fù)雜性分析奠定堅(jiān)實(shí)的理論基礎(chǔ)[1]。

該課程不像其他記憶性的課程,它重在理解并能應(yīng)用到實(shí)際中,是一門集應(yīng)用性、實(shí)踐性及創(chuàng)新性為一體的綜合性課程。再加上這門課程相對(duì)枯燥、難度大,因此,對(duì)于很多教師來說,要想上好這門課程,成了一個(gè)很大的挑戰(zhàn)。該課程要求教師要有扎實(shí)的數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu)理論基礎(chǔ),還要有編程和科研經(jīng)歷,還要結(jié)合本課程的特點(diǎn),采用適當(dāng)?shù)慕虒W(xué)方法,才能使得學(xué)生把枯燥,難學(xué)的算法真正學(xué)會(huì),并應(yīng)用到以后的開發(fā)實(shí)踐中。

本文根據(jù)筆者的教學(xué)經(jīng)驗(yàn),總結(jié)了一些教學(xué)方法,包括互動(dòng)式教學(xué),板書和多媒體相結(jié)合以及考核方式的改革等。算法課程教學(xué)及學(xué)生學(xué)習(xí)存在的問題

現(xiàn)在,算法設(shè)計(jì)與分析課程在教學(xué)和學(xué)生學(xué)習(xí)方面都存在著問題,經(jīng)過分析總結(jié)如下:

1)該課程難度較大:算法設(shè)計(jì)與分析課程中介紹的都是數(shù)學(xué)或計(jì)算機(jī)專業(yè)領(lǐng)域的經(jīng)典算法,例如動(dòng)態(tài)規(guī)劃和分支限界法。單純的算法思想比較抽象,課程本身難度較大,容易使學(xué)生對(duì)該門課程產(chǎn)生恐懼心理。

2)學(xué)生不感興趣:現(xiàn)在大多數(shù)學(xué)生功利性比較強(qiáng),學(xué)習(xí)一門課程時(shí),希望它馬上就能應(yīng)用到實(shí)際中。比如學(xué)習(xí)了靜態(tài)網(wǎng)頁(yè)設(shè)計(jì)就可以做網(wǎng)站,學(xué)習(xí)了asp、jsp等動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)就可以開發(fā)系統(tǒng)。學(xué)會(huì)了開發(fā)網(wǎng)站和系統(tǒng),就可以找到工作。所以學(xué)生對(duì)這些課程很感興趣。剛才提到的課程都是立竿見影,學(xué)完后都知道最終的目的,而算法設(shè)計(jì)與分析課程則不同。算法設(shè)計(jì)與分析課程屬于高層次的課程,各種編程語(yǔ)言是它的先修課程。沒有編程基礎(chǔ),沒有開發(fā)經(jīng)驗(yàn),談?wù)撍惴ň拖喈?dāng)于紙上談兵。因此,學(xué)生學(xué)習(xí)算法設(shè)計(jì)與分析課程時(shí),他們感覺不能立即用上,甚至覺得與以后找工作沒有太大關(guān)系。這種心理導(dǎo)致學(xué)生對(duì)該課程不感興趣,緊緊抱著混學(xué)分的思想去學(xué)習(xí),給教師授課帶來了很大的困難。

3)考核方式不太合理:目前,在大多數(shù)高校中針對(duì)算法設(shè)計(jì)與分析課程采用的考核方式和其他課程一樣,總成績(jī)=試卷成績(jī)*70%+平時(shí)成績(jī)*30%。這里的平時(shí)成績(jī)包括作業(yè),考勤和課堂表現(xiàn)。這種考核方式只能反映出學(xué)生對(duì)理論知識(shí)的掌握程度,但無法考核出學(xué)生對(duì)知識(shí)的真正應(yīng)用能力。采用這種傳統(tǒng)的考核方式檢驗(yàn)學(xué)生是否能把算法思想應(yīng)用到編程中,無法學(xué)以致用。

2教學(xué)方法探討

近年來,本人一直教授該門課程,現(xiàn)將自己教學(xué)過程中摸索的教學(xué)經(jīng)驗(yàn)以及教學(xué)改革建議進(jìn)行總結(jié),希望能對(duì)廣大教師有所幫助。

2.1互動(dòng)式教學(xué)

講授算法課程過程中,由于該門課程具有很強(qiáng)的邏輯性和抽象性,并且要求有較好的數(shù)學(xué)基礎(chǔ),很容易形成教師向?qū)W生的單向傳輸教學(xué)。這種情況下,課堂教學(xué)枯燥無味,學(xué)生沒有興趣去思考和回答教師的問題,以至于形成課堂氣氛死氣沉沉,教師自問自答的局面。

在講課過程中,教師應(yīng)時(shí)刻注意和學(xué)生的互動(dòng)。互動(dòng)式教學(xué)可以變傳統(tǒng)教學(xué)中的單向傳輸式教學(xué)為雙向互動(dòng)式,這樣可以提高學(xué)生學(xué)習(xí)該門課程的興趣。興趣是最好的老師,只有學(xué)生產(chǎn)生了興趣,才能更好的掌握算法知識(shí)并應(yīng)用到實(shí)際中。

教師實(shí)現(xiàn)互動(dòng)式教學(xué)的方法有很多種,比如可以通過提問的方式。這就要求教師在備課時(shí)下功夫,而不是簡(jiǎn)單的備課本上的知識(shí)點(diǎn),而是吃透每一個(gè)知識(shí)點(diǎn),然后在相應(yīng)的知識(shí)點(diǎn)上為學(xué)生設(shè)置相應(yīng)的思考方向,提出問題,充分調(diào)動(dòng)學(xué)生的積極性,讓學(xué)生參與到課堂中來。同時(shí),學(xué)生也會(huì)在枯燥的理論知識(shí)中尋找到樂趣。

2.2傳統(tǒng)的板書教學(xué)和多媒體教學(xué)相結(jié)合,齊頭并進(jìn)

目前大多數(shù)高校計(jì)算機(jī)類的課程基本都使用多媒體進(jìn)行教學(xué)。傳統(tǒng)的黑板教學(xué)和多媒體教學(xué)各有利弊,我們應(yīng)根據(jù)教學(xué)內(nèi)容的需要,揚(yáng)長(zhǎng)避短,選擇適當(dāng)?shù)慕虒W(xué)手段,而不是因多媒體的方便性,將單純的將黑板教學(xué)摒棄。在講解算法課程過程中,更是需要兩者的結(jié)合,才能收到良好的課堂教學(xué)效果。

采用多媒體教學(xué)的好處是可以加大課堂信息量,使得講課更加形象生動(dòng)。在講解算法課程第2章中的插入排序,選擇排序,歸并排序時(shí),就可以采用多媒體教學(xué)中視頻教學(xué)。三種排序算法很抽象,單純的靠講述加上板書教學(xué),學(xué)生很難掌握三種排序的算法思想,并且容易混淆。本人在講解該部分內(nèi)容時(shí),從網(wǎng)上找到了真人以民族舞蹈形式來表現(xiàn)各種計(jì)算機(jī)排序算法的工作原理的視頻。首先口頭介紹某種排序的算法思想,然后在學(xué)生對(duì)此排序有初步了解的基礎(chǔ)上,讓其觀看相應(yīng)的視頻,使得學(xué)生在輕松快樂的氛圍中掌握了排序算法,收到了很好的教學(xué)效果。

有些情況下,掌握某些經(jīng)典算法的核心思想需要教師采用傳統(tǒng)的黑板教學(xué),一步一步帶著學(xué)生去推導(dǎo),最終得到答案。如果此時(shí)采用ppt課件進(jìn)行教學(xué),就會(huì)加快講課的進(jìn)度,向下翻一頁(yè)可能答案就會(huì)直接出來,沒有給學(xué)生充分多的思考時(shí)間,沒有在學(xué)生腦中留下深刻的印象。比如講解棋盤覆蓋問題時(shí)(如圖1,圖2),如果采用板書教學(xué),一步一步去演示覆蓋的過程,學(xué)生的思路經(jīng)歷了從有到無的過程,在循序漸進(jìn)中掌握了知識(shí)。整個(gè)推導(dǎo)過程學(xué)生如同細(xì)細(xì)咀嚼了一個(gè)蘋果,不僅嘗到了味道,也吸收了營(yíng)養(yǎng)。

2.3 重視上機(jī)練習(xí)

教室課堂上,教師向?qū)W生講授的是算法的基本思想。算法僅僅靠掌握理論知識(shí)是不夠的,必須把它應(yīng)用到編程中,才能真正去領(lǐng)會(huì)算法的思想和靈魂。脫離計(jì)算機(jī)和編程去談?wù)撍惴ň腿缤埳险劚遣磺袑?shí)際的。

在教學(xué)過程中,教師至少應(yīng)把1/3的課程分給上機(jī)實(shí)驗(yàn)課,只有給學(xué)生充足的上機(jī)時(shí)間,才可以將算法的思想應(yīng)到實(shí)際中。當(dāng)然,作為教師必須努力找一些難度合適的題目,讓學(xué)生在實(shí)驗(yàn)課上完成,將教室課堂上學(xué)的理論知識(shí)有所應(yīng)用。通過上機(jī)實(shí)際操練,促進(jìn)學(xué)生真正掌握算法的精髓。

2.4考核方式改革

本文前面已經(jīng)分析過現(xiàn)在算法課程大多數(shù)學(xué)校采用的是以紙質(zhì)試卷為主的考核方式算作期末成績(jī),其實(shí)這種考核方式和課程的性質(zhì)是互相矛盾的。算法課程是理論和實(shí)踐都很重要的一門課程,傳統(tǒng)的考核方式只能考查學(xué)生對(duì)理論知識(shí)的掌握程度。

本人對(duì)算法課程采用如下考核方式:

除常規(guī)期末試卷成績(jī)外,實(shí)驗(yàn)成績(jī)占的比例為40%,加大了實(shí)驗(yàn)成績(jī)所占的比例。這樣可以增強(qiáng)學(xué)生對(duì)實(shí)驗(yàn)上機(jī)課的重視程度,上機(jī)實(shí)驗(yàn)時(shí),學(xué)生會(huì)比較認(rèn)真,有助于他們能將算法的思想應(yīng)用編程中,培養(yǎng)學(xué)生的動(dòng)手和實(shí)踐能力。

3總結(jié)

筆者結(jié)合近幾年的課堂教學(xué)情況,分析了算法課程教學(xué)存在的問題,并針對(duì)這些問題提出了一些教學(xué)方法。當(dāng)然這些方法還需要進(jìn)一步的完善,進(jìn)而使算法課程的教學(xué)質(zhì)量能得到很大的提高。

參考文獻(xiàn):

[1] 李涵.“算法分析與設(shè)計(jì)”課程改革和實(shí)踐[J].中國(guó)電力教育,2010(16):74-75.[2] 王曉東.計(jì)算機(jī)算法設(shè)計(jì)與分析[M].北京:電子工業(yè)出版社,2008.[3] 劉波“.算法設(shè)計(jì)與分析”教學(xué)探討[J].高等理科教育,2007(4):78-80.[4] 余祥宣,崔國(guó)華,鄒海明.計(jì)算機(jī)算法基礎(chǔ)[M].武漢:華中科技大學(xué)出版社,2006.[5]馬健.啟發(fā)式教學(xué)法在課堂教學(xué)中的應(yīng)用[J].中國(guó)電子教育,2008(3):68-71.

下載算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié)word格式文檔
下載算法設(shè)計(jì)與實(shí)現(xiàn)個(gè)人課程總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    算法設(shè)計(jì)與分析課程的心得體會(huì)

    《算法設(shè)計(jì)與分析》課程的心得體會(huì) 以最少的成本、最快的速度、最好的質(zhì)量開發(fā)出合適各種各樣應(yīng)用需求的軟件,必須遵循軟件工程的原則,設(shè)計(jì)出高效率的程序。一個(gè)高效的程序不......

    算法及其實(shí)現(xiàn) 教學(xué)設(shè)計(jì)(第一課時(shí))

    《3.4算法及其實(shí)現(xiàn)》教學(xué)設(shè)計(jì)(第一課時(shí)) 一、設(shè)計(jì)思想 隨著新課程改革的深入,信息技術(shù)課程理念發(fā)生了巨大的變化,具體表現(xiàn)為:強(qiáng)調(diào)培養(yǎng)學(xué)生的信息素養(yǎng);為學(xué)生打造終身學(xué)習(xí)的平臺(tái);關(guān)......

    《對(duì)分查找及其算法實(shí)現(xiàn)》教學(xué)設(shè)計(jì)

    《對(duì)分查找及其算法實(shí)現(xiàn)》教學(xué)設(shè)計(jì) 湖北省巴東縣第一高級(jí)中學(xué) 劉少銀一、教材學(xué)情分析本次課是浙江版高中信息技術(shù)選修教材《算法與程序設(shè)計(jì)》第二章算法實(shí)例第四節(jié)查找中的......

    算法及其實(shí)現(xiàn)教學(xué)設(shè)計(jì)(五篇范例)

    《算法及其實(shí)現(xiàn)》教學(xué)設(shè)計(jì) XXXXX中學(xué) XXX 一、 教材分析 在前面的章節(jié)已經(jīng)提到,用計(jì)算機(jī)解決實(shí)際問題的過程中,有兩個(gè)重要的環(huán)節(jié)——設(shè)計(jì)算法、編制和運(yùn)行程序?qū)崿F(xiàn)算法,所以算......

    課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

    課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)摘要:課程建設(shè)是“高等學(xué)校教學(xué)質(zhì)量與教學(xué)改革工程”的一項(xiàng)重要內(nèi)容,也是教育部深化教學(xué)改革,以教育信息化帶動(dòng)教育現(xiàn)代化的一項(xiàng)重要舉措。課程網(wǎng)站是課......

    數(shù)據(jù)結(jié)構(gòu)與算法課程論文

    數(shù)據(jù)結(jié)構(gòu)與算法課程小論文 10計(jì)本一班 王曉龍 1004011026 一. 內(nèi)容概要: 如何合理地組織數(shù)據(jù)、高效地處理數(shù)據(jù)是擴(kuò)大計(jì)算機(jī)領(lǐng)域、提高軟件效率的關(guān)鍵。在軟件開發(fā)過程中要求“......

    數(shù)據(jù)結(jié)構(gòu)與算法課程教學(xué)大綱

    教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)與算法 (Data Structures) 計(jì)算機(jī)技術(shù)已成為現(xiàn)代化發(fā)展的重要支柱和標(biāo)志,并逐步滲透到人類生活的各個(gè)領(lǐng)域。隨著計(jì)算機(jī)硬件的發(fā)展,對(duì)計(jì)算機(jī)軟件的發(fā)展也提出了......

    算法分析與設(shè)計(jì)知識(shí)點(diǎn)總結(jié)

    第一章 概述 算法的概念:算法是指解決問題的一種方法或過程,是由若干條指令組成的有窮序列。 算法的特征: 可終止性:算法必須在有限時(shí)間內(nèi)終止; 正確性:算法必須正確描述問題的求......

主站蜘蛛池模板: 无码福利写真片视频在线播放| 国产精品日本一区二区在线播放| 精品www日韩熟女人妻| 国产欧美在线一区二区三| 高潮呻吟国产在线播放| 中文字幕欧美人妻精品一区| 视频区国产亚洲.欧美| 一区二区精品视频日本| 韩国精品一区二区三区无码视频| 亚洲亚洲中文字幕无线码| 乱人伦视频中文字幕| 性夜影院爽黄e爽| 国精品人妻无码一区免费视频电影| 亚洲国产成人久久一区久久| 国产精品久久久久久久久软件| 国产福利在线永久视频| 亚洲精品无码久久久久av麻豆| 亚洲丁香婷婷综合久久| 一本色道久久综合一| 天堂√最新版中文在线地址| 99精品视频在线在线观看视频| 日韩精品无码av成人观看| 2019日韩中文字幕mv| 亚洲综合国产一区二区三区| 夜爽8888视频在线观看| 亚洲精品屋v一区二区| 久久久久国产精品人妻aⅴ网站| 中文精品久久久久鬼色| av蓝导航精品导航| 特级a做爰全过程片| 天堂aⅴ无码一区二区三区| 正在播放老肥熟妇露脸| 思思99思思久久最新精品| 国产精品久久久久久久久久| 久久www免费人咸_看片| 两个人日本www免费版| 99re久久精品国产| 国产高清无码在线com| 中文字幕精品亚洲无线码一区| 狠狠色狠狠色综合| 亚洲欲色欲色xxxxx在线|