數(shù)據(jù)結(jié)構(gòu)心得體會(huì)(通用20篇)
某些事情讓我們心里有了一些心得后,通常就可以寫一篇心得體會(huì)將其記下來(lái),這樣就可以總結(jié)出具體的經(jīng)驗(yàn)和想法。到底應(yīng)如何寫心得體會(huì)呢?以下是小編幫大家整理的數(shù)據(jù)結(jié)構(gòu)心得體會(huì),歡迎閱讀,希望大家能夠喜歡。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 1
數(shù)據(jù)結(jié)構(gòu)是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。在學(xué)習(xí)科目的第一節(jié)課起,魯老師就為我們闡述了它的重要性。它對(duì)我們來(lái)說(shuō)具有一定的難度。它是其它編程語(yǔ)言的一門基本學(xué)科。很多同學(xué)都說(shuō),數(shù)據(jù)結(jié)構(gòu)不好學(xué),這我深有體會(huì)。剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來(lái)說(shuō),無(wú)疑是一個(gè)具大的挑戰(zhàn)。
我記得有節(jié)課上遍歷二叉樹的內(nèi)容,先序遍歷、中序遍歷、后序遍歷。魯老師說(shuō):這節(jié)課的內(nèi)容很重要,不管你以前聽懂沒(méi)有,現(xiàn)在認(rèn)真聽。說(shuō)實(shí)在的,以前上的內(nèi)容確實(shí)沒(méi)大聽懂,不過(guò)聽了老師的話,我聽得很認(rèn)真。先序遍歷很簡(jiǎn)單,是三個(gè)遍歷中,最簡(jiǎn)單的。而中序遍歷聽得有點(diǎn)模糊,后序遍歷也半懂半懂,我心想如果老師再講一遍,我肯定能聽懂。后來(lái)老師畫了一個(gè)二叉樹,抽了同學(xué)到黑板上去排序,這個(gè)二叉樹看似復(fù)雜,不過(guò)用先序遍歷來(lái)排,并不難。于是我在下面排好了先序,先序遍歷很簡(jiǎn)單,我有點(diǎn)得意,老師到位置上點(diǎn)了我上去排中序,上去之后排得一塌糊涂。后來(lái)老師又講了一遍,我這才聽懂了,魯老師又安慰我們說(shuō),這個(gè)二叉樹有點(diǎn)難,中序和后序都不好排,要學(xué)懂的確要花點(diǎn)功夫才行。我聽了老師的話,認(rèn)真做了筆記,回去再看了當(dāng)天學(xué)的內(nèi)容。第二堂課,老師還是先講的先前的內(nèi)容,畫了一個(gè)簡(jiǎn)單的二叉樹,讓我們排序,又叫同學(xué)上去分別排出來(lái),老師又點(diǎn)了我的名,叫我起來(lái)辨別排中序那兩個(gè)同學(xué)的答案哪個(gè)排正確了,我毫不猶豫的'答對(duì)了。因?yàn)檫@次的內(nèi)容,先序遍歷二叉樹、中序遍歷二叉樹、后序遍歷二叉樹,我的確真的懂了,第一次上這個(gè)課這么有成就感。漸漸的對(duì)這門課有了興趣。我以為永遠(yuǎn)都聽不懂這個(gè)課,現(xiàn)在,我明白了,只要認(rèn)真聽,肯下功夫,這個(gè)課也沒(méi)有什么難的。而數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)的難易程度很大程度上決定于個(gè)人的興趣,把一件事情當(dāng)做任務(wù)去做會(huì)很痛苦,當(dāng)做興趣去做會(huì)很快樂(lè)。也希望老師能看到我的改變,在此也感謝老師的辛勤教導(dǎo)。老師沒(méi)有放棄我,幾次點(diǎn)我的名上去,老師一定看得到我的進(jìn)步。
后來(lái),我每節(jié)課都認(rèn)真聽課,老師雖然沒(méi)有點(diǎn)名,但我還是很認(rèn)真的聽。雙親表示法孩子表示法和孩子兄弟表示法,這些內(nèi)容我都聽得很明白,差不多每節(jié)課都認(rèn)真聽課。有時(shí)我也會(huì)在上課空余時(shí)間看看以前的內(nèi)容,所以,第一遍看課本的時(shí)候要將概念熟記于心,然后構(gòu)建知識(shí)框架。數(shù)據(jù)結(jié)構(gòu)包括線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。線性結(jié)構(gòu)包括線性表、棧、隊(duì)列、串、數(shù)組、廣義表等,棧和隊(duì)列是操作受限的線性表,串的數(shù)據(jù)對(duì)象約束為字符集,數(shù)組和廣義表是對(duì)線性表的擴(kuò)展:表中的數(shù)據(jù)元素本身也是一個(gè)數(shù)據(jù)結(jié)構(gòu)。除了線性表以外,棧是重點(diǎn),因?yàn)闂:瓦f歸緊密相連,遞歸是程序設(shè)計(jì)中很重要的一種工具。
其中我了解到:棧(Stack)是只能在某一端插入和刪除的特殊線性表。它按照后進(jìn)先出的原則存儲(chǔ)數(shù)據(jù),先進(jìn)入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂,需要讀數(shù)據(jù)的時(shí)候從棧頂開始彈出數(shù)據(jù);
隊(duì)列一種特殊的線性表,它只允許在表的前端(front)進(jìn)行刪除操作,而在表的后端(rear)進(jìn)行插入操作。進(jìn)行插入的操作端稱為
隊(duì)尾,進(jìn)行刪除的操作端稱為隊(duì)頭。隊(duì)列中沒(méi)有元素時(shí),稱為空隊(duì)列;鏈表是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點(diǎn)組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成。每個(gè)結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域。
想著自己報(bào)考自考的專業(yè),也會(huì)考數(shù)據(jù)結(jié)構(gòu)這門,這學(xué)期就結(jié)束了,或多或少都收獲了一些知識(shí)。盡管學(xué)得還不是很透徹,我相信這對(duì)自己的自考會(huì)有很大的幫助,所以,即使是結(jié)束了這科的內(nèi)容,我也不會(huì)放棄去學(xué)習(xí)它。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 2
課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實(shí)驗(yàn)課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,使學(xué)生能夠根據(jù)問(wèn)題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái)并用軟件解決問(wèn)題,培養(yǎng)良好的程序設(shè)計(jì)技能。
在這次課程設(shè)計(jì)當(dāng)中,我了解到了我的不足,如算法的不完善、不細(xì)心和耐心不是很好等等。不細(xì)心的我在調(diào)試程序時(shí),老是因?yàn)槟硞(gè)書寫錯(cuò)誤導(dǎo)致錯(cuò)誤;對(duì)這些錯(cuò)誤,我不得不花大量的時(shí)間去更正,并且還要重復(fù)檢查是否出現(xiàn)雷同的錯(cuò)誤而導(dǎo)致程序不能運(yùn)行。但是通過(guò)這次課程設(shè)計(jì),我的這些缺點(diǎn)有些改善。我在寫新的程序時(shí),首先要考慮的深入一點(diǎn)、仔細(xì)一點(diǎn),這樣要修改程序的時(shí)間就會(huì)少很多。并且也不會(huì)因?yàn)樽约翰患?xì)心而導(dǎo)致的浪費(fèi)時(shí)間的情況出現(xiàn)。
在進(jìn)行程序設(shè)計(jì)時(shí),要注意想好思路。即要有恰當(dāng)模塊名、變量名、常量名、子程序名等。將每個(gè)功能的模塊,即函數(shù)名要清晰的表述出來(lái),使用戶能夠一目了然此程序的功能。當(dāng)然適當(dāng)?shù)慕o寫注釋,也是方便用戶的理解。還有在編寫程序時(shí)要注意對(duì)程序的適當(dāng)分配,便于用戶看懂程序,也便于自己檢查城市。但是完成任何一個(gè)較大的程序,都需要掌握一定的編程基礎(chǔ),需要不斷的探索和求知過(guò)程,這樣對(duì)自己編程能力的提高有較大的幫助。當(dāng)然,任何程序必須經(jīng)過(guò)計(jì)算機(jī)的調(diào)試,看是否調(diào)試成功,發(fā)現(xiàn)錯(cuò)誤,一個(gè)個(gè),一步步去解決,這樣就能從錯(cuò)誤中進(jìn)步。
通過(guò)課程設(shè)計(jì)加強(qiáng)了我的動(dòng)手能力,以及提升了局部和統(tǒng)一考慮問(wèn)題的.思維方式。回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,的確,從從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)月的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)結(jié)構(gòu)體通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。
通過(guò)這次的課程設(shè)計(jì),我學(xué)到了怎么樣從一個(gè)實(shí)際問(wèn)題出發(fā),建立模型,找到相應(yīng)的存儲(chǔ)結(jié)構(gòu)和實(shí)現(xiàn)方法,實(shí)際運(yùn)行,反復(fù)調(diào)試和修改,最終實(shí)現(xiàn)功能。在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái)并用軟件解決問(wèn)題,培養(yǎng)了良好的程序設(shè)計(jì)技能。
在這次課程設(shè)計(jì)中,得到了好多同學(xué)的幫助以及老師的指導(dǎo),在此要表達(dá)我真誠(chéng)的謝意!
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 3
時(shí)光荏苒,如白駒過(guò)隙般匆匆而去,眼看的一年實(shí)習(xí)生活馬上就要成為美好的回憶。在這短短一年的時(shí)間里我感覺(jué)自己成長(zhǎng)了許多,從象牙塔邁出的第一步走的特別的穩(wěn)重,感謝學(xué)校給我提供了一個(gè)努力拼搏的舞臺(tái),讓我學(xué)會(huì)了如何面對(duì)這個(gè)真實(shí)的社會(huì),實(shí)現(xiàn)了從在校學(xué)子向職場(chǎng)人士的轉(zhuǎn)變。
實(shí)習(xí)是繼中考后又一個(gè)人生的十字路口,它意味著人生一個(gè)新時(shí)期的到來(lái)——告別學(xué)校走入社會(huì)。社會(huì)是個(gè)大的集合,不管是以前的學(xué)校還是現(xiàn)在的實(shí)習(xí)單位都同屬這個(gè)集合。這幾個(gè)月來(lái),給我感覺(jué)學(xué)校純一點(diǎn),單位復(fù)雜一點(diǎn)。不過(guò)我知道不論學(xué)校還是單位其實(shí)都是社會(huì)的縮影。實(shí)習(xí)的真正目的就是讓我們這些在校的學(xué)生走入社會(huì)。社會(huì)是形形色色、方方面面的,你要學(xué)會(huì)的是適應(yīng)這個(gè)社會(huì)而不是讓這個(gè)社會(huì)適應(yīng)你。
剛剛走進(jìn)社會(huì)不適應(yīng)是正常的。人有的時(shí)候很奇怪:心情或者更準(zhǔn)確地說(shuō)是熱情往往會(huì)因時(shí)間、環(huán)境、所經(jīng)歷的事而起伏。就像我對(duì)境界一詞的理解:人與他所受教育、所處環(huán)境、所經(jīng)歷對(duì)事物的理解、判斷、預(yù)知的程度就是這個(gè)人的境界。 作為一名中專生,專業(yè)需求的建筑認(rèn)識(shí)實(shí)訓(xùn)開始了,我們?nèi)珜I(yè)的同學(xué)在__的各大建筑工地認(rèn)識(shí)實(shí)習(xí),對(duì)于我當(dāng)初選擇土木工程這樣的專業(yè),說(shuō)真的我并不知道什么是土木工程。現(xiàn)在我對(duì)土木工程有了基本的感性認(rèn)識(shí)了,我想任何事的認(rèn)識(shí)都是通過(guò)感性認(rèn)識(shí)上升到理性認(rèn)識(shí)的,這次認(rèn)識(shí)實(shí)習(xí)應(yīng)該是一個(gè)鍛煉的好機(jī)會(huì)!
土木工程是建造各類工程設(shè)施的學(xué)科、技術(shù)和工程的總稱。它既指與與人類生活、生產(chǎn)活動(dòng)有關(guān)的各類工程設(shè)施,如建筑公程、公路與城市道路工程、鐵路工程、橋梁工程、隧道工程等,也指應(yīng)用材料、設(shè)備在土地上所進(jìn)行的勘測(cè)、設(shè)計(jì)、施工等工程技術(shù)活動(dòng)。
我應(yīng)該知道現(xiàn)在的我還不夠成熟,如果說(shuō)人生是一片海洋,那么我應(yīng)該在這片海洋里劈波斬浪,揚(yáng)帆遠(yuǎn)航而不是躲在避風(fēng)港里。只要經(jīng)歷多了,我就會(huì)成熟;我就會(huì)變強(qiáng)。我相信。那時(shí)的成功是領(lǐng)導(dǎo)、師傅們給我鼓勵(lì),是實(shí)習(xí)的經(jīng)歷給我力量,所以我感謝領(lǐng)導(dǎo)師傅還有我的好朋友們,也感謝學(xué)校給我這次實(shí)習(xí)的機(jī)會(huì)。 一年的實(shí)習(xí)生活中,緊張過(guò),努力過(guò),醒悟過(guò),開心過(guò)。這些從為有過(guò)的經(jīng)歷讓我進(jìn)步了,成長(zhǎng)了。學(xué)會(huì)了一些在學(xué)校從未學(xué)過(guò)以后也學(xué)不到的東西,也有很多的感悟。
短短一年時(shí)間,我收獲了誠(chéng)摯的友情,結(jié)識(shí)了和我一同來(lái)的實(shí)習(xí)生;我收獲了寶貴的經(jīng)驗(yàn),收獲了真正的成熟 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)2
通過(guò)本次課程設(shè)計(jì),對(duì)圖的概念有了一個(gè)新的認(rèn)識(shí),在學(xué)習(xí)離散數(shù)學(xué)的時(shí)候,總覺(jué)得圖是很抽象的東西,但是在學(xué)習(xí)了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會(huì)到了其中的奧妙,圖能夠在計(jì)算機(jī)中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說(shuō)權(quán)值、頂點(diǎn)個(gè)數(shù)等,這也就說(shuō)明了想要把生活中的信息轉(zhuǎn)化到計(jì)算機(jī)中必須用數(shù)字來(lái)完整的構(gòu)成一個(gè)信息庫(kù),而圖的存在,又涉及到了頂點(diǎn)之間的聯(lián)系。圖分為有向圖和無(wú)向圖,而無(wú)向圖又是有向圖在權(quán)值雙向相等下的一種特例,如何能在計(jì)算機(jī)中表示一個(gè)雙向權(quán)值不同的.圖,這就是一件很巧妙的事情,經(jīng)過(guò)了思考和老師同學(xué)的幫助,我用edges[i][j]=up和edges[j][i]=up就能實(shí)現(xiàn)了一個(gè)雙向圖信息的存儲(chǔ)。對(duì)整個(gè)程序而言,Dijkstra算法始終都是核心內(nèi)容,其實(shí)這個(gè)算法在實(shí)際思考中并不難,也許我們誰(shuí)都知道找一個(gè)路徑最短的方法,及從頂點(diǎn)一步一步找最近的路線并與其直接距離相比較,但是,在計(jì)算機(jī)中實(shí)現(xiàn)這么一個(gè)很簡(jiǎn)單的想法就需要涉及到很多專業(yè)知識(shí),為了完成設(shè)計(jì),在前期工作中,基本都是以學(xué)習(xí)C語(yǔ)言為主,所以浪費(fèi)了很多時(shí)間,比如說(shuō)在程序中,刪除頂點(diǎn)和增加頂點(diǎn)的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識(shí)點(diǎn),我沒(méi)有掌握好。不過(guò),有了這次課程設(shè)計(jì)的經(jīng)驗(yàn)和教訓(xùn),我能夠很清楚的對(duì)自己定一個(gè)合適的水平,而且在這次課程設(shè)計(jì)中我學(xué)會(huì)了運(yùn)用兩個(gè)新的函數(shù)sprintf()和包涵在#include頭文件中的輸入函數(shù)。因?yàn)檎n程設(shè)計(jì)的題目是求最短路徑,本來(lái)是想通過(guò)算法的實(shí)現(xiàn)把這個(gè)程序與交通情況相連,但是因?yàn)閬?lái)不及查找各地的信息,所以,這個(gè)計(jì)劃就沒(méi)有實(shí)現(xiàn),我相信在以后有更長(zhǎng)時(shí)間的情況下,我會(huì)做出來(lái)的。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 4
完成了這次的二元多項(xiàng)式加減運(yùn)算問(wèn)題的課程設(shè)計(jì)后,我的心得體會(huì)很多,細(xì)細(xì)梳理一下,有以下幾點(diǎn):
1、程序的編寫中的語(yǔ)法錯(cuò)誤及修改
因?yàn)槲以诮鉀Q二元多項(xiàng)式問(wèn)題中,使用了鏈表的方式建立的二元多項(xiàng)式,所以程序的空間是動(dòng)態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點(diǎn),所以使得程序得到簡(jiǎn)化。但是出現(xiàn)的語(yǔ)法問(wèn)題主要在于子函數(shù)和變量的定義,降序排序,關(guān)鍵字和函數(shù)名稱的書寫,以及一些庫(kù)函數(shù)的規(guī)范使用,這些問(wèn)題均可以根據(jù)編譯器的警告提示,對(duì)應(yīng)的將其解決。
2、程序的設(shè)計(jì)中的邏輯問(wèn)題及其調(diào)整
我在設(shè)計(jì)程序的過(guò)程中遇到許多問(wèn)題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時(shí)候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關(guān)鍵字的情況下,在一種關(guān)鍵字確定了順序以后,在第一關(guān)鍵字相同的時(shí)候,按某種順序?qū)Φ诙P(guān)鍵字進(jìn)行排序。在此程序中共涉及到3個(gè)量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關(guān)鍵字排是按x的指數(shù)和y的指數(shù)來(lái)看,由于要求是降冪排序且含有2個(gè)關(guān)鍵字,所以我先選擇x的指數(shù)作為第一關(guān)鍵字,先按x的降序來(lái)排序,當(dāng)x的指數(shù)相同時(shí),再以y為關(guān)鍵字,按照y的指數(shù)大小來(lái)進(jìn)行降序排列。
另外,我在加法函數(shù)的編寫過(guò)程中也遇到了大量的問(wèn)題,由于要同時(shí)比較多個(gè)關(guān)鍵字,而且設(shè)計(jì)中涉及了數(shù)組和鏈表的綜合運(yùn)用,導(dǎo)致反復(fù)修改了很長(zhǎng)的時(shí)間才完成了一個(gè)加法的設(shè)計(jì)。但是,現(xiàn)在仍然有一個(gè)問(wèn)題存在:若以0為系數(shù)的項(xiàng)是首項(xiàng)則顯示含有此項(xiàng),但是運(yùn)算后則自動(dòng)消除此項(xiàng),這樣是正確的。但是當(dāng)其不是首項(xiàng)的時(shí)候,加法函數(shù)在顯示的時(shí)候有0為系數(shù)的項(xiàng)時(shí),0前邊不顯示符號(hào),當(dāng)然,這樣也可以理解成當(dāng)系數(shù)為0時(shí),忽略這一項(xiàng)。這也是本程序中一個(gè)不完美的地方。
我在設(shè)計(jì)減法函數(shù)的時(shí)候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來(lái)仔細(xì)研究算法,后來(lái)發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過(guò)是將二元多項(xiàng)式B的所有項(xiàng)取負(fù)再用加法函數(shù)即可,可見算法的重要性不低于程序本身。
3、程序的調(diào)試中的經(jīng)驗(yàn)及體會(huì)
我在調(diào)試過(guò)程中,發(fā)生了許多小細(xì)節(jié)上的問(wèn)題,它們提醒了自己在以后編程的時(shí)候要注意細(xì)節(jié),即使是一個(gè)括號(hào)的遺漏或者一個(gè)字符的誤寫都會(huì)造成大量的錯(cuò)誤,浪費(fèi)許多時(shí)間去尋找并修改,總結(jié)的教訓(xùn)就是寫程序的時(shí)候,一定要仔細(xì)、認(rèn)真、專注。
我還有一個(gè)很深的.體會(huì)就是格式和注釋,由于平時(shí)不注意格式和注釋這方面的要求,導(dǎo)致有的時(shí)候在檢查和調(diào)試的時(shí)候很不方便。有的時(shí)候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時(shí)候也有不小心誤刪的情況出現(xiàn)。如果注意格式風(fēng)格,并且養(yǎng)成隨手加注釋的習(xí)慣,就能減少這些不必要的反復(fù)和波折。還有一點(diǎn),就是在修改的時(shí)候,要注意修改前后的不同點(diǎn)在哪里,改后調(diào)試結(jié)果要在原有的基礎(chǔ)上更加精確。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 5
本次課程設(shè)計(jì)所用到的知識(shí)完全是上學(xué)期的知識(shí),通過(guò)這次課程設(shè)計(jì),我認(rèn)識(shí)到了我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課的掌握程度。
首先我這個(gè)課程設(shè)計(jì)是關(guān)于二叉樹的,由于是剛接觸二叉樹,所以我掌握的長(zhǎng)度并不深。在編程之前我把有關(guān)于二叉樹的知識(shí)有溫習(xí)了一遍,還好并沒(méi)有忘掉。二叉樹這章節(jié)難度中上等,而且內(nèi)容廣泛,所以我只掌握了百分之六七十。
然后,在編程中我認(rèn)識(shí)到了自己動(dòng)手能力的不足,雖然相比較大二而言進(jìn)步很大,但是我還是不滿意,有的在編程中必須看書才能寫出來(lái),有的靠百度,很少是自己寫的。還好,我自己組裝程序的能力還行,要不這東拼西湊的程序根本組裝不了。在編程中我還認(rèn)識(shí)到了,編程不能停下,如果編程的時(shí)間少了,知識(shí)忘的會(huì)很快,而且動(dòng)手也會(huì)很慢。同時(shí),同學(xué)之間的合作也很重要,每個(gè)人掌握的知識(shí)都不一樣,而且掌握程度也不一樣,你不會(huì)的別的同學(xué)會(huì),所以在大家的共同努力下,編程會(huì)變得很容易。在這次編程中,我了解到了自己某些方面的不足,比如說(shuō)鏈表的知識(shí),雖然我能做一些有關(guān)于鏈表的編程,但是很慢,沒(méi)有別人編程的快,另外,二叉樹和圖的知識(shí)最不好掌握,這方面的知識(shí)廣泛而復(fù)雜。以前,沒(méi)動(dòng)手編程的時(shí)候覺(jué)得這些知識(shí)很容易,現(xiàn)在編程了才發(fā)現(xiàn)自己錯(cuò)了,大錯(cuò)特錯(cuò)了,我們這個(gè)專業(yè)最重視的就是動(dòng)手編程能力,如果我們紙上寫作能力很強(qiáng)而動(dòng)手編程能力很差,那我們就白上這個(gè)專業(yè)了。計(jì)算機(jī)這個(gè)專業(yè)就是鍛煉動(dòng)手編程能力的,一個(gè)人的理論知識(shí)再好,沒(méi)有動(dòng)手編程能力,那他只是一個(gè)計(jì)算機(jī)專業(yè)的“入門者”。在編程中我們能找到滿足,如果我們自己編程了一個(gè)程序,我們會(huì)感到自豪,而且充實(shí),因?yàn)槿绻覀儗Q幸粋(gè)難得程序,我們會(huì)達(dá)到忘我的境界,自己完全沉浸在編程的那種樂(lè)趣之中,完全會(huì)廢寢忘食。編程雖然會(huì)乏味很無(wú)聊,但是只要我們沉浸其中,你就會(huì)發(fā)現(xiàn)里面的樂(lè)趣,遇到難得,你會(huì)勇往直前,不寫出來(lái)永不罷休;遇到容易的,你會(huì)找到樂(lè)趣。編程是很乏味,但是那是因?yàn)槟銢](méi)找到編程重的樂(lè)趣,你只看到了他的.不好,而沒(méi)有看到他的好。其實(shí),只要你找到編程中得樂(lè)趣,你就會(huì)完全喜歡上他,不編程還好,一編程你就會(huì)變成一個(gè)兩耳不聞窗外事的“植物人”。可以說(shuō)只要你涉及到了計(jì)算機(jī),你就的會(huì)編程,而且還要喜歡上他,永遠(yuǎn)和他打交道,我相信在某一天,我們一定會(huì)把他當(dāng)作我們不可或缺的好朋友。
最后我要談的是長(zhǎng)時(shí)間編程的好處,俗話說(shuō)“熟能生巧”,確實(shí)是這樣。如果我們長(zhǎng)時(shí)間不編程,在一接觸他,我們會(huì)感到很陌生。有規(guī)律的編程會(huì)提高我們的動(dòng)手能力,我們的思維,也會(huì)讓我們變得很細(xì)心。在一個(gè)幾千行的程序中,我們都能找到錯(cuò)誤,那我們還會(huì)怕其他的錯(cuò)誤嗎?可以說(shuō)編程是我們?cè)谖覀冞@一行業(yè)的一把利劍,如果我們能很好的利用它,我們就會(huì)成為這個(gè)行業(yè)的真正成功者。也許你會(huì)說(shuō)就算變成好了也不一定成功,是的,但是你不會(huì)編程就一定不會(huì)成功。如果,我們想成為這個(gè)專業(yè)的成功者,我們就得愛(ài)上編程,不管他是怎么得乏味,怎么得無(wú)聊,我們都不能丟掉他。
總之,動(dòng)手編程就是鍛煉我們的動(dòng)手能力,當(dāng)然這個(gè)動(dòng)手能力并不是科研上的動(dòng)手能力,而是我們的動(dòng)手編程能力,記住,只要你真正的喜歡上他,你就會(huì)發(fā)現(xiàn)其中的樂(lè)趣,我相信,只要你堅(jiān)持下去,你一定會(huì)喜歡上他,把編程當(dāng)作自己日常生活中一件必須做的事情。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 6
本學(xué)期開設(shè)的《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》課程已經(jīng)告一段落,現(xiàn)就學(xué)習(xí)體會(huì)進(jìn)行學(xué)習(xí)總結(jié)。
這是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來(lái)說(shuō),無(wú)疑是一個(gè)具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來(lái),仔細(xì)去寫程序。老師會(huì)給我們需要編程的內(nèi)容一些講解,順著老師的思路,來(lái)完成自己的設(shè)計(jì),我們可以開始運(yùn)行自己的'程序。
這門課結(jié)束之后,我總結(jié)了學(xué)習(xí)中遇到的一些問(wèn)題,最為突出的,書本上的知識(shí)與老師的講解都比較容易理解,但是當(dāng)自己采用剛學(xué)的知識(shí)點(diǎn)編寫程序時(shí)卻感到十分棘手,有時(shí)表現(xiàn)在想不到適合題意的算法,有時(shí)表現(xiàn)在算法想出來(lái)后,只能將書本上原有的程序段謄寫到自己的程序中再加以必要的連接以完成程序的編寫。剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上上機(jī)課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來(lái)說(shuō),無(wú)疑是一個(gè)具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來(lái),仔細(xì)去寫程序。老師會(huì)給我們需要編程的內(nèi)容一些講解,順著老師的思路,來(lái)完成自己的設(shè)計(jì),我們可以開始運(yùn)行自己的程序,可是好多處的錯(cuò)誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯(cuò)誤,但是程序還是得繼續(xù)下去,我多次請(qǐng)教了老師和同學(xué),逐漸能自己找出錯(cuò)誤,并加以改正。TC里檢查錯(cuò)誤都是用英文來(lái)顯示出來(lái)的,經(jīng)過(guò)了這次課程設(shè)計(jì),現(xiàn)在已經(jīng)可以了解很多錯(cuò)誤在英文里的提示,這對(duì)我來(lái)說(shuō)是一個(gè)突破性的進(jìn)步,眼看著一個(gè)個(gè)錯(cuò)誤通過(guò)自己的努力在我眼前消失,覺(jué)得很是開心。此次的程序設(shè)計(jì)能夠成功,是我和我的同學(xué)三個(gè)人共同努力作用的結(jié)果。在這一段努力學(xué)習(xí)的過(guò)程中,我們的編程設(shè)計(jì)有了明顯的提高。
其實(shí)現(xiàn)在想起來(lái),收獲還真是不少,雖然說(shuō)以前非常不懂這門語(yǔ)言,在它上面花費(fèi)了好多心血,覺(jué)得它很難,是需用花費(fèi)了大量的時(shí)間編寫出來(lái)的。現(xiàn)在真正的明白了一些代碼的應(yīng)用,每個(gè)程序都有一些共同點(diǎn),通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習(xí),就會(huì)靈活的去應(yīng)用它。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 7
做了一個(gè)星期的程序設(shè)計(jì)終于做完了,在這次程序設(shè)計(jì)課中,真是讓我獲益匪淺,我突然發(fā)現(xiàn)寫程序還挺有意思的。
由于上學(xué)期的C語(yǔ)言跟這學(xué)期的數(shù)據(jù)結(jié)構(gòu)都算不上真正的懂,對(duì)于書上的稍微難點(diǎn)的知識(shí)就是是而非的,所以我只是對(duì)老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當(dāng)我第一天坐在那里的時(shí)候,我就不知道該做些什么,后來(lái)我只有下來(lái)自己看了一遍書來(lái)熟悉下以前學(xué)過(guò)的知識(shí)。
通過(guò)這次的程序設(shè)計(jì),發(fā)現(xiàn)一個(gè)程序設(shè)計(jì)就是算法與數(shù)據(jù)結(jié)構(gòu)的結(jié)合體,自己也開始對(duì)程序產(chǎn)生了前所未有的興趣,以前偷工減料的學(xué)習(xí)也不可能一下子寫出一個(gè)程序出來(lái),于是我就認(rèn)真看老師寫的程序,發(fā)現(xiàn)我們看懂了一個(gè)程序其實(shí)不難,難的是對(duì)于一個(gè)程序的思想的理解,我們要掌握一個(gè)算法,不僅僅限于讀懂,主要的是要理解老師的思路,學(xué)習(xí)老師的解決問(wèn)題的.方法。
這次試驗(yàn)中,我發(fā)現(xiàn)書本上的知識(shí)是一個(gè)基礎(chǔ),但是我基礎(chǔ)都沒(méi)掌握,更別說(shuō)寫出一個(gè)整整的程序了。自己在寫程序的時(shí)候,也發(fā)現(xiàn)自己的知識(shí)太少了,特別是基礎(chǔ)知識(shí)很多都是模模糊糊的一個(gè)概念,沒(méi)有落實(shí)到真正的程序,所以自己寫的時(shí)候也感到萬(wàn)分痛苦,基本上涉及一個(gè)知識(shí)我就會(huì)去看看書,對(duì)于書本上的知識(shí)沒(méi)掌握好。在飯后閑暇時(shí)間我也總結(jié)了一下,自己以前上課也認(rèn)真的聽了,但是還是寫不出來(lái),這主要?dú)w結(jié)于自己的練習(xí)太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現(xiàn)了很多的問(wèn)題,不斷的修改就是不斷的學(xué)習(xí)過(guò)程,當(dāng)我們?nèi)硇牡耐度肫渲袝r(shí),實(shí)際上是一件很有樂(lè)趣的事情。
對(duì)于以后的學(xué)習(xí)有了幾點(diǎn)總結(jié):
第一、熟記各種數(shù)據(jù)結(jié)構(gòu)類型,定義、特點(diǎn)、基本運(yùn)算(分開點(diǎn)一點(diǎn)也沒(méi)多少東西,難度不大,但是基本);
第二、各種常用的排序算法,如冒泡排序、堆排序……這些是必考的內(nèi)容,分?jǐn)?shù)不會(huì)少于20%;
第三,多做習(xí)題,看題型,針對(duì)題型來(lái)有選擇復(fù)習(xí);
數(shù)據(jù)結(jié)構(gòu)看上去很復(fù)雜,但你靜下心來(lái)把書掃上幾遍,分解各個(gè)知識(shí)點(diǎn),這一下來(lái),學(xué)數(shù)據(jù)結(jié)構(gòu)的思路就會(huì)很清晰了。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 8
通過(guò)這次課程設(shè)計(jì)使我進(jìn)一步達(dá)到理論與實(shí)際相結(jié)合,提高了自己組織數(shù)據(jù)及編寫程序的能力,使我們能夠根據(jù)問(wèn)題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái)并用軟件解決問(wèn)題,培養(yǎng)良好的程序設(shè)計(jì)技能,掌握設(shè)計(jì)程序的思路,學(xué)會(huì)用計(jì)算機(jī)語(yǔ)言編寫程序,以實(shí)現(xiàn)所需處理的任務(wù),鍛煉自己的動(dòng)腦能力,學(xué)會(huì)用自己的思路解決現(xiàn)實(shí)中的實(shí)際問(wèn)題,雖然一開始也走了一些彎路不過(guò)在同學(xué)和老師的點(diǎn)撥下完成了該程序,這次課程設(shè)計(jì)中遇到了很多問(wèn)題,一開始準(zhǔn)備用二維數(shù)組存放的可考慮到同一個(gè)學(xué)校同一個(gè)項(xiàng)目有好幾個(gè)人參加,就不能用二維數(shù)組了,如果每個(gè)學(xué)校都申請(qǐng)一個(gè)二維數(shù)組也非常不方便,還是用順序表方便也不浪費(fèi)空間,在這次課程設(shè)計(jì)的過(guò)程中雖然很多次都參照了課本及資料,不過(guò)這使我更加熟悉了順序表以及結(jié)構(gòu)體的定義及實(shí)現(xiàn),調(diào)試過(guò)程中也遇到了一些問(wèn)題也都是自己獨(dú)立思考完成的,還有一個(gè)體會(huì)是,遇到不會(huì)的地方可以參考課本也可以去圖書館或網(wǎng)上查資料,當(dāng)然主要思路有了也就簡(jiǎn)單點(diǎn)了。
在老師的答辯指指導(dǎo)下,程序數(shù)組那塊程序的書寫老師問(wèn)我為什么是那樣的,當(dāng)時(shí)寫這塊程序的時(shí)候是看書上數(shù)組那塊程序再加上自己的主觀想法覺(jué)得就是這樣寫的,雖然這塊程序當(dāng)時(shí)那種主觀想法是寫對(duì)了,但是經(jīng)過(guò)老師的答辯提問(wèn)才知道雖然是寫對(duì)了,但是這種思考和想法是錯(cuò)誤不科學(xué)的,真正的是因?yàn)榈?次循環(huán)是因?yàn)榈谝淮吾尫帕艘粋(gè)。所以通過(guò)這次課程設(shè)計(jì)讓我懂得了一個(gè)很重要的.道理,就是以后如果哪地方有一點(diǎn)迷惑,有一點(diǎn)不懂的地方不能憑自己主觀的思考和想法覺(jué)得應(yīng)該是這樣的,一定要找老師問(wèn)清楚為什么是這樣的,一定要把每步每個(gè)小程序都要搞的十分的清楚,這真是個(gè)很好的收獲。還有就是這個(gè)程序的男女問(wèn)題上,開始準(zhǔn)備在結(jié)構(gòu)體中加一個(gè)sex的點(diǎn),大使那樣對(duì)與男女項(xiàng)目還是有點(diǎn)麻煩,后來(lái)在同學(xué)的提醒下,通過(guò)參賽項(xiàng)目號(hào)就可以解決了,比m大就是女子項(xiàng)目,比m小或者等于m就是男子項(xiàng)目。這樣就可以很完美地解決這個(gè)問(wèn)題了。
其實(shí),當(dāng)你實(shí)驗(yàn)遇到問(wèn)題時(shí),自己會(huì)通過(guò)很多途徑去解決它,沒(méi)有解決時(shí),心急如焚,解決之后的那種快感是前所未有的,這也許就是付出了行動(dòng)之后的收獲吧!
這也教會(huì)了我們以后在社會(huì)上,遇見了事情不可怕,只要不被困難擊倒,解決了它,那樣我們就是勝利的!
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 9
通過(guò)兩周的課程設(shè)計(jì),完成了預(yù)定的目標(biāo),其中有很多的隨想。老師的題目發(fā)下來(lái)的很早,大概提前了3周,當(dāng)時(shí)就著手搜索有關(guān)線索二叉樹的思想,思路,借了一本《數(shù)據(jù)結(jié)構(gòu)-c語(yǔ)言描述》,在大體上就有了一個(gè)輪廓,先是輸入二叉樹,在對(duì)二叉樹進(jìn)行線索化,依次往下,但在具體實(shí)現(xiàn)時(shí),遇到了很多問(wèn)題:首先是思想的確定,其非常重要,以前有了這個(gè)想法,現(xiàn)在愈加清晰起來(lái),因此,花了大量的時(shí)間在插入刪除的'具體操作設(shè)計(jì)上,大概三個(gè)晚上的時(shí)間,對(duì)其中什么不清晰明確之處均加以推敲,效果是顯著的,在上機(jī)上相應(yīng)的節(jié)約了時(shí)間。
通過(guò)具體的實(shí)驗(yàn)編碼,思路是對(duì)的,但是在小問(wèn)題上摔了一次又一次,大部分時(shí)間都是花在這方面,這個(gè)節(jié)點(diǎn)沒(méi)傳過(guò)來(lái)啊之類的,以后應(yīng)該搞一個(gè)小冊(cè)子,記錄一些錯(cuò)誤的集合,以避免再犯,思想與C語(yǔ)言聯(lián)系起來(lái),才是我們所需要的,即常說(shuō)的理論與實(shí)踐的關(guān)系。
數(shù)據(jù)結(jié)構(gòu)是基礎(chǔ)的一門課,對(duì)于有過(guò)編程經(jīng)驗(yàn)的人,結(jié)合自己的編程體會(huì)去悟它的思想;而且我覺(jué)得隨著編程經(jīng)歷的豐富對(duì)它的體會(huì)越深入,最初接觸是對(duì)一些思想可能只是生硬的記憶,隨著學(xué)習(xí)的深入逐漸領(lǐng)悟了很多。看了這次課程設(shè)計(jì)的題目,雖然具體要求沒(méi)有看清,但是總結(jié)一下,可以看出,其需要我們能把一個(gè)具體案例或一件事情反映為程序來(lái)表達(dá),數(shù)據(jù)結(jié)構(gòu)就是橋梁,通過(guò)自己的設(shè)計(jì),使應(yīng)用能力得以融匯,對(duì)與問(wèn)題,具有了初步的分析,繼而解決之的能力,感覺(jué)對(duì)以后的學(xué)習(xí)會(huì)有很大的幫助,學(xué)習(xí)無(wú)非是用于實(shí)踐。
認(rèn)識(shí)到自己的不足,希望能有進(jìn)一步的發(fā)展。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 10
“數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實(shí)驗(yàn)課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫程序的能力,使學(xué)生能夠根據(jù)問(wèn)題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái)并用軟件解決問(wèn)題,培養(yǎng)良好的程序設(shè)計(jì)技能。
當(dāng)初拿到這次課程設(shè)計(jì)題目時(shí),似乎無(wú)從下手,但是經(jīng)過(guò)分析可知,對(duì)于簡(jiǎn)單文本編輯器來(lái)說(shuō)功能有限,不外乎創(chuàng)作文本、顯示文本、統(tǒng)計(jì)文本中字母—數(shù)字—空格—特殊字符—文本總字?jǐn)?shù)、查找、刪除及插入這幾項(xiàng)功能。于是,我進(jìn)行分模塊進(jìn)行編寫程序。雖然每個(gè)模塊程序并不大,但是每個(gè)模塊都要經(jīng)過(guò)一番思考才能搞清其算法思想,只要有了算法思想,再加上C程序語(yǔ)言基礎(chǔ),基本完成功能,但是,每個(gè)模塊不可能一次完成而沒(méi)有一點(diǎn)錯(cuò)誤,所以,我給自己定了一個(gè)初級(jí)目標(biāo):用C語(yǔ)言大體描述每個(gè)算法,然后經(jīng)調(diào)試后改掉其中明顯的.錯(cuò)誤,并且根據(jù)調(diào)試結(jié)果改正一些算法錯(cuò)誤,當(dāng)然,這一目標(biāo)實(shí)現(xiàn)較難。最后,經(jīng)過(guò)反復(fù)思考,看一下程序是否很完善,如果能夠達(dá)到更完善當(dāng)然最好。并非我們最初想到的算法就是最好的算法,所以,有事我們會(huì)而不得不在編寫途中終止換用其他算法,但是,我認(rèn)為這不是浪費(fèi)時(shí)間,而是一種認(rèn)識(shí)過(guò)程,在編寫程序中遇到的問(wèn)題會(huì)為我們以后編寫程序積累經(jīng)驗(yàn),避免再犯同樣的錯(cuò)誤。但是,有的方法不適用于這個(gè)程序,或許會(huì)適用于另外一個(gè)程序。所以,探索的過(guò)程是成長(zhǎng)的過(guò)程,是為成功做的鋪墊。經(jīng)過(guò)努力后獲得成功,會(huì)更有成就感。
在課程設(shè)計(jì)過(guò)程中通過(guò)獨(dú)立解決問(wèn)題,首先分析設(shè)計(jì)題目中涉及到的數(shù)據(jù)類型,在我們學(xué)習(xí)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中不外乎線性存儲(chǔ)結(jié)構(gòu)及非線性存儲(chǔ)結(jié)構(gòu),非線性存儲(chǔ)結(jié)構(gòu)中有樹型,集合型,圖型等存儲(chǔ)結(jié)構(gòu),根據(jù)數(shù)據(jù)類型設(shè)計(jì)數(shù)據(jù)結(jié)點(diǎn)類型。然后根據(jù)設(shè)計(jì)題目的主要任務(wù),設(shè)計(jì)出程序大體輪廓(包括子函數(shù)和主函數(shù)),然后對(duì)每個(gè)子函數(shù)進(jìn)行大體設(shè)計(jì),過(guò)程中錯(cuò)誤在所難免,所以要經(jīng)過(guò)仔細(xì)探索,對(duì)每個(gè)函數(shù)進(jìn)行改進(jìn)。
程序基本完成后,功能雖然齊全,但是程序是否完善(例如,輸入數(shù)據(jù)時(shí)是否在其范圍之內(nèi),所以加入判斷語(yǔ)句是很有必要的)還需運(yùn)行測(cè)試多次,如有發(fā)現(xiàn)應(yīng)該對(duì)其進(jìn)行改善,當(dāng)然要在力所能及的前提下。
課程設(shè)計(jì)過(guò)程雖然短暫,但是使我深刻理解數(shù)據(jù)結(jié)構(gòu)和算法課程對(duì)編程的重要作用,還有“數(shù)據(jù)結(jié)構(gòu)與算法”還提供了一些常用的基本算法思想及算法的編寫程序。通過(guò)獨(dú)立完成設(shè)計(jì)題目,使我系統(tǒng)了解編程的基本步驟,提高分析和解決實(shí)際問(wèn)題的能力。通過(guò)實(shí)踐積累經(jīng)驗(yàn),才能有所創(chuàng)新。正所謂,良好的基礎(chǔ)決定上層建筑。只有基本功做好了,才有可能做出更好的成果。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 11
數(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)。
一般認(rèn)為,一個(gè)數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來(lái)的。對(duì)數(shù)據(jù)元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須在計(jì)算機(jī)中存儲(chǔ),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)形式,是其在計(jì)算機(jī)內(nèi)的表示;此外討論一個(gè)數(shù)據(jù)結(jié)構(gòu)必須同時(shí)討論在該類數(shù)據(jù)結(jié)構(gòu)上執(zhí)行的運(yùn)算才有意義。一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率。
在許多類型的程序的設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)的選擇是一個(gè)基本的設(shè)計(jì)考慮因素。許多大型系統(tǒng)的構(gòu)造經(jīng)驗(yàn)表明,系統(tǒng)實(shí)現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時(shí)候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。有些時(shí)候事情也會(huì)反過(guò)來(lái),我們根據(jù)特定的算法來(lái)選擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。
從上面我們了解到了數(shù)據(jù)結(jié)構(gòu)的重要性,它是一個(gè)程序的關(guān)鍵因素。拿到“陰風(fēng)習(xí)習(xí)的大樓”這個(gè)題目時(shí),一開始不知道從哪入手,以為可以把每個(gè)位置看成一個(gè)圖的一個(gè)節(jié)點(diǎn),從而可以用鄰接表這種結(jié)構(gòu),通過(guò)遍歷鄰接表,每次選擇權(quán)值小的路徑走就可以得到最短的路徑了。我錯(cuò)了,完全的錯(cuò)了。通過(guò)認(rèn)真的分析后,我認(rèn)識(shí)到,這能簡(jiǎn)單的看成一個(gè)圖,因?yàn)槊總(gè)位置都只能到達(dá)它鄰接的`位置而不是和其他各位置都有聯(lián)系。而且如果每個(gè)位置轉(zhuǎn)化為圖的一個(gè)節(jié)點(diǎn),這樣要表示每個(gè)節(jié)點(diǎn)的關(guān)系就需要n*n節(jié)點(diǎn)和n^4大小的數(shù)組來(lái)存儲(chǔ)各個(gè)點(diǎn)的關(guān)系。還有這個(gè)大樓結(jié)構(gòu)想轉(zhuǎn)化為一個(gè)圖也是不容易的。根據(jù)書上有些類似的“老鼠迷宮問(wèn)題”,讓我想打,不如就用n*n大小的數(shù)組直接存儲(chǔ)大樓結(jié)構(gòu)。通過(guò)類似走迷宮的方法來(lái)遍歷,當(dāng)遍歷完所有路徑后就能得到一個(gè)最小的路徑。那接下來(lái)怎樣遍歷呢?我采用了深度優(yōu)先遍歷的方法,這樣可以用遞歸的方法,簡(jiǎn)化代碼。雖然理解上有一定困難,而且遞歸條件的控制要注意。
通過(guò)這次數(shù)據(jù)結(jié)構(gòu)程序設(shè)計(jì),不僅讓我對(duì)c語(yǔ)言的一些知識(shí)得到了回顧,加深了對(duì)c語(yǔ)言的掌握。同時(shí)也讓我對(duì)數(shù)據(jù)結(jié)構(gòu)知識(shí)得到了一定的掌握。知道了怎么去分析一個(gè)題目,怎樣選擇比較好的數(shù)據(jù)結(jié)構(gòu)。讓我從怎么樣實(shí)現(xiàn)一個(gè)程序功能,轉(zhuǎn)變到怎么用更少的空間,更短的時(shí)間完成程序設(shè)計(jì)。空間和時(shí)間上對(duì)程序的優(yōu)化是評(píng)價(jià)一個(gè)程序好壞的關(guān)鍵標(biāo)準(zhǔn)。
通過(guò)這次數(shù)據(jù)結(jié)構(gòu)的程序設(shè)計(jì)也讓我懂得了怎么樣去設(shè)計(jì)一個(gè)程序。從問(wèn)題分析中找出程序所要解決的關(guān)鍵問(wèn)題和數(shù)據(jù)結(jié)構(gòu)的選擇;在概要設(shè)計(jì)中完成程序的大體輪廓;在詳細(xì)設(shè)計(jì)中解決關(guān)鍵問(wèn)題的算法和設(shè)計(jì);在調(diào)試分析中完成程序最終的修補(bǔ)。這樣一個(gè)比較好的程序就設(shè)計(jì)出來(lái)了。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 12
知己知彼百戰(zhàn)不殆,考研復(fù)習(xí)也要對(duì)復(fù)習(xí)科目的特點(diǎn)有針對(duì)性的復(fù)習(xí)。技術(shù)層面分析是知彼,心里層面分析是知己。
技術(shù)層面分析:
數(shù)據(jù)結(jié)構(gòu)從難度上分4個(gè)層次:
1)基本概念,基本算法的思想,基本算法的操作執(zhí)行步驟。
2)基本數(shù)據(jù)類型定義的算法,基于數(shù)據(jù)結(jié)構(gòu)類型的常見操作算法如:遍歷,插入,刪除等。相關(guān)算法數(shù)學(xué)復(fù)雜度的計(jì)算,例如:求順序進(jìn)棧的出棧順序數(shù)。
3)程序偽代碼算法,查找,排序,相關(guān)算法,還有經(jīng)典算法如 prim,dijkstra ,floyd等經(jīng)典算法,貪心算法,kmp等。還有相關(guān)算法復(fù)雜度計(jì)算。
4)給出現(xiàn)實(shí)世界的一些問(wèn)題,要求使用數(shù)據(jù)結(jié)構(gòu)相關(guān)算法解決。這個(gè)難度是比較大的,通常在北大的考研題中出現(xiàn)。例如:有1000個(gè)蘋果和10個(gè)箱子,問(wèn):如何將蘋果放到箱子里就可以讓別人拿走箱子就得到他想要的蘋果數(shù)。現(xiàn)在統(tǒng)考應(yīng)該不會(huì)太難。
心里層面分析:
1)數(shù)據(jù)結(jié)構(gòu)內(nèi)容抽象,不好掌握。(跨專業(yè)考生瓶頸)
2)知識(shí)點(diǎn)都會(huì)了,不會(huì)做題尤其是算法寫不出來(lái)。(本專業(yè)考生瓶頸)
3)知識(shí)點(diǎn)都差不多,容易混淆,比如:二叉樹,平衡二叉樹,二叉排序樹等。
4)復(fù)習(xí)好多遍了,還是對(duì)著一本書復(fù)習(xí),很郁悶。
下面探討一下復(fù)習(xí)方法:
分輪次復(fù)習(xí)結(jié)合技術(shù)難度層次。
1)現(xiàn)在復(fù)習(xí)可以準(zhǔn)備一個(gè)專門的數(shù)據(jù)結(jié)構(gòu)的筆記。將書中的知識(shí)點(diǎn)梳理成為一個(gè)自己的綱要。復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)的宗旨:按照邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的組合來(lái)復(fù)習(xí)。比如邏輯結(jié)構(gòu)有:線性表,樹,圖,那么我們組合一下存儲(chǔ)結(jié)構(gòu)都有什么:順序結(jié)構(gòu)的線性表=順序表,鏈?zhǔn)骄性表=鏈表(細(xì)分為:?jiǎn)捂湵恚p向鏈表)等。以這樣的結(jié)構(gòu)組合作為復(fù)習(xí)的綱要和主線,復(fù)習(xí)起來(lái)就明朗了。
2)第一輪復(fù)習(xí),針對(duì)第一層次技術(shù)難度。弄清概念,算法執(zhí)行操作,術(shù)語(yǔ),注明容易混淆的概念,比如復(fù)習(xí)到排序,出現(xiàn)二叉排序樹,那么在前面的二叉樹的筆記當(dāng)中記錄一下區(qū)別。第一輪復(fù)習(xí)解決不了第三,四層次的難度。所以不要在心里上產(chǎn)生恐懼,在筆記上標(biāo)注不會(huì),沒(méi)看懂。
3)第二輪復(fù)習(xí),仍然使用第一輪的筆記,在其上增加筆記,請(qǐng)教同學(xué)老師,或有針對(duì)性的聽輔導(dǎo)班。有針對(duì)性的'練習(xí)算法代碼的編寫,尤其是經(jīng)典算法,記住相應(yīng)的算法中相關(guān)變量和變量使用含義,這樣更容易寫出代碼。
4)總結(jié)算法的功能總結(jié)一張功能算法對(duì)照表來(lái)應(yīng)付第四技術(shù)難度。
5)從心理學(xué)上看,總結(jié)自己的筆記資料無(wú)論從筆跡很思路都是最親切,最自信的,最容易被自己接受的。而且,每一次復(fù)習(xí)的工作量是遞減的,因?yàn)閺?fù)習(xí)的內(nèi)容越來(lái)越熟練,最后考試前2個(gè)小時(shí)可以看筆記復(fù)習(xí)一科。
最后,信心和毅力是考研戰(zhàn)略成功的根本,如果目前沒(méi)有好的工作或創(chuàng)業(yè)思路,考研是最好的出路,那就努力奮斗吧。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 13
這次課程設(shè)計(jì)的心得體會(huì)通過(guò)實(shí)習(xí)我的收獲如下
1、鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。
2、培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問(wèn)題、解決問(wèn)題的能力。
3、通過(guò)實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。
4、通過(guò)課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。從剛開始得覺(jué)得很難,到最后把這個(gè)做出來(lái),付出了很多,也得到了很多,以前總以為自己對(duì)編程的地方還不行,現(xiàn)在,才發(fā)現(xiàn)只要認(rèn)真做,沒(méi)有什么不可能。
編程時(shí)要認(rèn)真仔細(xì),出現(xiàn)錯(cuò)誤要及時(shí)找出并改正,(其中對(duì)英語(yǔ)的要求也體現(xiàn)出來(lái)了,因?yàn)樗f(shuō)明錯(cuò)誤的時(shí)候都是英語(yǔ))遇到問(wèn)題要去查相關(guān)的資料。反復(fù)的調(diào)試程序,最好是多找?guī)讉(gè)同學(xué)來(lái)對(duì)你的程序進(jìn)行調(diào)試并聽其對(duì)你的程序的建議,在他們不知道程序怎么寫的時(shí)候完全以一個(gè)用戶的身份來(lái)用對(duì)你的用戶界面做一些建議,正所謂當(dāng)局者迷旁觀者清,把各個(gè)注意的問(wèn)題要想到;同時(shí)要形成自己的編寫程序與調(diào)試程序的風(fēng)格,從每個(gè)細(xì)節(jié)出發(fā),不放過(guò)每個(gè)知識(shí)點(diǎn),注意與理論的聯(lián)系和理論與實(shí)踐的差別。另外,要注意符號(hào)的使用,注意對(duì)字符處理,特別是對(duì)指針的使用很容易出錯(cuò)且調(diào)試過(guò)程是不會(huì)報(bào)錯(cuò)的,那么我們要始終注意指針的初始化不管它怎么用以免不必要麻煩。
通過(guò)近兩周的學(xué)習(xí)與實(shí)踐,體驗(yàn)了一下離開課堂的學(xué)習(xí),也可以理解為一次實(shí)踐與理論的很好的連接。特別是本組所做的題目都是課堂上所講的例子,在實(shí)行之的過(guò)程中并不是那么容易事讓人有一種紙上談兵的體會(huì),正所謂紙上得來(lái)終覺(jué)淺絕知此事要躬行。實(shí)訓(xùn)過(guò)程中讓我們對(duì)懂得的知識(shí)做了進(jìn)一步深入了解,讓我們的理解與記憶更深刻,對(duì)不懂的知識(shí)與不清楚的東西也做了一定的了解,也形成了一定的個(gè)人做事風(fēng)格。
通過(guò)這次課程設(shè)計(jì),讓我對(duì)一個(gè)程序的數(shù)據(jù)結(jié)構(gòu)有更全面更進(jìn)一步的認(rèn)識(shí),根據(jù)不同的需求,采用不同的`數(shù)據(jù)存儲(chǔ)方式,不一定要用棧,二叉樹等高級(jí)類型,有時(shí)用基本的一維數(shù)組,只要運(yùn)用得當(dāng),也能達(dá)到相同的效果,甚至更佳,就如這次的課程設(shè)計(jì),通過(guò)用for的多重循環(huán),舍棄多余的循環(huán),提高了程序的運(yùn)行效率。在編寫這個(gè)程序的過(guò)程中,我復(fù)習(xí)了之前學(xué)的基本語(yǔ)法,哈弗曼樹最小路徑的求取,哈弗曼編碼及譯碼的應(yīng)用范圍,程序結(jié)構(gòu)算法等一系列的問(wèn)題它使我對(duì)數(shù)據(jù)結(jié)構(gòu)改變了看法。在這次設(shè)計(jì)過(guò)程中,體現(xiàn)出自己?jiǎn)为?dú)設(shè)計(jì)模具的能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,也從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 14
通訊錄管理系統(tǒng)是基于雙向循環(huán)鏈表設(shè)計(jì)而成的信息管理系統(tǒng)。該系統(tǒng)通過(guò)對(duì)程序進(jìn)行模塊化,建立添加、顯示、查找和刪除功能的函數(shù),各函數(shù)中運(yùn)用雙向循環(huán)鏈表存儲(chǔ)數(shù)據(jù)。為存儲(chǔ)通訊錄信息,需定義一個(gè)結(jié)構(gòu)體類型,成員包括姓名、街道、城市、郵編、國(guó)家等,并建立雙向循環(huán)鏈表,定義該結(jié)構(gòu)體類型的指針,用于指向各結(jié)點(diǎn)。分別建立具有添加、刪除、修改、查詢等功能的子函數(shù),完成相應(yīng)功能,對(duì)程序?qū)崿F(xiàn)模塊化。這其中要用到對(duì)鏈表的刪除、插入等知識(shí)。為實(shí)現(xiàn)存儲(chǔ)功能,需用到文件的相關(guān)函數(shù)
開發(fā)一個(gè)通訊錄管理系統(tǒng),借助計(jì)算機(jī)可以方便、快捷、靈活的管理個(gè)人的朋友及相關(guān)人員的通訊信息,了解友人相關(guān)信息,幫助與友人保持聯(lián)絡(luò)。所以設(shè)計(jì)一個(gè)通訊錄管理系統(tǒng)管理各人的通訊信息是非常必要的,同時(shí),通過(guò)用循環(huán)雙向鏈表設(shè)計(jì)通訊錄管理系統(tǒng)可以讓我們更好的去理解循環(huán)雙向鏈表,更好的學(xué)好數(shù)據(jù)結(jié)構(gòu)這門課程。
本次實(shí)驗(yàn)中,我們使用分工合作的方式,首先定義了函數(shù)的結(jié)構(gòu)體部分,剩下的根據(jù)函數(shù)所要實(shí)現(xiàn)的功能進(jìn)行分工合作,我實(shí)現(xiàn)的是通訊錄中刪除功能的子函數(shù),刪除信息的功能是按照用戶輸入的'姓名首先進(jìn)行按姓名查詢功能,查找成功,則執(zhí)行刪除信息的功能,查詢不成功,則提示錯(cuò)誤信息。定義結(jié)點(diǎn)p,輸入要?jiǎng)h除的信息的姓名,按姓名查找結(jié)點(diǎn),如果找到匹配的結(jié)點(diǎn)p,就進(jìn)行相關(guān)的刪除操作,否則就是沒(méi)找到要?jiǎng)h除的數(shù)據(jù),最后返回到主函數(shù)。
這次實(shí)驗(yàn)中我深刻認(rèn)識(shí)到合作的重要性。例如:我所編寫的按名刪除功能的實(shí)現(xiàn)中,應(yīng)用了章林霞同學(xué)所編寫寫的按名搜索查詢功能的那部分函數(shù),在這次實(shí)驗(yàn)中,我學(xué)到很多東西,加強(qiáng)了我的動(dòng)手能力,并且培養(yǎng)了我的獨(dú)立思考能力。我們堅(jiān)持理論聯(lián)系實(shí)際的思想,以實(shí)踐證實(shí)理論,從實(shí)踐中加深對(duì)理論知識(shí)的理解和掌握。實(shí)驗(yàn)是我們快速認(rèn)識(shí)和掌握理論知識(shí)的一條重要途徑。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 15
一周的課程設(shè)計(jì)結(jié)束了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設(shè)計(jì)過(guò)程中,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。我學(xué)會(huì)了運(yùn)籌帷幄,學(xué)會(huì)了寬容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與處世,這次課程設(shè)計(jì)對(duì)我來(lái)說(shuō)受益良多。
課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過(guò)程。“千里之行始于足下”,通過(guò)這次課程設(shè)計(jì),我深深體會(huì)到這句千古名言的真正含義。我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ)。
我這次設(shè)計(jì)的科目是數(shù)據(jù)結(jié)。
數(shù)據(jù)結(jié)構(gòu),是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象(數(shù)據(jù)元素)以及它們之間的關(guān)系和運(yùn)算等的學(xué)科,而且確保經(jīng)過(guò)這些運(yùn)算后所得到的新結(jié)構(gòu)仍然是原來(lái)的結(jié)構(gòu)類型。作為一門獨(dú)立的課程在國(guó)外是從1968年才開始設(shè)立的。1968年美國(guó)唐歐克努特教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序設(shè)計(jì)技巧》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作。“數(shù)據(jù)結(jié)構(gòu)”在計(jì)算機(jī)科學(xué)中是一門綜合性的.專業(yè)基礎(chǔ)課。數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門核心課程。數(shù)據(jù)結(jié)構(gòu)這一門課的內(nèi)容不僅是一般程序設(shè)計(jì)(特別是非數(shù)值性程序設(shè)計(jì))的基礎(chǔ),而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。
通過(guò)這次模具設(shè)計(jì),我在多方面都有所提高。
一、編譯工具VisualC++
很多程序在結(jié)構(gòu)上是獨(dú)立的,但是本此設(shè)計(jì)的程序功能不是零散的,它有一個(gè)連接是的程序是一個(gè)整體,怎樣達(dá)到這種統(tǒng)一體呢?因?yàn)檫@個(gè)輸出連接是貫穿始終的。說(shuō)到這,就應(yīng)該說(shuō)以下我所應(yīng)用的調(diào)試工具,也就是運(yùn)行環(huán)境VisualC++,可以充分利用Windows的支持剪貼版和英文的特點(diǎn)。正是在實(shí)現(xiàn)循環(huán)鏈表的程序中充分利用這個(gè)特點(diǎn),才能制作出全漢化的初始化畫面。
二、鞏固和溫習(xí)了C語(yǔ)言
在界面設(shè)置中使用函數(shù)調(diào)用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時(shí)候必須采用標(biāo)準(zhǔn)英文大寫,同時(shí)在制作顯示菜單的窗口,大小根據(jù)菜單條數(shù)設(shè)計(jì)。最后采用printf輸出程序設(shè)計(jì)界面。
這次的程序軟件基本上運(yùn)行成功,可以簡(jiǎn)單的建立鏈?zhǔn)窖h(huán)鏈表,并進(jìn)行輸出,及循環(huán)語(yǔ)句的運(yùn)用和選擇語(yǔ)句的控制。由于時(shí)間和知識(shí)上的限制,使得程序規(guī)模相對(duì)較小,即功能還不很全面,應(yīng)用也不很普遍。原來(lái)C語(yǔ)言可是涉及很多知識(shí),而不是枯燥無(wú)聊的簡(jiǎn)單的代碼部分而已,利用C語(yǔ)言方面的知識(shí),我們可以設(shè)計(jì)出更完善的軟件。
三、積累了寶貴的經(jīng)驗(yàn)
我這次課程設(shè)計(jì)代碼中主要使用了鏈表的循環(huán)和遍歷這兩中操作。循環(huán)鏈表(CircularLinkedList)是單鏈表的另一種形式,它是一個(gè)首尾相接的鏈表。其特點(diǎn)是將單鏈表最后一個(gè)結(jié)點(diǎn)的指針域由NULL改為指向頭結(jié)點(diǎn)或線性表中的第一個(gè)結(jié)點(diǎn),就得到了單鏈形式的循環(huán)鏈表,并稱為循環(huán)單鏈表。類似地,還有多重鏈的循環(huán)鏈表。在循環(huán)單鏈表中,表中所有結(jié)點(diǎn)被鏈在一個(gè)環(huán)上,多重循環(huán)鏈表則是將表中的結(jié)點(diǎn)鏈在多個(gè)環(huán)上。為了使某些操作實(shí)現(xiàn)起來(lái)方便,在循環(huán)單鏈表中也可設(shè)置一個(gè)頭結(jié)點(diǎn)。這樣,空循環(huán)鏈表僅由一個(gè)自成循環(huán)的頭結(jié)點(diǎn)表示。所謂遍歷(Traversal),是指沿著某條搜索路線,依次對(duì)樹中每個(gè)結(jié)點(diǎn)均做一次且僅做一次訪問(wèn)。訪問(wèn)結(jié)點(diǎn)所做的操作依賴于具體的應(yīng)用問(wèn)題。這次課程設(shè)計(jì)我選中的題目是個(gè)人資料的管理。編寫了一個(gè)可以簡(jiǎn)易使用的個(gè)人資料管理系統(tǒng),可以進(jìn)行資料的輸入和管理。雖然在我的程序中有一部分是從網(wǎng)上搜索得來(lái)的,但我已經(jīng)竭力將所獲得的信息變成自己的資源,動(dòng)手上機(jī)操作,在了解和看懂的基礎(chǔ)上有所改變和創(chuàng)新,但是在的程序軟件中還有部分的不足,需要加以更新。僅管,我并沒(méi)能很好的利用所學(xué)數(shù)據(jù)結(jié)構(gòu)的知識(shí),但我也盡了自己最大的努力用我所學(xué)來(lái)完成這次的課程設(shè)計(jì)。同時(shí),通過(guò)這次課程設(shè)計(jì),我認(rèn)識(shí)到了自己動(dòng)手實(shí)踐的弱勢(shì),特別是在編程方面,知道了計(jì)算機(jī)的實(shí)踐操作是很重要的,只有通過(guò)上機(jī)編程才能充分的了解自己的不足。
四、對(duì)以后的學(xué)習(xí)充滿了信心和期待
通過(guò)這次的課程設(shè)計(jì),更是讓我深刻認(rèn)識(shí)到自己在學(xué)習(xí)中的不足,同時(shí)也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時(shí)間中,我們應(yīng)該利用更多的時(shí)間去上機(jī)實(shí)驗(yàn),加強(qiáng)自學(xué)的能力,多編寫程序,相信不久后我們的編程能力都會(huì)有很大的提高能設(shè)計(jì)出更多的更有創(chuàng)新的作品。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 16
數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),它不僅是計(jì)算機(jī)科學(xué)的核心課程,而且也已經(jīng)成為其他理工專業(yè)的熱門選修課。隨著高級(jí)語(yǔ)言的發(fā)展,數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)的研究和應(yīng)用中已展現(xiàn)出強(qiáng)大的生命力,它兼顧了諸多高級(jí)語(yǔ)言的特點(diǎn),是一種典型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它處理能力強(qiáng),使用靈活方便,應(yīng)用面廣,具有良好的可移植性。通過(guò)學(xué)習(xí),先報(bào)告如下:
一、數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)點(diǎn)
本學(xué)期學(xué)的《數(shù)據(jù)結(jié)構(gòu)與算法》這本書共有十一個(gè)章節(jié):
第一章的內(nèi)容主要包括有關(guān)數(shù)據(jù)、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、算法、算法實(shí)現(xiàn)、C語(yǔ)言使用中相關(guān)問(wèn)題和算法分析等基本概念和相關(guān)知識(shí)。其中重點(diǎn)式數(shù)據(jù)、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、算法等概念;C語(yǔ)言中則介紹了指針、結(jié)構(gòu)變量、函數(shù)、遞歸、動(dòng)態(tài)存儲(chǔ)分配、文件操作、程序測(cè)試與調(diào)試問(wèn)題等內(nèi)容。
第二章主要介紹的是線性邏輯結(jié)構(gòu)的數(shù)據(jù)在順序存儲(chǔ)方法下的數(shù)據(jù)結(jié)構(gòu)順序表(包括順序串)的概念、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、基本運(yùn)算及其相關(guān)應(yīng)用。其中重點(diǎn)一是順序表的定義、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、基本運(yùn)算和性能分析等概念和相關(guān)知識(shí)。二是順序表的應(yīng)用、包括查找問(wèn)題(簡(jiǎn)單順序查找、二分查找、分塊查找)、排序問(wèn)題(直接插入排序、希爾排序、冒泡排序、快速排序、直接選擇排序、歸并排序)、字符處理問(wèn)題(模式匹配)等內(nèi)容。本章重點(diǎn)和難點(diǎn)在查找和排序問(wèn)題的算法思想上,6種排序方法的性能比較。
第三章主要介紹的是線性邏輯結(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)用問(wèn)題,在此基礎(chǔ)上介紹了鏈串的相關(guān)知識(shí)。在應(yīng)用方面有多項(xiàng)式的相加問(wèn)題、歸并問(wèn)題、箱子排序問(wèn)題和鏈表在字符處理方面的應(yīng)用問(wèn)題等。本章未完全掌握的是循環(huán)鏈表的算法問(wèn)題和C的描述。
第四章介紹在兩種不同的存儲(chǔ)結(jié)構(gòu)下設(shè)計(jì)的堆棧,即順序棧和鏈棧的相關(guān)知識(shí),了解堆棧的相關(guān)應(yīng)用,掌握應(yīng)用堆棧來(lái)解決實(shí)際問(wèn)題的思想及方法。本章主要內(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ì)滿的判斷條件問(wèn)題。
第六章“特殊矩陣、廣義表及其應(yīng)用”將學(xué)習(xí)數(shù)組、稀疏矩陣和廣義表的基本概念,幾種特殊矩陣的存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算,在此基礎(chǔ)上學(xué)習(xí)特殊矩陣的計(jì)算算法與廣義表應(yīng)用等相關(guān)問(wè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)用”的知識(shí)結(jié)構(gòu)主要是:非線性結(jié)構(gòu)數(shù)據(jù)二叉樹的定義、性質(zhì)、邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及其各種基本運(yùn)算算法,包括二叉樹的建立、遍歷、線索化等算法。在此基礎(chǔ)上,介紹二叉樹的一些應(yīng)用問(wèn)題,包括哈夫曼編碼問(wèn)題、(平衡)二叉排序樹問(wèn)題和堆排序問(wèn)題等。
第八章“樹和森林及其應(yīng)用”介紹樹和森林的數(shù)據(jù)結(jié)構(gòu)、基本算法及其性能分析,樹和森林與二叉樹之間的轉(zhuǎn)換算法等,在此基礎(chǔ)上介紹樹的應(yīng)用---B-樹,應(yīng)用B-樹來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的動(dòng)態(tài)查找。本章基本掌握樹和森林的概念和性質(zhì)、數(shù)據(jù)結(jié)構(gòu)、樹的基本算法及性能分析,樹和二叉樹間的轉(zhuǎn)換及其算法,并用應(yīng)用B-樹來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的動(dòng)態(tài)查找未能掌握好。
第九章“散列結(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)用”是邏輯結(jié)構(gòu)為“圖形”的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用知識(shí)內(nèi)容,主要介紹圖的定義和基礎(chǔ)知識(shí),圖的2種存儲(chǔ)結(jié)構(gòu)。圖的基本算法以及圖的典型應(yīng)用問(wèn)題(最小生成樹、最短路徑、拓?fù)渑判蚝完P(guān)鍵路徑等)。
二、對(duì)各知識(shí)點(diǎn)的掌握情況
我對(duì)各知識(shí)點(diǎn)的掌握情況總結(jié)如下:
第一章不太難,能基本掌握。但關(guān)系全書的時(shí)間性能分析有些未能全部掌握。第二章本章重點(diǎn)和難點(diǎn)在查找和排序問(wèn)題的算法思想上,6種排序方法的性能比較。本章未掌握的為希爾排序、快速排序、歸并排序的時(shí)間復(fù)雜度分析。第三章,對(duì)鏈表掌握還好,對(duì)其數(shù)據(jù)結(jié)構(gòu)進(jìn)行了分析,有循環(huán)鏈表,掌握的不是很好,對(duì)其中一些用法不熟練。第四章堆棧,本章堆棧算法思想較為簡(jiǎn)單,所以能較好掌握,但表達(dá)式計(jì)算問(wèn)題未掌握好的。第五章的循環(huán)隊(duì)列隊(duì)空、隊(duì)滿的判斷條件問(wè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)。第七章對(duì)二叉樹掌握較好,其概念,存儲(chǔ),遍歷有很好的掌握。就是對(duì)二叉排序樹有點(diǎn)生疏,它的`生成算法不是很會(huì)。第八章樹樹與二叉樹之間的轉(zhuǎn)換,森林與二叉樹的轉(zhuǎn)換算法思想基本掌握。第九章散列的一些知識(shí),沒(méi)有深入學(xué)習(xí),大概了解了散列存儲(chǔ)結(jié)構(gòu)散列表,散列函數(shù),沖突的處理方法。第十章了解了圖的逆鄰接表的存儲(chǔ)結(jié)構(gòu),關(guān)鍵路徑求解算法未能掌握好,不能靈活運(yùn)用圖的不同數(shù)據(jù)結(jié)構(gòu)和遍歷算法解決復(fù)雜的應(yīng)用問(wèn)題。
三、學(xué)習(xí)體會(huì)
通過(guò)學(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)鍵。在第二遍看課本的過(guò)程中,要注重對(duì)算法的掌握。對(duì)于一個(gè)算法,讀一遍可能能讀懂,但不可能完全領(lǐng)會(huì)其中的思想。掌握一個(gè)算法,并不是說(shuō)將算法背過(guò),而是掌握算法的思想。我們需要的是耐心。每看一遍就會(huì)有這一遍的收獲。讀懂算法之后,自己再默寫算法,寫到不會(huì)的地方,看看課本想想自己為什么沒(méi)有想到。對(duì)算法的應(yīng)用上,學(xué)習(xí)算法的目的是利用算法解決實(shí)際問(wèn)題。會(huì)寫課本上已有的算法之后,可以借其思想進(jìn)行擴(kuò)展,逐步提高編程能力。
四、對(duì)課程教學(xué)的建議
1、感覺(jué)上課時(shí)的氣氛不是很好,雖然大部分人都在聽,可是效果不是很好。所以希望老師能在授課中間能穿插一些活躍課堂氛圍的話題,可以是大家都非常關(guān)心的一些內(nèi)容,這樣既讓大家能在思考之余有一個(gè)放松,也能夠提高學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效率。
2、學(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)告中沒(méi)動(dòng)力再去認(rèn)真寫。所以希望老師能在這方面有所調(diào)整。3、雖然講課的時(shí)間很緊,但是還是希望老師能在講述知識(shí)點(diǎn)的時(shí)候能運(yùn)用實(shí)際的調(diào)試程序來(lái)給我們講解,這樣的話能讓我們對(duì)這些內(nèi)容有更深刻的印象和理解。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 17
一、數(shù)據(jù)結(jié)構(gòu)與算法知識(shí)點(diǎn)
《數(shù)據(jù)結(jié)構(gòu)與算法》這本書共有十一個(gè)章節(jié)。從第一章的數(shù)據(jù)結(jié)構(gòu)和算法的引入,介紹了數(shù)據(jù)和數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、算法描述工具、算法和算法評(píng)價(jià)四個(gè)方面的知識(shí)。第二章則介紹了順序表及其應(yīng)用的相關(guān)知識(shí)。從順序表的基本概念開始,分別介紹了順序表基本算法、順序表基本算法性能分析、順序表的應(yīng)用。順序表應(yīng)用又涉及多方面,有查找問(wèn)題、排序問(wèn)題、字符處理問(wèn)題。其中查找分簡(jiǎn)單順序查找,有序表的二分查找,分塊查找三種。排序中分插入排序(直接插入排序、希爾排序)、交換排序(冒泡排序、快速排序)、選擇排序(直接選擇排序)、歸并排序。第三章鏈表及其應(yīng)用,分為鏈表的基本概念、單鏈表的數(shù)據(jù)結(jié)構(gòu)、單鏈表的基本算法、循環(huán)鏈表、鏈表的應(yīng)用。第四章堆棧及其應(yīng)用,分為堆棧堆的基本概念、順序棧及其基本算法、鏈棧及其基本算法、堆棧的應(yīng)用。第五章隊(duì)列及其應(yīng)用,分為隊(duì)列的基本概念、順序隊(duì)列及其基本算法、鏈隊(duì)列及其基本算法、基數(shù)排序問(wèn)題。第六章特殊矩陣和廣義表及其應(yīng)用,分為數(shù)組與矩陣,特殊矩陣的壓縮存儲(chǔ)、矩陣的應(yīng)用實(shí)例、廣義表。第七章二叉樹及其應(yīng)用。分為二叉樹的基本概念、二叉樹存儲(chǔ)結(jié)構(gòu)、二叉樹的遍歷算法、線索二叉樹、二叉樹的應(yīng)用(基本算法、哈夫曼樹、二叉排序樹、堆和堆排序)。第八章樹和森林及其應(yīng)用。分為樹和森林的基本概念,樹的存儲(chǔ)結(jié)構(gòu)、樹的基本算法及性能分析、樹的應(yīng)用(B樹)。第九章散列結(jié)構(gòu)及其應(yīng)用。分為散列結(jié)構(gòu)的概念等。著重學(xué)習(xí)了散列表、散列函數(shù)、沖突處理方法(開放定址法和鏈地址法)。第九章圖及其應(yīng)用。分為圖的概念、圖的存儲(chǔ)結(jié)構(gòu)及其基本算法、圖的遍歷及算法、有向圖的連通性和最小生成樹、圖的最小生成樹、非連通圖的生成森林算法、最短路徑、有向無(wú)環(huán)圖及其應(yīng)用。第十一章算法性能分析和算法設(shè)計(jì)方法簡(jiǎn)介。
二、對(duì)各知識(shí)點(diǎn)的掌握情況
綜合以上知識(shí)點(diǎn),我對(duì)自我學(xué)習(xí)成果作如下總結(jié):對(duì)于第一章對(duì)數(shù)據(jù)結(jié)構(gòu)的概念理解頗深,大概是每次都要談?wù)摰桨伞?duì)算法的時(shí)間性能,空間性能基本了解。這些在后面的章節(jié)都會(huì)有運(yùn)用。第二章順序表較為清晰。如何去建一個(gè)順序表,順序表的一些基本算法都可以很好運(yùn)用。在順序表應(yīng)用中對(duì)二分查找映象深刻。對(duì)于排序能了解其算法思想。對(duì)字符串的處理應(yīng)用的較少,沒(méi)有深入了解。第三章鏈表的知識(shí),由于鏈表在上學(xué)期就有所接觸,老師也強(qiáng)調(diào)其作用,對(duì)鏈表掌握還好,但在第三章中又學(xué)習(xí)到了新的.內(nèi)容,對(duì)其數(shù)據(jù)結(jié)構(gòu)進(jìn)行了分析,增加了循環(huán)鏈表,對(duì)知識(shí)進(jìn)行補(bǔ)充。第四章堆棧,堆棧是一個(gè)運(yùn)算受限的線性表,可對(duì)比順序表的學(xué)習(xí),不同的是還有鏈棧,這部分感覺(jué)是全書最容易的部分了。第五章隊(duì)列是接著堆棧之后的又一個(gè)運(yùn)算受限制的線性表,感覺(jué)和堆棧一樣簡(jiǎn)單。第六章矩陣和廣義表是我的弱項(xiàng),在這部分的學(xué)習(xí)過(guò)程中沒(méi)有用心學(xué),現(xiàn)在正在深入研究。接下來(lái)的第七章第八章是全書的重點(diǎn),特別是第七章二叉樹,所以學(xué)習(xí)的重心也偏向這兩章。對(duì)二叉樹掌握較好,其概念,存儲(chǔ),遍歷有很好的掌握。就是對(duì)二叉排序樹有點(diǎn)生疏,它的生成算法不是很會(huì)。第八章樹和森林,樹與二叉樹之間的轉(zhuǎn)換,森林與二叉樹的轉(zhuǎn)換算法思想基本掌握。第九章散列的一些知識(shí),沒(méi)有深入學(xué)習(xí),大概了解了散列存儲(chǔ)結(jié)構(gòu)散列表,散列函數(shù),沖突的處理方法。第十章感覺(jué)是很難的一章,知識(shí)點(diǎn)多,能夠畫有向圖和無(wú)向圖的鄰接矩陣,鄰接表。圖的深度遍歷和廣度遍歷,但是其算法只是能讀懂。
三、學(xué)習(xí)體會(huì)
開學(xué)伊始,聽說(shuō)要學(xué)數(shù)據(jù)結(jié)構(gòu)與算法,而且考試通過(guò)率極低,就帶著這樣恐懼的心理開始學(xué)習(xí)了。通過(guò)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法讓我對(duì)程序有了新的認(rèn)識(shí)。“數(shù)據(jù)結(jié)構(gòu)和算法”課程主要學(xué)習(xí)在軟件開發(fā)中涉及到的各種常用數(shù)據(jù)結(jié)構(gòu)及其常用算法,在此基礎(chǔ)上,學(xué)習(xí)如何利用數(shù)據(jù)結(jié)構(gòu)和算法解決一些基本的應(yīng)用問(wèn)題,通過(guò)學(xué)習(xí)我了解了相關(guān)領(lǐng)域的基礎(chǔ)知識(shí)和基本應(yīng)用。知道了學(xué)習(xí)一種數(shù)據(jù)結(jié)構(gòu)必須掌握該數(shù)據(jù)結(jié)構(gòu)的定義,其包括邏輯結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)和基本算法還有基本應(yīng)用知識(shí)。對(duì)于一個(gè)應(yīng)用程序,不是它能運(yùn)行,能顯示結(jié)果就行了,還要考慮它的各方面的性能,時(shí)間性能,空間性能。以此節(jié)約空間和時(shí)間。給定一個(gè)程序首先要分析其應(yīng)有的數(shù)據(jù)結(jié)構(gòu)。怎么存儲(chǔ),怎么性能會(huì)比較好。“數(shù)據(jù)結(jié)構(gòu)與算法”是一門很有用的科目,可是也是很令人頭疼的學(xué)科,這也鍛煉了我們迎難而上的毅力。當(dāng)然學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法是建立在學(xué)習(xí)好計(jì)算機(jī)語(yǔ)言的基礎(chǔ)上的,學(xué)習(xí)編程是枯燥無(wú)味的,學(xué)據(jù)結(jié)構(gòu)給我?guī)?lái)更多的是思考的東西。
課程結(jié)束我總結(jié)了學(xué)習(xí)過(guò)程中遇到的困難,有時(shí)寫不出合條件的算法,在寫實(shí)驗(yàn)報(bào)告時(shí),有時(shí)就是將書上的源程序搬上去,對(duì)程序進(jìn)行一些修改。針對(duì)這一情況我會(huì)慢慢改正。多加思考。
四、對(duì)課程教學(xué)的建議
1、課程課時(shí)較緊,課堂上的練習(xí)時(shí)間較少,講解的東西越多,頭腦有時(shí)就很混亂。
2、長(zhǎng)期的ppt教學(xué),會(huì)使產(chǎn)生疲勞,稍不留神,思維開了小差,就跟不上了。
可以適當(dāng)結(jié)合ppt和例題講解。通過(guò)課堂的習(xí)題講解,加深對(duì)知識(shí)點(diǎn)的掌握,同時(shí)對(duì)各知識(shí)點(diǎn)的運(yùn)用有一個(gè)更為直觀和具體的認(rèn)識(shí)。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 18
這次實(shí)習(xí)是一個(gè)操作類的實(shí)習(xí),那么久對(duì)比下以前操作過(guò)的軟件,對(duì)比一下二者不同,我們使用的軟件主要是ArcGis軟件和MapGis軟件。首先是MapGis軟件。MapGis軟件的優(yōu)點(diǎn)在于界面清楚,鼠標(biāo)交互性強(qiáng),需要功能或者對(duì)某對(duì)象操作時(shí)右鍵可以找到相應(yīng)操作。比如導(dǎo)入圖層新建圖層等,ArcGis要新建圖層則需要在規(guī)定的地理數(shù)據(jù)庫(kù)中新建一個(gè)數(shù)據(jù)集,然后對(duì)其進(jìn)行編輯。在分析方法方面MapGis的功能也比較齊全。我使用的MapGis版本唯一一個(gè)我比較不滿意的地方是操作較快是比較容易程序崩潰;再來(lái)我也是用了ArcGis做后面的實(shí)習(xí)19,ArcGis的鼠標(biāo)交互性相對(duì)來(lái)說(shuō)弱一點(diǎn),但是ArcGis的優(yōu)點(diǎn)也是比較好的,首先它的功能模塊分得比較清楚,我不需要為了一個(gè)功能找很多地方,然后對(duì)于對(duì)象圖層的分析與操作功能都放在工具箱中,我可以設(shè)置哪些功能開啟,哪些功能關(guān)閉,節(jié)約操作或者分析速度。當(dāng)我想把數(shù)據(jù)在兩種軟件中混用的時(shí)候,可以轉(zhuǎn)化文件為標(biāo)準(zhǔn)shp文件,兩軟件的通信就是這樣了。只不過(guò)這其中除了一點(diǎn)問(wèn)題,不同版本軟件在轉(zhuǎn)換數(shù)據(jù)的時(shí)候會(huì)不可避免的出現(xiàn)數(shù)據(jù)丟失受損或者異常等情況,只能再次操作。
以后我再對(duì)著不同的軟件進(jìn)行操作的時(shí)候,會(huì)注意他們的操作風(fēng)格,是偏鼠標(biāo)還是鍵盤,是分一套功能還是分模塊。然后這次實(shí)習(xí)的過(guò)程其實(shí)也是蠻重要的,不僅僅是一些操作過(guò)程。
我們?cè)谥暗膶?shí)習(xí)中從來(lái)沒(méi)有一次是對(duì)ArcCatalog的操作做得這么詳細(xì),全面。這次實(shí)習(xí)也是一次查漏補(bǔ)缺,將以前很多沒(méi)有用到的東西都給補(bǔ)上了。我在做這次實(shí)習(xí)之前,ArcGis的軟件對(duì)我來(lái)說(shuō)就是這幾樣功能:
1、 編輯地圖
2、 發(fā)布地圖生成服務(wù)
3、 導(dǎo)出文件應(yīng)用到其它科目
但是現(xiàn)在我知道了自己以前的`這些操作是很狹隘的,只是僅僅包括了一些很小的功能。對(duì)于數(shù)據(jù)庫(kù)這塊的操作正是我以前所沒(méi)有認(rèn)真做或者深層次的接觸的。當(dāng)我把這次實(shí)習(xí)的第二部分做完以后,收獲的確是不小的,雖然實(shí)習(xí)所用的版本和我用的軟件版本不同,甚至于有些步驟根本做不了,但是畢竟還是有很多的相似之處。除了幾何網(wǎng)絡(luò)的那里沒(méi)有實(shí)施之外,其他的都做了,即便是一個(gè)很簡(jiǎn)單的步驟也做了一下,感受下兩個(gè)版本的不同。在閱讀實(shí)習(xí)材料的過(guò)程中我其實(shí)很想找到一些:“為什么這樣操作”的解釋,但是沒(méi)有,然后就自己找了下一些步驟做法的原因。比如說(shuō):為什么要將要素類兩張表合成一張表,這是可以減少數(shù)據(jù)冗余的。思考,得出結(jié)果,總結(jié)經(jīng)驗(yàn),這才是實(shí)習(xí)需要有的效果。希望以后會(huì)有更多這種查漏補(bǔ)缺類型的實(shí)習(xí),彌補(bǔ)自身不足。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 19
轉(zhuǎn)眼間對(duì)于數(shù)據(jù)庫(kù)的學(xué)習(xí)結(jié)束了。劉老師殷殷的教誨讓我感觸很深。對(duì)于我來(lái)說(shuō)數(shù)據(jù)庫(kù)是一個(gè)新的概念,因此一開始對(duì)這門課程的第一印象就是很抽象,感覺(jué)學(xué)起來(lái)應(yīng)該會(huì)很難很累。可是在學(xué)習(xí)這門課的過(guò)程中,在對(duì)數(shù)據(jù)庫(kù)的了解過(guò)程中,慢慢對(duì)數(shù)據(jù)庫(kù)有了感觀,數(shù)據(jù)庫(kù)這一詞并不是很難想象,并不是像外人傳的很神奇。通過(guò)對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí)我明白了各行各業(yè)都離不開數(shù)據(jù)庫(kù),可見數(shù)據(jù)庫(kù)這門課的廣泛性。如果能夠認(rèn)真學(xué)好它將來(lái)必有成就感。我就抱著這種信念去學(xué)習(xí), 我從起初對(duì)數(shù)據(jù)庫(kù)的認(rèn)識(shí)模糊到后來(lái)清晰,我認(rèn)為我學(xué)到了許許多多的東西。現(xiàn)就其知識(shí)點(diǎn)及其掌握情況進(jìn)行總結(jié):
我首先了解了數(shù)據(jù)庫(kù)的概念,其中有幾個(gè)重要的知識(shí)點(diǎn),即數(shù)據(jù)庫(kù)(DB),數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)數(shù)據(jù)模型,關(guān)系數(shù)據(jù)庫(kù),關(guān)系規(guī)范化,安全性,數(shù)據(jù)庫(kù)設(shè)計(jì)等等。首先作為一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng):應(yīng)該具備以下功能:數(shù)據(jù)庫(kù)定義功能;數(shù)據(jù)庫(kù)操作功能;數(shù)據(jù)庫(kù)查詢功能;數(shù)據(jù)庫(kù)的控制功能;數(shù)據(jù)庫(kù)的通信功能。
通過(guò)學(xué)習(xí)我掌握了創(chuàng)建數(shù)據(jù)庫(kù)以及對(duì)數(shù)據(jù)庫(kù)的操作的基礎(chǔ)知識(shí)。 首先說(shuō)數(shù)據(jù)庫(kù),簡(jiǎn)單的說(shuō)就是建表格,然后把一張一張的表格和在一起,成為一大堆的數(shù)據(jù)集合。他是依照某種數(shù)據(jù)結(jié)構(gòu)組織起來(lái)并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合,基本分為三個(gè)層次,物理數(shù)據(jù)層,概念數(shù)據(jù)層和邏輯數(shù)據(jù)層。不同層次間的聯(lián)系是通過(guò)映射來(lái)轉(zhuǎn)換的。其次數(shù)據(jù)庫(kù)編程,這個(gè)是作為一個(gè)程序員的基本功,絕大多數(shù)軟件開發(fā)公司數(shù)據(jù)庫(kù)編程都是由程序員自己完成的,因?yàn)樗墓ぷ髁坎皇呛艽螅膊皇呛軓?fù)雜。所以作為一個(gè)綜合的程序員,學(xué)習(xí)數(shù)據(jù)庫(kù)編程,像數(shù)據(jù)庫(kù)四大操作,增刪改查,還有觸發(fā)、存儲(chǔ)過(guò)程等的使用,這些都是基礎(chǔ)的基礎(chǔ)。我認(rèn)為概況起來(lái)有以下幾點(diǎn):數(shù)據(jù)庫(kù)是相互關(guān)聯(lián)的數(shù)據(jù)集合,即在數(shù)據(jù)庫(kù)中不僅要能夠表示數(shù)據(jù)本身,還要能夠表示數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系;數(shù)據(jù)庫(kù)用綜合的方法組織數(shù)據(jù),保證盡可能高的訪問(wèn)效率。即根據(jù)不同的需要按不同的.方法組織數(shù)據(jù);數(shù)據(jù)庫(kù)具有較小的數(shù)據(jù)冗余,可供多個(gè)用戶共享,即通過(guò)共享共用的數(shù)據(jù),降低數(shù)據(jù)的冗余度,也能保證數(shù)據(jù)的一致性;數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性,即數(shù)據(jù)的組織和存儲(chǔ)方法與應(yīng)用程序互不依賴。數(shù)據(jù)庫(kù)能夠保證數(shù)據(jù)的安全、可靠。
通過(guò)這次培訓(xùn)學(xué)習(xí)我懂得了只要我從事計(jì)算機(jī)專業(yè),就需要學(xué)習(xí)好數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),不論以后選擇哪個(gè)方向,數(shù)據(jù)庫(kù)的學(xué)習(xí)都不能放松。古人云:書到用時(shí)方恨少,知識(shí)學(xué)多了不會(huì)成為累贅,慢慢的積累,總有用到的時(shí)候。給自己明確一個(gè)目標(biāo),剩下的就是向著這個(gè)目標(biāo)努力,無(wú)論遇到什么困難,克服它就向成功邁進(jìn)了一步。
數(shù)據(jù)結(jié)構(gòu)心得體會(huì) 20
在學(xué)習(xí)這門課的過(guò)程中,在對(duì)數(shù)據(jù)庫(kù)的了解過(guò)程中,慢慢對(duì)數(shù)據(jù)庫(kù)有了感觀。數(shù)據(jù)庫(kù)這一詞并不是很難想象,并不是像外人看來(lái)很神奇。作為計(jì)算機(jī)專業(yè)的學(xué)生,這樣的專業(yè)術(shù)語(yǔ)或者專業(yè)知識(shí)是最基本的。
學(xué)習(xí)的時(shí)候沒(méi)有想象中的那么難,只要上課能聽懂就基本還可以。但是問(wèn)題還是出在書本有點(diǎn)厚,有的時(shí)候上課的內(nèi)容都要找很久才能找到,甚至有的時(shí)候老師講的知識(shí)書本上是找不到的,是另外補(bǔ)充而且是相當(dāng)重要的內(nèi)容。有的時(shí)候開小差,沒(méi)有聽到老師講的知識(shí)點(diǎn),這就導(dǎo)致了以后的學(xué)習(xí)無(wú)法順利進(jìn)行,使得學(xué)習(xí)起來(lái)十分困難。所以在數(shù)據(jù)庫(kù)這門課的學(xué)習(xí)中,上課一定要聽牢,就像老師說(shuō)的那樣,這樣的專業(yè)課如果想憑考試前幾天突擊是行不通的,必須是日積月累的知識(shí)才能取得好成績(jī)。
通過(guò)對(duì)數(shù)據(jù)庫(kù)的學(xué)習(xí),我也明白了各行各業(yè)都離不開數(shù)據(jù)庫(kù),就算是一個(gè)小型的超市也離不開它。可見數(shù)據(jù)庫(kù)這門課的廣泛性,如果能夠認(rèn)真學(xué)好它將來(lái)必有成就。我就是抱著這種信念去學(xué)習(xí)數(shù)據(jù)庫(kù)的。第一次接觸數(shù)據(jù)庫(kù),第一次接觸SQL語(yǔ)言,雖然陌生,但是可以讓我從頭開始學(xué),就算沒(méi)有基礎(chǔ)的人也可以學(xué)得很好。剛開始練習(xí)SQL語(yǔ)言的時(shí)候,并不是很難,基本上都是按照老師的步驟來(lái)做,還很有成就感。后來(lái)學(xué)了單表查詢和連接查詢后,就慢慢發(fā)現(xiàn)越學(xué)越困難了,每個(gè)題目都要思考很久,并且每個(gè)題目基本上不止一個(gè)答案,所以必須找出最優(yōu)的答案。后面的刪除、插入、修改這些題目都變化蠻大的,書本上的例題根本無(wú)法滿足我們,好在老師給我們提供了大量的課件,通過(guò)這些PPT,我們可以鞏固課內(nèi)的知識(shí),還可以學(xué)習(xí)內(nèi)容相關(guān)的知識(shí),更好地完成老師布置的作業(yè)。
除了老師布置的一些基本作業(yè)外,還有一份大作業(yè)。就像我們小組的是雜貨店的銷售管理系統(tǒng),在完成這一作業(yè)的過(guò)程中,我們可以
通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)一家雜貨店。過(guò)程是很復(fù)雜的',雜貨店需要員工,還有百來(lái)種商品,不僅需要大量的數(shù)據(jù),還要完成需求說(shuō)明,數(shù)據(jù)詞典,還有E-R圖等,雖然想象起來(lái)并不是很難,但是要轉(zhuǎn)化成文字,轉(zhuǎn)化成人們能夠讀懂的文字就顯得十分困難。特別是一個(gè)完整的銷售系統(tǒng),對(duì)我們來(lái)說(shuō)都是第一次接觸,在做大作業(yè)的時(shí)候經(jīng)常是前面改改,后面改改,因?yàn)橐恍⿺?shù)據(jù)不能很好地對(duì)應(yīng)起來(lái),經(jīng)常會(huì)遺忘一些,所以出現(xiàn)了這樣的情況。一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)也就是在這樣修修改改的狀態(tài)下完成的,也給了我很大的反思。第一、一個(gè)數(shù)據(jù)庫(kù)的完成一定要考慮各方面的因素,包括現(xiàn)實(shí)因素。第二、在完成這類作業(yè)時(shí),修修改改是很正常的,不要因此而厭倦。第三、一個(gè)完整的數(shù)據(jù)庫(kù)一定不能出現(xiàn)錯(cuò)誤,否則會(huì)在現(xiàn)實(shí)生活中帶來(lái)不必要的麻煩。
通過(guò)本學(xué)期數(shù)據(jù)庫(kù)的學(xué)習(xí)及大作業(yè)的完成,很有去作項(xiàng)目的沖動(dòng),但深知自己的能力水平有限,還需要更多的學(xué)習(xí)。
【數(shù)據(jù)結(jié)構(gòu)心得體會(huì)】相關(guān)文章:
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)04-07
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)09-16
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的心得體會(huì)02-22
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)05-07
數(shù)據(jù)結(jié)構(gòu)實(shí)習(xí)報(bào)告12-29
淺談《數(shù)據(jù)結(jié)構(gòu)》教學(xué)12-08
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)9篇05-21