数据结构与算法课程学习总结
2010 年 05 月 20 日
班级: 姓名: 学号:
一、课程学习内容总结
(1)第一章知识点及主要知识:
本章的重点是数据结构中的逻辑结构、存储结构、数据的运算 3 个方面的
概念及相互关系,难点是算法复杂度的分析方法。基本概念和术语有数据、数
据元素、数据项、数据结构。特别是数据结构的逻辑结构、存储结构及运算的
含义及其相互关系;数据的结构的两大类逻辑结构和 4 个常用的存储表示方法;
算法、算法的时间复杂度和空间复杂度、最坏的和平均时间复杂度等概念,算
法描述和算法分析的方法、对一般的算法要能分析出时间复杂度和空间复杂度。
本人掌握知识情况及分析:
通过对这一章的学习,我理解了数据和数据结构的有关概念,熟悉了数据
结构的逻辑结构和存储结构。但对算法的时间、空间性能分析还不太熟练,尤
其是空间性能分析需要加强。
(2)第二章知识点及主要知识:
本章介绍了顺序表、顺序串的结构、数据类型、基本运算及相关应用。
顺序表是一种具有线性逻辑结构、顺序存储结构的数据集合,它的一些基
本运算包括初始化表、求表长、查找表中元素、插入元素及删除元素等。其中
实现顺序表的插入与删除运算时要大量移动元素,算法的时间复杂度为 O(n)。
顺序串是顺序表的一个特列。其特别之处在于组成顺序串的数据元素是一组字
符。
顺序串的运算主要是针对字符串来进行的,其基本运算大多数都比较简单 ,
只有“子串定位”(串的模式匹配)运算较为复杂。模式匹配时各种串处理系统
中重要的操作之一,本章介绍了模式匹配的简单算法思想。
本人掌握知识情况及分析:
通过对这一章的学习,对于顺序表的概念、生成算法理解较为清晰,并且
熟悉简单顺序查找和二分查找,不过对于分块查找较为含糊;在排序问题中,
因为冒泡排序在大一 C 语言课上已经学习过了,再来学习感觉很轻松。对于插
入排序和选择排序理解的不错,但是,在实际运用中仍然出现明显不熟练的现
象。在学习归并排序过程中感觉较吃力,现在对这种排序方法仍然非常模糊,
所以需要花较多的时间来补习。此外串的模式匹配也是我较难理解的一个内容。
(3)第三章知识点及主要知识: