当前位置:首页 > 数据结构论文
“数据结构与算法”课程学习总结报告
**级计科系 计本*班 ** 学号:******
一.数据结构与算法知识点概述 “数据结构与算法”课程主要学习在软件开发中涉及的各种常用数据结构及其常用算法,在此基础上,学习如何利用数据结构和算法解决一些基本的应用问题。学习一种数据结构必须掌握该数据结构的定义和基本应用两个方面的知识。本教材以“结构”为特色,每一个数据结构的学习都围绕着该数据结构的定义,通过数据结构的逻辑结构、存储结构、基本算法和相关应用问题来介绍其基本知识和应用知识。
第一章的“数据结构与算法概述”,主要介绍了什么是数据结构,什么是算法。着重介绍了数据和数据类型、数据结构、算法性能分析的知识。本章作为后续学习的引入,应该要认真对待。
从数据的逻辑结构来看,其后内容分为四个部分。
第一部分学习的是逻辑结构为“线性”的数据结构及其应用知识内容,包括第二章--第六章。
第二章的“顺序表及其应用”,主要向我们介绍了顺序表的相关知识。其中,顺序表的查找和排序是本章的重点,查找问题包括简单顺序查找、有序表的二分查找、分块查找;排序问题包括直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、归并排序。
第三章的“链表及其应用”,分为链表的基本概念、单链表的数据结构、单链表的基本算法、循环链表以及链表的应用。
第四章的“堆栈及其应用”介绍在两种不同的存储结构下设计的堆栈,即顺序栈和链栈的相关知识,了解堆栈的相关应用,掌握应用堆栈来解决实际问题的思想和方法。
第五章的“队列及其应用”主要介绍顺序存储和链接存储方式下的两种队列、顺序队列和链队列的数据结构、基本运算及其性能分析以及应用。
第六章的“特殊矩阵、广义表及其应用”,在这一章中将要学习数组、稀疏矩阵和广义表的基本概念,几种特殊矩阵的存储结构及基本运算,在此基础上学习特殊矩阵的计算方法与广义表应用等相关问题。
第二部分学习的是逻辑结构为“树形”的数据结构,这一部分的学习是我们这一学期学习的重点。包括第七章--第八章。
第七章的“二叉树及其应用”的知识结构主要是:非线性数据结构二叉树的定义、性质、逻辑结构、存储结构及其各种基本运算算法,包括二叉树的建立、遍历、线索化和表达式求值等算法。在此基础上,介绍了二叉树的一些应用问题,包括哈夫曼编码问题、二叉排序树问题和堆排序问题。
第八章的“树和森林及其应用”介绍了树和森林的基本概念,树的存储结构、基本算法和性能分析,B-树的相关知识。
第三部分学习的是逻辑结构为“集合型”的数据结构,包括第九章。
第九章的“散列结构及其应用”分别介绍了散列结构的基本概念,散列表,两种冲突处理方法,线性探测散列算法,链地址法。
第四部分学习的是逻辑结构为“图形”的数据结构,包括第十章。
第十章的“图及其应用”主要介绍图的定义和基本知识,图的4种存储结构,图的基本算法以及图的典型应用,如最小生成树和拓扑排序。
二、 对各知识点的掌握情况
我对各知识点的学习情况总结如下:
第一章对数据结构的概念以及对数据元素的存储结构理解颇深,但是对算法的时间性能,空间性能的分析掌握的不好,每次做到这样的题目总是容易出错。
第二章顺序表自我感觉良好。比如如何去建一个顺序表,顺序表的一些基本算法都可以很好运用。在顺序表这一章节中对查找算法和排序算法的兴趣要多一点,可能是老师讲解的比较细致吧。然而字符串的概念就有点模糊了,估计是没有做题目的原因。
第三章对于链表的知识,就像顺序表一样,还行,可是由于相对来说复杂了一点,所以掌握的不是很好。尤其是循环链表,就更加让我头大了。
第四章堆栈,讲到堆栈,我首先想到的是“先进后出”。因为之前学过这方面的内容,所以学起来不吃力。
第五章队列则是“先进先出”。和堆栈的难易差不多。只是链队列要复杂一点。 第六章矩阵和广义表,我感觉这部分挺简单的。
第七章二叉树是本书的重点,基础知识部分都挺简单的,只是编写算法有点生疏。 第八章树和森林中,树与二叉树之间的转换,森林与二叉树的转换刚开始学的时候不怎么清楚,后来复习的时候自己弄懂了。
第九章散列结构没有深入学习,大致了解散列表,散列函数和冲突的处理方法,但是冲突的处理方法有些晕。
第十章图,这一章知识点比较多,因为在上离散数学的时候学过,所以有向图和无向图的邻接矩阵,邻接表不觉得难。可是图的遍历就不会了。
三、 学习体会
上个学期就知道这个学期要学数据结构,还没学的时候很期待,可是上课课之后有点难过,因为都是要写程序的。而我的C语言学的又不好,就有点头痛了。可是后来老师说,数据结构并不是教我们写程序,而是学数据结构的思想,学会用数据结构与算法解决一些问题,想要学好数据结构必须会各种算法的数据结构的定义。此外,一个算法的时间性能和空间性能也是很重要的,是选择算法必须要考虑的因素。不过,不管怎么样,通过一个学期的学习,我觉得要学好数据算法与结构这门课,不能只是上课听听就行的。还要靠课下的复习,和通过做习题来加深理解。当然,本学期我觉得最难过的就是上实验课了。开始时觉得老师真的是太严格了,要检查预习报告,还要批改。不过后来也就好了,而且我觉得这样也挺好的,虽然我们是大学生,可是很多时候都很懒,不写预习报告就去做实验。这样更本就是在做无用功。所以我还是支持老师的做法的。
四、对课程教学的建议
我觉得我们的习题做得不够多,刚开始老师让我们做课后习题的时候,还是很愿意做的。可是后来就不怎么想做了,因为老师有的题目不讲,即使讲了,也讲解的太快。这样反而没什么效果,就是核对一下答案,这还不如把答案发给我们,让我们自己看。
共分享92篇相关文档