數(shù)據(jù)結(jié)構(gòu)心得體會_第1頁
數(shù)據(jù)結(jié)構(gòu)心得體會_第2頁
數(shù)據(jù)結(jié)構(gòu)心得體會_第3頁
數(shù)據(jù)結(jié)構(gòu)心得體會_第4頁
數(shù)據(jù)結(jié)構(gòu)心得體會_第5頁
免費預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)構(gòu)造心得領(lǐng)悟【篇一:數(shù)據(jù)構(gòu)造學(xué)習(xí)總結(jié)】數(shù)據(jù)構(gòu)造學(xué)習(xí)總結(jié)經(jīng)過一學(xué)期對《數(shù)據(jù)構(gòu)造與算法》的學(xué)習(xí),大概的認識了基本的數(shù)據(jù)構(gòu)造和相應(yīng)的一些算法。下面總結(jié)一下自己一個學(xué)期學(xué)習(xí)的收獲和心得。數(shù)據(jù)構(gòu)造是什么:數(shù)據(jù)構(gòu)造是計算機儲藏、組織數(shù)據(jù)的方式。數(shù)據(jù)構(gòu)造是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的會集。平時情況下,精心選擇的數(shù)據(jù)構(gòu)造能夠帶來更高的運行也許儲藏效率。數(shù)據(jù)構(gòu)造經(jīng)常同高效的檢索算法和索引技術(shù)有關(guān)。數(shù)據(jù)構(gòu)造重要性:一般認為,一個數(shù)據(jù)構(gòu)造是由數(shù)據(jù)元素依照某種邏輯聯(lián)系組織起來的。對數(shù)據(jù)元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯構(gòu)造;數(shù)據(jù)必定在計算機內(nèi)儲藏,數(shù)據(jù)的儲藏構(gòu)造是數(shù)據(jù)構(gòu)造的實現(xiàn)形式,是其在計算機內(nèi)的表示;其余談?wù)撘粋€數(shù)據(jù)構(gòu)造必定同時談?wù)撛谠擃悢?shù)據(jù)上執(zhí)行的運算才有意義。一個邏輯數(shù)據(jù)構(gòu)造能夠有多種儲藏構(gòu)造,且各種儲藏構(gòu)造影響數(shù)據(jù)辦理的效率。在好多種類的程序的設(shè)計中,數(shù)據(jù)構(gòu)造的選擇是一個基本的設(shè)計考慮因素。好多大型系統(tǒng)的構(gòu)造經(jīng)驗表示,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴重的依賴于可否選擇了最優(yōu)的數(shù)據(jù)構(gòu)造。好多時候,確定了數(shù)據(jù)構(gòu)造后,算法就簡單獲取了。有些時候事情也會反過來,我們依照特定算法來選擇數(shù)據(jù)構(gòu)造與之適應(yīng)。無論哪一種情況,選擇合適的數(shù)據(jù)構(gòu)造都是特別重要的。選擇了數(shù)據(jù)構(gòu)造,算法也隨之確定,是數(shù)據(jù)而不是算法是系統(tǒng)構(gòu)造的要點因素。這種洞見以致了好多種軟件設(shè)計方法和程序設(shè)計語言的出現(xiàn),面向?qū)ο蟮某绦蛟O(shè)計語言就是其中之一。常有的數(shù)據(jù)構(gòu)造:次序表:定義:次序表是在計算機內(nèi)存中以數(shù)組的形式保存的線性表,是指用一組地址連續(xù)的儲藏單元依次儲藏數(shù)據(jù)元素的線性構(gòu)造。線性表采用次序儲藏的方式儲藏就稱之為次序表。次序表是將表中的結(jié)點依次存放在計算機內(nèi)存中一組地址連續(xù)的儲藏單元中。基本運算:置表空:sqlsetnull(l)判表滿:sqlempty(l)求表長:sqllength(l)插入:sqlinsert(l,i,x)挨次號取元素:sqlget(l,i)刪除:sqldelete(l,i)按值查找:sqllocate(l,x)鏈表定義:鏈表是一種物理儲藏單元上非連續(xù)、非次序的儲藏構(gòu)造,數(shù)據(jù)元素的邏輯次序是經(jīng)過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點(鏈表中每一個元素稱為結(jié)點)組成,結(jié)點能夠在運行時動向生成。每個結(jié)點包括兩個部分:一個是儲藏數(shù)據(jù)元素的數(shù)據(jù)域,另一個是儲藏下一個結(jié)點地址的指針域。對照于線性表次序構(gòu)造,鏈表比較方便插入和刪除操作。分類:單鏈表—用一組地址隨意的儲藏單元存放線性表中的數(shù)據(jù)元素。循環(huán)鏈表—循環(huán)鏈表是另一種形式的鏈式存貯構(gòu)造。它的特點是表中最后一個結(jié)點的指針域指向頭結(jié)點,整個鏈表形成一個環(huán)。基本運算:成立鏈表,插入節(jié)點,刪除節(jié)點。3.

貨倉定義:貨倉都是一種數(shù)據(jù)項挨次排列的數(shù)據(jù)構(gòu)造,只幸虧一端棧頂(top))對數(shù)據(jù)項進行插入和刪除。要點:堆:次序隨意棧:后進先出(last-in/first-out)?;舅惴ǎ褐每諚#篿nitstack(s)判??眨簊tackempty(s)判棧滿:stackfull(s)取棧頂元素:gettop(s)

(稱為入棧:push(s)出棧:pop(s)4.隊列定義:隊列是一種特其余線性表,它只贊同在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。在隊列這種數(shù)據(jù)構(gòu)造中,最先插入的元素將是最先被刪除的元素;反之最后插入的元素將最后被刪除的元素,因此隊列又稱為“先進先出”(fifo—firstinfirstout)的線性表。分類:次序隊列;鏈隊;基本運算:初始化隊列qini(q)入隊qadd(q,x)出隊qdel(q,x)判斷隊列可否為qempty(q)判斷隊列可否為滿qfull(q)特別矩陣分類:對陣矩陣;三角矩陣;稀罕矩陣;二叉樹定義:二叉樹是每個節(jié)點最多有兩個子樹的有序樹。平時子樹被稱作“左子樹”(leftsubtree)和“右子樹”(rightsubtree)。二叉樹的每個結(jié)點至多只有二棵子樹(不存在度大于2的結(jié)點),二叉樹的子樹有左右之分,次序不能夠顛倒。二叉樹的第i層至多有2的i-1次方個結(jié)點;深度為k的二叉樹至多有2^(k)-1個結(jié)點;對任何一棵二叉樹t,若是其終端結(jié)點數(shù)(即葉子結(jié)點數(shù))為n0,度為2的結(jié)點數(shù)為n2,則n0=n2+1。完好二叉樹——若設(shè)二叉樹的高度為h,除第h層外,其余各層(1~h-1)的結(jié)點數(shù)都達到最大個數(shù),第h層有葉子節(jié)點,而且葉子節(jié)點都是從左到右依次排布,這就是完好二叉樹。滿二叉樹——除了葉結(jié)點外每一個結(jié)點都有左右子葉且葉結(jié)點都處在最基層的二叉樹,。深度——二叉樹的層數(shù),就是高度。性質(zhì):在二叉樹中,第i層的結(jié)點總數(shù)不高出2^(i-1);深度為h的二叉樹最多有2^h-1個結(jié)點(h=1),最稀有h個結(jié)點;(3)對于隨意一棵二叉樹,若是其葉結(jié)點數(shù)為n0,而度數(shù)為2的結(jié)點總數(shù)為n2,則n0=n2+1;(4)擁有n個結(jié)點的完好二叉樹的深度為int(log2n)+1有n個結(jié)點的完好二叉樹各結(jié)點若是用次序方式儲藏,則結(jié)點之間有以下關(guān)系:若i為結(jié)點編號則若是i1,則其父結(jié)點的編號為i/2;若是2*i=n,則其左兒子(即左子樹的根結(jié)點)的編號為2*i;若2*in

,則無左兒子;若是2*i+1=n,則其右兒子的結(jié)點編號為;若,則無右兒子。給定n個節(jié)點,能組成h(n)種不相同的二叉樹。h(n)為卡特蘭數(shù)的第n項。h(n)=c(n,2*n)/(n+1)。(7)設(shè)有i個枝點,i為全部枝點的道路長度總和,j為葉的道路長度總和j=i+2i。二叉樹遍歷:遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按必然的規(guī)則溫次序走遍二叉樹的全部結(jié)點,使每一個結(jié)點都被接見一次,而且只被接見一次。由于二叉樹是非線性構(gòu)造,因此,樹的遍歷實質(zhì)上是將二叉樹的各個結(jié)點變換成為一個線性序列來表示。設(shè)l、d、r分別表示遍歷左子樹、接見根結(jié)點和遍歷右子樹,一棵二叉樹的遍歷有三種情況:dlr(稱為先根次序遍歷),ldr為中根次序遍歷),lrd(稱為后根次序遍歷)。

則對(稱前序遍歷接見根;按前序遍歷左子樹;按前序遍歷右子樹中序遍歷按中序遍歷左子樹;接見根;按中序遍歷右子樹后序遍歷按后序遍歷左子樹;按后序遍歷右子樹;接見根4)層次遍歷即依照層次接見,平時用隊列來做。接見根,接見子女,再接見子女的子女(越此后的層次越低)(兩個子女的級別相同)。散列定義:若構(gòu)造中存在和要點字k相等的記錄,則必然在f(k)的儲藏地址上。由此,不需比較即可直接獲取所查記錄。稱這個對應(yīng)關(guān)系為散列函數(shù)(hashfunction),按這個思想成立的表為散列表。散列函數(shù):直接定址法;除留余數(shù)法;數(shù)字解析法;平方取中法;折疊法。矛盾辦理方法:開放地址法(線性探測再散列,二次探測再散列,偽隨機探測再散列)鏈地址法。8.圖

f定義:一種較線性表和樹更加復(fù)雜的數(shù)據(jù)構(gòu)造。儲藏構(gòu)造:毗鄰矩陣;毗鄰表;逆毗鄰表;十字鏈表;毗鄰多重表。圖的遍歷:深度優(yōu)先遍歷:深度優(yōu)先遍歷的思想近似于樹的先序遍歷。其遍歷過程能夠描述為:從圖中某個極點v出發(fā),接見該極點,爾后依次從v的未被接見的毗鄰點出發(fā)連續(xù)深度優(yōu)先遍歷圖中的其余極點,直至圖中全部與v有路徑相通的極點都被接見完為止。廣度優(yōu)先遍歷:對圖的廣度優(yōu)先遍歷方法描述為:從圖中某個極點v出發(fā),在接見該極點v此后,依次接見v的全部未被接見過的毗鄰點,爾后再接見每個毗鄰點的毗鄰點,且接見次序應(yīng)保持先被接見的極點其毗鄰點也優(yōu)先被接見,直到圖中的全部極點都被接見為止。下面是對一個無向圖進行廣度優(yōu)先遍歷的過程。查找算法次序查找:在一個已知無(或有序)序隊列中找出與給定要點字相同的數(shù)的詳盡地址。原理是讓要點字與隊列中的數(shù)從第一個開始逐個比較,直到找出與給定要點字相同的數(shù)為止。折半查找:第一,假設(shè)表中元素是按升序排列,將表中間地址記錄的要點字與查找要點字比較,若是兩者相等,則查找成功;否則利用中間位置記錄將表分成前、后兩個子表,若是中間地址記錄的要點字大于查找要點字,則進一步查找前一子表,否則進一步查找后一子表。重復(fù)以上過程,直到找到滿足條件的記錄,使查找成功,或直到子表不存在為止,此時查找不能功。分塊查找:先采用各塊中的最大要點字組成一個索引表;查找分兩個部分:先對索引表進行二分查找或次序查找,以確定待查記錄在哪一塊中;爾后,在已確定的塊中用次序法進行查找。二叉排序樹:定義:二叉排序樹(binarysorttree)又稱二叉查找樹。它也許是一棵空樹;也許是擁有以下性質(zhì)的二叉樹:(1)若左子樹不空,則左子樹上全部結(jié)點的值均小于它的根結(jié)點的值;(2)若右子樹不空,則右子樹上全部結(jié)點的值均大于它的根結(jié)點的值;(3)左、右子樹也分別為二叉排序樹;查找:若根結(jié)點的要點字值等于查找的要點字,成功。否則,若小于根結(jié)點的要點字值,遞歸查左子樹。若大于根結(jié)點的要點字值,遞歸查右子樹。若子樹為空,查找不能功。排序算法:直接插入排序:插入排序的基本操作就是將一個數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而獲取一個新的、個數(shù)加一的有序數(shù)據(jù),算法適用于少量數(shù)據(jù)的排序,時間復(fù)雜度為o(n^2)。是牢固的排序方法。插入算法把要排序的數(shù)組分成兩部分:第一部分包括了這個數(shù)組的全部元素,但將最后一個元素除外,而第二部分就只包括這一個元素。在第一部分排序后,再把這個最后元素插入到此刻已經(jīng)是有序的第一部分里的地址。希爾排序:先取一個小于n的整數(shù)d1作為第一個增量,把文件的全部記錄分成d1個組。全部距離為d1的倍數(shù)的記錄放在同一個組中。先在各組內(nèi)進行直接插入排序;爾后,取第二個增量d2d1重復(fù)上述的分組和排序,直至所取的增量dt=1(dtdt-l?d2d1),即全部記錄放在同一組中進行直接插入排序為止。冒泡排序:依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后邊。即在第一趟:第一比較第1個和第2個數(shù),將小數(shù)放前,大數(shù)放后。爾后比較第2個數(shù)和第3個數(shù),將小數(shù)放前,大數(shù)放后,這樣連續(xù),直至比較最后兩個數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對數(shù)開始比較(由于可能由于第2個數(shù)和第3個數(shù)的交換,使得第1個數(shù)不再小于第2個數(shù)),將小數(shù)放前,大數(shù)放后,素來比較到倒數(shù)第二個數(shù)(倒數(shù)第一的地址上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的地址上獲取一個新的最大數(shù)(其實在整個數(shù)列中是第二大的數(shù))。這樣下去,重復(fù)以上過程,直至最后完成排序。4.快速排序:經(jīng)過一趟排序?qū)⒁判虻臄?shù)據(jù)切割成獨立的兩部分,其中一部分的全部數(shù)據(jù)都比其余一部分的全部數(shù)據(jù)都要小,爾后再按此方法對這兩部分數(shù)據(jù)分別進行快速排序,整個排序過程能夠遞歸進行,以此達到整個數(shù)據(jù)變成有序序列。5.直接選擇排序:第一次從r[0]~r[n-1]中采用最小值,與r[0]交換,第二次從r{1}~r[n-1]中采用最小值,與r[1]交換,....第i次從r[i-1]~r[n-1]中采用最小值,與r[i-1]交換.....第n-1次從r[n-2]~r[n-1]中采用最小值,與r[n-2]交換,總合經(jīng)過n-1次,獲取一個按排序碼從小到大排列的有序序列。歸并排序:申請空間,使其大小為兩個已經(jīng)排序序列之和,該空間用來存放歸并后的序列;設(shè)定兩個指針,最先地址分別為兩個已經(jīng)排序序列的初步地址;比較兩個指針所指向的元素,選擇相對小的元素放入到歸并空間,并搬動指針到下一地址;重復(fù)直到某一指針達到序列尾;另一序列剩下的全部元素直接復(fù)制到歸并序列尾。心得:無論我們學(xué)習(xí)什么課程,看法永遠是基礎(chǔ),全部的知識都是成立在基礎(chǔ)看法之上的。我們要將看法熟記于心,爾后成立知識框架。數(shù)據(jù)構(gòu)造包括線性構(gòu)造、樹形構(gòu)造、圖狀構(gòu)造或網(wǎng)狀構(gòu)造。線性構(gòu)造包括線性表、棧、隊列、串、數(shù)組、廣義表等,棧和隊列是操作受限的線性表,串的數(shù)據(jù)對象拘束為字符集,數(shù)組和廣義表是對線性表的擴展:表中的數(shù)據(jù)元素自己也是一個數(shù)據(jù)構(gòu)造。除了線性表以外,棧是要點,由于棧和遞歸親密相連,遞歸是程序設(shè)計中很重要的一種工具。樹狀構(gòu)造中的要點自然是二叉樹和哈弗曼樹了。對于二叉樹的好多操作都是基于對二叉樹的遍歷,掌握了如何遍歷,好多問題也就瓜熟蒂落了,比方對二叉樹結(jié)點的查找接見、統(tǒng)計二叉樹中葉子結(jié)點的數(shù)目、求二叉樹的深度等。哈弗曼編碼也有著很廣泛的應(yīng)用。對于圖狀構(gòu)造,主要學(xué)習(xí)圖的儲藏構(gòu)造及圖的遍歷。對算法的學(xué)習(xí)是學(xué)習(xí)數(shù)據(jù)構(gòu)造的要點。要側(cè)重對算法的掌握。對于一個算法,若是我們不是很理解的話,能夠手動將算法走一遍,慢慢理解該算法的思想。學(xué)習(xí)這門課程的最后目的,還是要學(xué)會如何設(shè)計算法,這需要我們長遠的練習(xí)和思慮?!酒簲?shù)據(jù)構(gòu)造學(xué)習(xí)心得】課程學(xué)習(xí)總結(jié)各元素之間沒有直接的關(guān)系,散列和矛盾辦理是散列法中最重要的兩個看法。散列經(jīng)過某種函數(shù)確定節(jié)點要點字與節(jié)點儲藏地址之間的關(guān)系。常用的散列函數(shù)有直接定址法、除留余數(shù)法、數(shù)字解析法、平方取中法和折疊法等。由于散列法的自己特點,矛盾的發(fā)生是不能防備的。第十章介紹了圖的看法及其應(yīng)用,是教材的難點。圖的儲藏構(gòu)造的知識點有:毗鄰矩陣、毗鄰表、逆毗鄰表、十字鏈表和毗鄰多重表。圖的遍歷包括圖的深度優(yōu)先找尋遍歷和廣度優(yōu)先找尋遍歷。其余知識點有:有向圖、連通圖、生成樹和森林、最短路徑問題和有向無環(huán)圖及其應(yīng)用。有向無環(huán)圖要點理解aov網(wǎng)和拓撲排序及其算法。第十一章:略二、學(xué)習(xí)領(lǐng)悟三、授課建議1、希望平時階段核查的題目能夠依照考研的標準來出,讓我們適應(yīng)試研的試卷。2、希望老師在講完每章后,能增加一些隨堂小練習(xí),加深我們對每一章的理解。3、希望老師到下課的時候能準時下課,聽這門課真得很費腦力,給我們一點休息的時間。以上是我對《數(shù)據(jù)構(gòu)造與算法》這門課程所作的課程總結(jié)。誠然這門課程結(jié)束了,但是,我還有好多內(nèi)容沒有掌握牢固,我會連續(xù)努力的?!酒簲?shù)據(jù)構(gòu)造課程設(shè)計心得領(lǐng)悟】數(shù)據(jù)構(gòu)造課程設(shè)計心得領(lǐng)悟經(jīng)過一個星期的課程設(shè)計,過程曲折可謂一語難盡。整天都是對著電腦,否則就是翻閱資料。在此時期我失落過,也曾一度熱情高漲。點點滴滴令我回味無長。此次課程設(shè)計使我領(lǐng)悟到只有做到認真耐心,恒心才能做好事情。此次的課程設(shè)計,加強了我們著手、思慮和解決問題的能力。牢固和加深了對數(shù)據(jù)構(gòu)造的理解,提高綜合運用本課程所學(xué)知識的能力。培養(yǎng)了我采用參照書,查閱手冊及文件資料的能力。培養(yǎng)獨立思慮,深入研究,解析問題、解決問題的能力。經(jīng)過實質(zhì)編譯系統(tǒng)的解析設(shè)計、編程調(diào)試,掌握應(yīng)用軟件的解析方法和工程設(shè)計方法。經(jīng)過課程設(shè)計,培養(yǎng)了我嚴肅認真的工作作風,漸漸成立正確的生產(chǎn)看法、經(jīng)濟看法和全局看法。而且做課程設(shè)計同時也是對課本知識的牢固和加強,平時看課本時,有些問題就不是很能理解,做完課程設(shè)計,那些問題就瓜熟蒂落了。而且還可以夠記住好多東西。認識本源于實踐,實踐是認識的動力和最后目的,實踐是檢驗真理的唯一標準。因此這個期末測試此后的課程設(shè)計對我們的作用是特別大的。此次的課程設(shè)計使我懂得了理論與實質(zhì)相結(jié)合是很特別重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真切為社會服務(wù),從而提高自己的實質(zhì)著手能力和獨立思慮的能力。在整個設(shè)計過程中

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論