2023年數(shù)據(jù)結(jié)構(gòu)與算法 數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)_第1頁
2023年數(shù)據(jù)結(jié)構(gòu)與算法 數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)_第2頁
2023年數(shù)據(jù)結(jié)構(gòu)與算法 數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)_第3頁
2023年數(shù)據(jù)結(jié)構(gòu)與算法 數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)_第4頁
2023年數(shù)據(jù)結(jié)構(gòu)與算法 數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——2023年數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計(5篇)范文為教學中作為模范的文章,也往往用來指寫作的模板。往往用于文秘寫作的參考,也可以作為演講材料編寫前的參考。那么我們該如何寫一篇較為完美的范文呢?下面是我?guī)痛蠹艺淼膬?yōu)質(zhì)范文,僅供參考,大家一起來看看吧。

length;i++){}scanf(“%d〞,s-a[i]);printf(“溢出n〞);}for(i=0;i#definemaxsize100#definedatatypeinttypedefstructshun{datatypea[maxsize];intlength;}shun;shuns;voidinit(shun*s){}voidsetup(shun*s){#definedatatypechartypedefstructlnklist{datatypea;structlnklist*next;}list;list*s;數(shù)據(jù)結(jié)構(gòu)與算法論文數(shù)據(jù)結(jié)構(gòu)與算法分析課程設計篇五

“數(shù)據(jù)結(jié)構(gòu)與算法〞課程學習總結(jié)報告

1004012033陳孝婕10計本3“數(shù)據(jù)結(jié)構(gòu)與算法〞這門課程對于計算機科學與技術系的學生來說是十分重要的課程。這門課程主要包括十個章節(jié)。

一.每章主要知識點總結(jié)和個人把握狀況

第一章主要要求學生把握數(shù)據(jù)、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、算法及算法分析等基本概念和基礎知識。另外,第一章結(jié)合課程學習要求,復習和把握算法描述工具--c語言中的指針類型與指針變量、結(jié)構(gòu)類型與結(jié)構(gòu)變量、函數(shù)與參數(shù)、遞歸定義和遞歸函數(shù)、動態(tài)存儲分派、文件操作、程序測試和測試集、測試數(shù)據(jù)的設計和程序調(diào)試等問題。

從這一章中我不僅學到了數(shù)據(jù)結(jié)構(gòu)的基本概念和基礎知識,了解到什么是數(shù)據(jù)結(jié)構(gòu),我們?yōu)槭裁匆獙W習數(shù)據(jù)結(jié)構(gòu)這門課程。而且復習了大一下學期所學的c語言程序課程設計中的算基本法語句。有利于數(shù)據(jù)結(jié)構(gòu)與算法后面課程的學習。

其次章主要學習順序表(包括順序串)數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、基本算法及相關應用。知識點包括順序表的概念、數(shù)據(jù)結(jié)構(gòu)定義、數(shù)據(jù)類型描述、基本算法的實現(xiàn)及其性能的分析等知識;還有“查找〞和“排序〞的概念,“查找〞包括3種查找方式:簡單順序查找、二分查找、分塊查找;“排序〞包括直接插入排序、希爾排序、冒泡排序、快速排序、直接選擇排序和歸并排序(重點為二路歸并排序)6種排序方式;把握應用順序表來進行查找和排序的各類算法以及不同的查找和排序算法間的性能差異。在此基礎上,理解順序串的相關應用。

從這一章中我學習到各種不同的查找方法和排序方式,其中二分查找作為重點查找方法我進行了重點學習,熟悉并熟練地運用二分查找并且了解到各種排序方法適合于不同的順序表。對于順序串的學習,我主要把握了字符串的基本運算,包括:求串長strlen(s)、連接stract(st1,st2)、求子串substr(s,i,j)、對比串的大小strcmp(s,t)、插入insert(s1,i,s2)、刪除delete(s,i,j)、子串定位index(s1,s2)、置換(replace(s1,i,j,s2)、replace(s,t,v)兩種)。

第三章主要學習鏈表(單聊表、循環(huán)鏈表)的概念、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型描述、基本算法以及鏈表相關應用。需要把握各種鏈表的概念、數(shù)據(jù)結(jié)構(gòu)定義、基本算法實現(xiàn)以及算法的性能分析等知識,把握鏈表的相關應用方法,在此基礎上把握鏈串的相關知識。

通過這一章我學習了另一種數(shù)據(jù)結(jié)構(gòu)——鏈表,在規(guī)律結(jié)構(gòu)上,鏈表與順序表一樣,也是線性規(guī)律結(jié)構(gòu);單鏈表借助“地址〞的概念,使用了鏈式存儲結(jié)構(gòu),產(chǎn)生了一種新的數(shù)據(jù)結(jié)構(gòu)——鏈表,鏈表的基本操作是地址運算,在此基礎上構(gòu)成的鏈表基本算法的特點也就不同,從鏈表算法的功能看,鏈表的基本運算與順序表基本一致,但實現(xiàn)方法和過程與順序表是不同的,鏈表可分為靜態(tài)鏈表和動態(tài)鏈表兩種。這一章我學習到的實際應用是鏈表的創(chuàng)立、插入和刪除等基本操作。循環(huán)鏈表的建立和查詢方法。

第四章主要知識點是在兩種不同的存儲結(jié)構(gòu)下設計的堆棧,即順序棧和鏈棧。主要內(nèi)容是順序棧和鏈棧的概念、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)定義和基本運算算法及其性能分析。通過對本章的學習,要求把握順序棧及鏈棧的數(shù)據(jù)類型描述、數(shù)據(jù)結(jié)構(gòu)、基本算法及其性能分析等知識。在此基礎上,了解堆棧的相關應用,把握應用堆棧解決實際問題的思想及方法。

通過對這一章的學習,我了解了堆棧的概念,堆棧的原理、創(chuàng)立方法以及使用方式?!昂筮M先出〞是其基本原則。利用堆棧可以輕松便利的解決對稱問題以及括號匹配等問題。堆棧與順序表、鏈表不同的是,堆棧只能對一端的數(shù)據(jù)元素進行操作,即只在棧頂進行元素的插入和刪除。把握順序棧和鏈表的存儲結(jié)構(gòu)是學習堆棧的要素之一。堆棧是一類常用的數(shù)據(jù)結(jié)構(gòu),被廣泛應用于各種程序設計中。

第五章的重點知識是在順序存儲和鏈接存儲下的兩種隊列——順序(循環(huán))隊列和鏈隊

列的數(shù)據(jù)結(jié)構(gòu)、基本運算及其性能分析以及應用。通過本章的學習,要求把握順序隊列(重點是循環(huán)隊列)及鏈隊列的概念、數(shù)據(jù)類型描述、數(shù)據(jù)結(jié)構(gòu)、基本算法及其性能分析等知識。在此基礎上,了解隊列的相關應用,把握應用隊列來解決實際問題的思想及方法。

通過這一章的學習,我把握了隊列的定義,概念,創(chuàng)立以及“對頭刪除〞,“隊尾插入〞的原則。重點了解了判斷循環(huán)隊列空和滿的判斷條件。同堆棧一樣,隊列也是一種具有線性規(guī)律結(jié)構(gòu)、運算受限制的數(shù)據(jù)結(jié)構(gòu)。與堆棧只在一端(棧頂)進行元素的插入和刪除運算不同的是,隊列是在對頭進行插入,而在隊尾完成數(shù)據(jù)元素的刪除,所以隊列的算法和適用的應用問題與堆棧有很大的區(qū)別。隊列作為一類常用的數(shù)據(jù)結(jié)構(gòu),被廣泛應用于各種程序設計中。

第六章主要學習數(shù)組、系數(shù)矩陣和廣義表的基本概念、集中特別矩陣的存儲結(jié)構(gòu)及基本運算,在此基礎上學習特別矩陣的計算算法與廣義表應用等相關問題。通過本章的學習,要求把握特別矩陣的壓縮存儲結(jié)構(gòu),在該存儲結(jié)構(gòu)下元素的定位方法,理解稀疏矩陣的計算和廣義表的存儲結(jié)構(gòu)及其基本運算。了解矩陣與廣義表的相關應用。

通過這章的學習和前幾章的對比,我了解到前幾章的線性結(jié)構(gòu)中的數(shù)據(jù)元素都是非結(jié)構(gòu)的原子類型,即每一個元素都是不可再分解的。本章探討的數(shù)組和廣義表等數(shù)據(jù)結(jié)構(gòu)可以看成是在前幾章線性結(jié)構(gòu)基礎上的一個擴展:組成該數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素本身也是一個數(shù)據(jù)結(jié)構(gòu)。矩陣計算應當數(shù)值計算方面的問題,由于矩陣和數(shù)組的關系以及特別矩陣存儲結(jié)構(gòu)的繁雜性,進而使得特別矩陣的存儲結(jié)構(gòu)和算法也表現(xiàn)出其特別性,所以數(shù)據(jù)機構(gòu)課程應當解決其計算問題。

第七章的學習重點是二叉樹的概念、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)定義和各種基本算法,在此基礎上介紹二叉樹的一些應用問題。通過本章的學習,我把握了二叉樹概念及其性質(zhì)、二叉樹的規(guī)律結(jié)構(gòu)和存儲結(jié)構(gòu)等知識,把握二叉樹的建立、遍歷、線索化等基本概念和算法及性能分析,能熟練應用二叉樹這章結(jié)構(gòu)來解決一些實際問題,如哈夫曼樹及哈夫曼編碼、查找與排序(二叉樹排序)等問題。了解堆棧排序及其算法等知識。二叉樹是非線性數(shù)據(jù)結(jié)構(gòu),是樹形結(jié)構(gòu)的一種特別形式。在現(xiàn)實生活有大量數(shù)據(jù)關系可抽象為樹或二叉樹的形式。本章中的二叉樹的概念及其性質(zhì)、二叉排序樹、存儲結(jié)構(gòu)、遍線索(化)、基本算法為重點內(nèi)容,二叉排序樹的應用難為點內(nèi)容。

第八章的學習重點是樹和森林的數(shù)據(jù)結(jié)構(gòu)、基本算法及其性能分析,樹和森林與二叉樹間的轉(zhuǎn)化算法等,在此基礎上介紹樹的應用——b-樹。通過本章的學習,我把握了樹和森林的概念和性質(zhì)、數(shù)據(jù)結(jié)構(gòu)、樹的基本算法及性能分析、樹與二叉樹間的轉(zhuǎn)換及其算法,并能應用b-樹來實現(xiàn)數(shù)據(jù)元素的動態(tài)查找。舒適一種非線性結(jié)構(gòu),它在二叉樹的基礎上做了更為一般化的擴展,而森林是樹的集合。在樹結(jié)構(gòu)中,每一個元素最多只有一個前驅(qū),但可能有多個后繼?,F(xiàn)實生活中的家族關系、單位的組成結(jié)構(gòu)等,均可抽象為樹的形式。

第九章學習重點是散列結(jié)構(gòu)的相關知識,學習常用的散列函數(shù)和沖突處理方法,散列表的常用算法及其性能分析,通過本章的學習,我把握了散列結(jié)構(gòu)和散列函數(shù)的相關概念,把握散列結(jié)構(gòu)的存儲(散列表)的相關概念,要求把握散列沖突處理方法(散列法)的相關知識,并能靈活運用散列法解決應用問題。

散列結(jié)構(gòu)是使用散列函數(shù)建立數(shù)據(jù)結(jié)點關鍵字與存儲地址之間的對應關系并提供多種當數(shù)據(jù)節(jié)點存儲地址發(fā)生“沖突〞時的處理方法而建立的一種數(shù)據(jù)結(jié)構(gòu)。散列結(jié)構(gòu)的查找等運算效率是很高的,本章中的散列函數(shù)、散列結(jié)構(gòu)、散列表、散列法的基本概念和基本算法是重點,線性探測散列算法、鏈地址法散列算法和散列法的應用是難點。

第十章的學習重點是圖的定義及性質(zhì),圖的四種存儲結(jié)構(gòu),圖的兩種遍歷算法以及圖的典型應用,包括最小生成樹、最短路徑、拓撲排序和關鍵路徑等。通過本章學習,我把握了圖的概念和基本性質(zhì),圖的存儲結(jié)構(gòu)(鄰接矩陣和鄰接表)及其基本算法、圖的遍歷及算法、圖的最小生成樹普利姆算法或者克魯斯卡爾算法、圖的最短路徑迪杰斯特拉算法和弗洛伊德算法、有向無環(huán)圖拓撲排序算法。了解了圖的逆鄰接表、十字鏈表、鄰接多重表存儲結(jié)構(gòu)及其基本算法、關鍵路徑求解算法,并能靈活運用圖的不同的數(shù)據(jù)結(jié)構(gòu)和遍歷算法解決繁雜的應用問題。

二.課程學習體會

在學習開始的時候,老師就明確提出它不是一種計算機語言,不會介紹c語言的變成語言,而是通過學習可以設計出良好的算法,高效地組織數(shù)據(jù)。一個程序無論采用何種語言,其基本算法思想不會改變。聯(lián)系到在大一和大二上學期學習的c和c++語言,我深刻認識到了這一點?!败浖_發(fā)好比寫作文,計算機語言提供了大量綺麗的辭藻,而數(shù)據(jù)結(jié)構(gòu)則考慮如何將這些辭藻組織成一篇優(yōu)秀的文章來。〞在學習這門課中,要熟悉對算法思想的一些描述手段,包括文字描述、圖形描述和計算機語言描述等。因此,計算機語言基礎是必需的,由于它提供了一種重要的算法思想描述手段——機器可識別的描述。

這門課終止之后,我總結(jié)了學習中遇到的一些問題,最為突出的,書本上的知識與老師的講解都對比簡單理解,但是當自己采用剛學的知識點編寫程序時卻感到十分難辦,有時表現(xiàn)在想不到適合題意的算法,有時表現(xiàn)在算法想出來后,只能將書本上原有的程序段謄寫到自己的程序中再加以必要的連接以完成程序的編寫。針對這一狀況,我會嚴格要求自己,熟練把握算法思想,盡量獨立完成程序的編寫與修改工作,只有這樣,才能夠提高運用知識,解決問題的能力。

三.對《數(shù)據(jù)結(jié)構(gòu)與算法》課程教學的建議

1、建議在上課過程中加大隨堂練習的分量,以便學生能當堂消化課堂上學習的知識,也便于及時了解學生對知識點的把握狀況,同時有助于學生上課積極思考,不會開小差。

2、建議在課時允許的狀況下,增加習題課的分量,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論