数据结构与算法课程设计总结(4篇)_第1页
数据结构与算法课程设计总结(4篇)_第2页
数据结构与算法课程设计总结(4篇)_第3页
数据结构与算法课程设计总结(4篇)_第4页
数据结构与算法课程设计总结(4篇)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——数据结构与算法课程设计总结(4篇)总结是对某一特定时间段内的学习和工作生活等表现状况加以回想和分析的一种书面材料,它能够使头脑更加清醒,目标更加明确,让我们一起来学习写总结吧。总结书写有哪些要求呢?我们怎样才能写好一篇总结呢?以下是我精心整理的总结范文,供大家参考借鉴,希望可以帮助到有需要的朋友。

数据结构与算法课程设计总结篇三

数据结构课程总结

孙博110401104511计本3班

如何合理的组织数据、高效的处理数据是扩大计算机应用领域、提高软件效率的关键。而在软件开发过程中人们会要求软件工程师们使程序有更高的运行效率。因此要成为一名合格的软件编程员,必需具备数据结构领域和算法设计领域的专门知识。

本学期我们在李红老师的带领下学习了《数据结构结构与算法》一书。这本书安排十分合理,在第一章对全书进行导引和学习的基础知识、预备知识。在2—6章中使规律结构为“线性〞的数据结构及其应用知识内容。在7、8章中使规律结构中的为“树形〞的数据结构及应哟就能够只是内容。在第九章中使规律结构为“集合性〞的数据元素在三列存储下的数据结构及其应用知识内容。在第十章使规律结构为“图形〞的数据数据结构及其应用知识内容。下面将对各章的内容惊醒总结:

第一章:首先介绍了数据的相关知识,陈述了数据的概、构成等,数据的最小组成单位。然后陈述了数据类型与数据结构。

数据类型包括概念及定义,数据类型包括简单数据类型和繁杂数据。简单数据类型有:整数,实属,字符,指针,枚举量等。而繁杂数据类型包括:数组,结构图,共用体。

而数据结构主要使探讨元素之间的关系,数据结构包括三方面内容,及规律结构,存储结构以及一组运算集合。数据的规律结构有四种基本结构:集合性结构,线性结构,树形结构,图形结构。数据的存储结构是指数据严肃在存储器中的存储方式包括顺序存储,链表存储,索引存储,散列存储。

然后介绍以前学习的c语言(及本教材的使用的算法描述工具)知识锦兴路回想包括指针、结构比阿亮、函数、递归、动态存储分派、文件操作等内容。

其次章:顺序表及其应用主要介绍的是线性规律结构的呼声几乎在顺序存储方法下的数据结构顺序标的概念、数据类型、数据结构、基本运算及相关应用问题。

应用一:查找—介绍了两种方法:简单顺序查找(从书序标的一端来时扫描,将待查找元素与数据节点中的个元素比较。若相等,则查找成功,否则失败)和二分查找(将表中间的记录的关键字与给定的值比较,若相等,则成功。否则,将顺序表风味左右两个字表,然后在子表中进一步查找。)应用二:排序问题—介绍了交换排序,选择排序,插入排序,归并排序。

1、插入排序

包括直接插入排序(将顺序表分为左右两个子表,左子表为有序表,右子表为无序表,将右子表中的元素插入左子表中)和希尔排序法(将整个待排序的元素序列分割成若干子序列,对每个子序列分别进行直接插入排序,当整个带排序元素序列“基本有序时〞,在进行直接插入排序)

2、交换排序

a)冒泡排序:两辆比较待排序元素的关键字,发现相反时即进行交换,知道没有逆序的元素为止。b)快速排序算法:在待排序的元素中选定一个“中间数〞,将其他数据元素与该数比较,将比其小的数据放道左子表中,比起大的放入右子表中。

3、选择排序a)直接选择排序:将数据进行多谈排序,每趟选出其中的最大数或最小数放在最终位置上,每趟中已排好的数不再参与下一轮的排序。b)堆排序:输出堆顶元素将剩余元素按关键字大小重诚信排列成一个堆重复上述2个步骤

4、归并排序

将两个或两个以上的有序表合并成一个新的有序表。应用三:字符处理问题介绍了串和顺序串的定义及相关概念,还有顺序串的基本算法。

第三章:介绍链表。链表中数据元素的存储不一定是连续的,还可以占用任意的、不连续的物理存储区域。与顺序表相比,链表的插入、删除不需要移动元素,给算法的效率带来较大的提高,且在存储空间上有动态申请的优点。这一章中介绍了链表的节点结构、静态与动态链表的概念、链表的基本运算(如求表长、插入、查找、删除等)、单链表的建立(头插法和尾插法)以及双向循环链表的定义、结构、功能和基本算法。弄清其个运算的算法思想及其时间繁杂度和空间性能。最终介绍了链表之中存储结构在实际中的相关应用。

a)单循环链表是一种首尾相接的单链表,终端结点的指针域指向开始结点或头结点。链表终止条件是以指针等于头指针或尾指针。采用单循环链表在实用中多采用尾指针表示单循环链表。优点是查找头指针和尾指针的时间都是o(n),不用遍历整个链表。

b)双链表就是双向链表,就是在单链表的每个结点里再增加一个指向其直接前趋的指针域prior,形成两条不同方向的链。由头指针head惟一确定。双链表也可以头尾相构成双循环链表。双链表上的插入和删除时间繁杂度均为o(1)。

顺序表和链表的比较

a)基本空间的考虑存储密度是指节点数据本身所占的存储量除以结点构所占的存储总量所得的值。值越大存储空间利用率越高。

顺序表是静态分派的,存储密度为1,链表是动态分派的,存储密度小于1。b)顺序表适用于静态查找,要进行删除和插入操作时,需移动大量结点。链表适用于做动态的插入和删除。

第四章:堆栈是运算受限制的线性结构。其基本运算方法与顺序表和链表运算方法基本一致,不同的是堆栈须遵循“先进后出〞的规则,对堆栈的操作只能在栈顶进行;堆栈在文字处理,匹配问题和算术表达式的求值问题方面的应用。

a)栈的基本运算有六种:构造空栈:initstack,判栈空:stackempty,判栈满:stackfull,进栈:push,退栈:pop,取栈顶元素:stacktopb)在顺序栈中有“上溢〞和“下溢〞的现象。“上溢〞是栈顶指针指出栈的外面是出错状态。“下溢〞可以表示栈为空栈,因此用来作为控制转移的条件。

c)顺序栈中的基本操作有六种:构造空栈,判栈空,判栈满,进栈,退栈,取栈顶元素

d)链栈则没有上溢的限制,因此进栈不要判栈满。链栈不需要在头部附加头结点,只要有链表的头指针就可以了。e)

链栈中的基本操作有五种:构造空栈,判栈空,进栈,退栈,取栈顶元素

第五章:队列及其应用,我们知道队列是一种特别的线性表,是一种具有线性规律结构的数据元素的集合。而队列的运算遵循“先进后出〞的原则,因此,队列也是一个运算受限制的线性表。a)队列的基本运算有六种:置空队:initqueue,判队空:queueempty,判队满:queuefull,入队:enqueue,出队:dequeue,取队头元素:queuefrontb)顺序队列的“假上溢〞现象:由于头尾指针不断前移,超出向量空间。这时整个向量空间及队列是空的却产生了“上溢〞现象。为了战胜“假上溢〞现象引入循环向量的概念,是把向量空间形成一个头尾相接的环形,这时队列称循环队列。c)判定循环队列是空还是满,方法有2种:一种是另设一个标志变量来判断;其次种是少用一个元素空间,入队时先测试(q-rear%m=q-front?)满:空。d)队列的链式存储结构称为链队列,一个链队列就是一个操作受限的单链表。为了便于在表尾进行插入的操作,在表尾增加一个尾指针,一个链队列就由一个头指针和一个尾指针唯一地确定。链队列不存在队满和上溢的问题。在链队列的出队算法中,要注意当原队中只有一个结点时,出队后要同进修改头尾指针并使队列变空。

第六章:介绍了特别矩阵和广义表的概念与应用。其中,特别矩阵包括对称矩阵、三角矩阵、对角矩阵和稀疏矩阵,书中分别详细介绍了它们的存储结构。其中三元组和十字链表这两种结构尤为重要;对着两种结构的建立了应用要把握。稀疏矩阵的应用包括转置和加法运算等。最终介绍了广义表的相关概念及存储结构,关于它的应用,课本中举了m元多项式的表示问题。

第七章:二叉树的知识是重点内容。在介绍有关概念时,提到了二叉树的性质以及两种特别的二叉树:完全二叉树和满二叉树。接着介绍二叉树的顺序存储和链接存储以及生成算法。重点介绍二叉树的遍历算法(递归算法、先序、中序和后序遍历非递归算法)和线索二叉树。二叉树的应用:基本算法、哈夫曼树、二叉排序树和堆排序,其中关于二叉排序树和哈弗曼书的构建是重点。

a)两种特别的二叉树:完全二叉树(非叶子节点均有两个孩子节点并且对于仍一层某一节点有孩子节点,该层所有节点均有孩子节点)和满二叉树(在完全二叉树上的基础上最下层从左到右删除若干个节点。)

b)二叉树的5个重要性质

c)根据结点的次序不同可得三种遍历:先序遍历,中序遍历、后序遍历。

d)二叉树的应用:基本算法、哈弗曼树、二叉排序树和堆排序

第八章:介绍了树和森林。树与二叉树是不同的概念。教材介绍了树和森林的概念、遍历和存储结构,还有树、森林和二叉树的相互关系,树或森林怎样转化成二叉树,二叉树又如何转换为树和森林等算法。

第九章:散列结构是一种查找效率很高的一种数据结构。本章的主要知识点有:散列结构的概念及其存储结构、散列函数、两种冲突处理方法、线性探测散列和链地址散列的基本算法以及散列结构的查找性能分析。

第十章:介绍了图的概念及其应用,是本书的难点。图的存储结构的知识点有:邻接矩阵、邻接表、逆邻接表、十字链表和邻接多重表。图的遍历包括图的深度优先探寻遍历和广度优先探寻遍历。其余知识点有:有向图、连通图、生成树和森林、最短路径问题和有向无环图及其应用。有向无环图重点理解aov网和拓扑排序及其算法。

心得体会以及建议:通过学习《数据结构与算法》我们可以设计出更好的算法,高效地组织数据。一个程序无论采用何种语言,其基本算法思想不会改变。“软件开发好比写作文,计算机语言提供了大量绮丽的辞藻,而数据结构则考虑如何将这些辞藻组织成一篇优秀的文章来。〞在学习这门课中,要熟悉对算法思想的一些描述手段,包括文字描述、图形描述和计算机语言描述等。因此,计算机语言基础是必需的,由于它提供了一种重要的算法思想描述手段——机器可识别的描述。

这门课终止之后,我总结了学习中遇到的一些问题,最为突出的,书本上的知识与老师的讲解都比较简单理解,但是当自己采用刚学的知识点编写程序时却感到十分难办,有时表现在想不到适合题意的算法,有时表现在算法想出来后,只能将书本上原有的程序段誊写到自己的程序中再加以必要的连接以完成程序的编写。针对这一状况,我会严格要求自己,熟练把握算法思想,尽量独立完成程序的编写与修改工作,只有这样,才能够提高运用知识,解决问题的能力。

教学的建议

1、建议在上课过程中加大随堂练习的分量,以便学生能当堂消化课堂上学习的知识,也便于及时了解学生对知识点的把握状况,同时有助于学生保持良好的精神状态。

2、建议在课时允许的状况下,增加习题课的分量,通过课堂的习题讲解,加深对知识点的把握,同时对各知识点的运用有一个更为直观和具体的认识。

以上便是我对《数据结构与算法》这门课的学习总结,我会抓紧时间将没有吃透的知识点补齐。今后我依旧会继续学习,战胜学习中遇到的难关,在打牢基础的前提下向更深入的层面迈进!

数据结构与算法课程设计总结篇四

数据结构与算法课程学习总结报告

数据结构与算法是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且也已经成为其他理工专业的热门选修课。随着高级语言的发展,数据结构在计算机的研究和应用中已浮现出强大的生命力,它兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活便利,应用面广,具有良好的可移植性。通过学习,先报告如下:

一、数据结构与算法知识点

本学期学的《数据结构与算法》这本书共有十一个章节:

第一章的内容主要包括有关数据、数据类型、数据结构、算法、算法实现、c语言使用中相关问题和算法分析等基本概念和相关知识。其中重点式数据、数据类型、数据结构、算法等概念;c语言中则介绍了指针、结构变量、函数、递归、动态存储分派、文件操作、程序测试与调试问题等内容。

其次章主要介绍的是线性规律结构的数据在顺序存储方法下的数据结构顺序表(包括顺序串)的概念、数据类型、数据结构、基本运算及其相关应用。其中重点一是顺序表的定义、数据类型、数据结构、基本运算和性能分析等概念和相关知识。二是顺序表的应用、包括查找问题(简单顺序查找、二分查找、分块查找)、排序问题(直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、归并排序)、字符处理问题(模式匹配)等内容。本章重点和难点在查找和排序问题的算法思想上,6种排序方法的性能比较。

第三章主要介绍的是线性规律结构的数据在链接存储方法下数据结构链表的相关知识。主要是单链表、循环链表的数据类型结构、数据结构、基本运算及其实现以及链表的相关应用问题,在此基础上介绍了链串的相关知识。在应用方面有多项式的相加问题、归并问题、箱子排序问题和链表在字符处理方面的应用问题等。本章未完全把握的是循环链表的算法问题和c的描述。

第四章介绍在两种不同的存储结构下设计的堆栈,即顺序栈和链栈的相关知识,了解堆栈的相关应用,把握应用堆栈来解决实际问题的思想及方法。本章主要内容是顺序栈和链栈的概念、数据类型、数据结构定义和基本运算算法及其性能分析。本章堆栈算法思想较为简单,所以能较好把握。

第五章主要介绍顺序存储和链接存储方法下的两种队列、顺序(循环)队列和链队列的数据结构、基本运算及其性能分析以及应用。顺序队列(重点是循环队列)和链队列的概念、数据类型描述、数据结构和基本运算算法及其性能分析等。本章同堆栈有点类似,算法思想较为简单,所以能较好把握;但难点重在循环队列队空、队满的判断条件问题。第六章“特别矩阵、广义表及其应用〞将学习数组、稀疏矩阵和广义表的基本概念,几种特别矩阵的存储结构及其基本运算,在此基础上学习特别矩阵的计算算法与广义表应用等相关问题。本章的重点是相关数据结构的存储结构及其基本运算算法。把握了特别矩阵的压缩存储结构,在该存储结构下元素的定位方法,理解了稀疏矩阵的计算和广义表的存储结构。

第七章“二叉树及其应用〞的知识结构主要是:非线性结构数据二叉树的定义、性质、规律结构、存储结构及其各种基本运算算法,包括二叉树的建立、遍历、线索化等算法。在此基础上,介绍二叉树的一些应用问题,包括哈夫曼编码问题、(平衡)二叉排序树问题和堆排序问题等。

第八章“树和森林及其应用〞介绍树和森林的数据结构、基本算法及其性能分析,树和森林与二叉树之间的转换算法等,在此基础上介绍树的应用b-树,应用b-树来实现数据元素的动态查找。本章基本把握树和森林的概念和性质、数据结构、树的基本算法及性能分析,树和二叉树间的转换及其算法,并用应用b-树来实现数据元素的动态查找未能把握好。

第九章“散列结构及其应用〞是规律结构“集合型〞的数据元素在散列存储方法下的数据结构及其应用知识内容。主要介绍散列函数的概念、散列结构的概念、散列存储结构的概念散列表、散列函数和散列表中解决冲突的处理方法开放定址法、链地址法以及散列表的基本算法及其性能分析。本章概念较为多,所以把握不太好。

第十章“图及其应用〞是规律结构为“图形〞的数据结构及其应用知识内容,主要介绍图的定义和基础知识,图的2种存储结构。图的基本算法以及图的典型应用问题(最小生成树、最短路径、拓扑排序和关键路径等)。

二、对各知识点的把握状况

我对各知识点的把握状况总结如下:

第一章不太难,能基本把握。但关系全书的时间性能分析有些未能全部把握。其次章本章重点和难点在查找和排序问题的算法思想上,6种排序方法的性能比较。本章未把握的为希尔排序、快速排序、归并排序的时间繁杂度分析。第三章,对链表把握还好,对其数据结构进行了分析,有循环链表,把握的不是很好,对其中一些用法不熟练。第四章堆栈,本章堆栈算法思想较为简单,所以能较好把握,但表达式计算问题未把握好的。第五章的循环队列队空、队满的判断条件问题把握的不是很好。第六章的重点是相关数据结构的存储结构及其基本运算算法。把握了特别矩阵的压缩存储结构,在该存储结构下元素的定位方法,理解了稀疏矩阵的计算和广义表的存储结构。第七章对二叉树把握较好,其概念,存储,遍历有很好的把握。就是对二叉排序树有点生疏,它的生成算法不是很会。第八章树树与二叉树之间的转换,森林与二叉树的转换算法思想基本把握。第九章散列的一些知识,没有深入学习,大约了解了散列存储结构散列表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论