当前位置: 贝贝文库 > 总结 > 数据结构设计报告总结 算法与数据结构

数据结构设计报告总结 算法与数据结构

作者: 曹czj

在当下社会,接触并使用报告的人越来越多,不同的报告内容同样也是不同的。优秀的报告都具备一些什么特点呢?又该怎么写呢?下面是小编带来的优秀报告范文,希望大家能够喜欢!

数据结构设计报告总结 算法与数据结构篇一

070401301507计本(3)班张浩

本学期开设的《数据结构与算法》课程已经告一段落,现就其知识点及其掌握情况、学习体会以及对该门课程的教学建议等方面进行学习总结。

在课本的第一章便交代了该学科的相关概念,如数据、数据元素、数据类型以及数据结构的定义。其中,数据结构包括逻辑结构、存储结构和运算集合。逻辑结构分为四类:集合型、线性、树形和图形结构,数据元素的存储结构分为:顺序存储、链接存储、索引存储和散列存储四类。紧接着介绍了一些常用的数据运算。最后着重介绍算法性能分析,包括算法的时间性能分析以及算法的空间性能分析。

第二章具体地介绍了顺序表的概念、基本运算及其应用。基本运算有:初始化表、求表长、排序、元素的查找、插入及删除等。元素查找方法有:简单顺序查找、二分查找和分块查找。排序方法有:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序及归并排序等。最后介绍了顺序串的概念,重点在于串的模式匹配。

链表中数据元素的存储不一定是连续的,还可以占用任意的、不连续的物理存储区域。与顺序表相比,链表的插入、删除不需要移动元素,给算法的效率带来较大的提高。链表这一章中介绍了链表的节点结构、静态与动态链表的概念、链表的基本运算(如求表长、插入、查找、删除等)、单链表的建立(头插法和尾插法)以及双向循环链表的定义、结构、功能和基本算法。

堆栈与队列是两种运算受限制的线性结构。其基本运算方法与顺序表和链表运算方法基本相同,不同的是堆栈须遵循“先进后出”的规则,对堆栈的操作只能在栈顶进行;而队列要遵循“先进先出”的规则,教材中列出了两种结构的相应算法,如入栈、出栈、入队、出队等。在介绍队列时,提出了循环队列的概念,以避免“假溢出”的现象。

第六章介绍了特殊矩阵和广义表的概念与应用。其中,特殊矩阵包括对称矩阵、三角矩阵、对角矩阵和稀疏矩阵,书中分别详细介绍了它们的存储结构。稀疏矩阵的应用包括转置和加法运算等。最后介绍了广义表的相关概念及存储结构,关于它的应用,课本中举了m元多项式的表示问题。

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

树与二叉树是不同的概念。教材介绍了树和森林的概念、遍历和存储结构,还有树、森林和二叉树的相互关系,树或森林怎样转化成二叉树,二叉树又如何转换为树和森林等算法。散列结构是一种查找效率很高的一种数据结构。本章的主要知识点有:散列结构的概念及其存储结构、散列函数、两种冲突处理方法、线性探测散列和链地址散列的基本算法以及散列结构的查找性能分析。

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

二、对各知识点的掌握情况

总体来看,对教材中的知识点理解较为完善,但各个章节均出现有个别知识点较为陌生的现象。现将各个章节出现的知识点理解情况列举如下。

第一章中我对数据和数据结构的概念理解较为透彻,熟悉数据结构的逻辑结构和存储结构。而对算法的时间、空间性能分析较为模糊,尤其是空间性能分析需要加强。

第二章,顺序表的概念、生成算法理解较为清晰,并且熟悉简单顺序查找和二分查找,对分块查找较为含糊;排序问题中,由于冒泡排序在大一c语言课上已经学习过,再来学习感觉很轻松。对插入排序和选择排序理解良好,但是,在实际运用中仍然出现明显不熟练的现象。由于在归并排序学习中感觉较吃力,现在对这种排序方法仍然非常模糊,所以需要花较多的时间来补习。此外串的模式匹配也是较难理解的一个地方。

链表这一章中,除对双向循环链表这一知识点理解困难之外,其他的知识点像单链表的建立和基本算法等都较为熟悉。

接下来的有关堆栈以及队列的知识点比较少,除有关算法较为特殊以外,其余算法都是先前学过的顺序表和链表的知识,加上思想上较为重视,因此这部分内容是我对全书掌握最好的一部分。不足之处仍然表现在算法的性能分析上。

在学习第六章时感觉较为吃力的部分在于矩阵的应用上,尤其对矩阵转置算法的c语言描述不太理解。稀疏矩阵相加算法中,用三元组表实现比较容易理解,对十字链表进行矩阵相加的方法较为陌生。

第七章是全书的重点,却也有一些内容没有完全理解。在第一节基本概念中,二叉树的性质容易懂却很难记忆。对二叉树的存储结构和遍历算法这部分内容掌握较好,能够熟练运用,而对于二叉树应用中的哈弗曼树却比较陌生。

第八章内容较少,牵涉到所学的队列的有关内容,总体来说理解上没有什么困难,问题依旧出现在算法的性能分析上。

散列结构这一章理解比较完善的知识点有:基本概念和存储结构。散列函数中直接定址法和除留余数法学得比较扎实,对数字分析法等方法则感觉较为陌生。对两种冲突处理的算法思想的理解良好,问题在于用c语言描述上。

最后一章,图及其应用中,图的定义、基本运算如图的生成等起初理解有困难,但随着学习深入,对它的概念也逐步明朗起来。邻接矩阵、邻接表和逆邻接表掌握较好,而对十字链表和邻接多重表则较为陌生。感觉理解较为吃力的内容还有图的遍历(包括深度和广度优先遍历),最小生成树问题也是比较陌生的知识点。最短路径和aov网学习起来感觉比较轻松,而对于c语言描述却又不大明白。

三、学习体会

在学习伊始,老师就明确提出它不是一种计算机语言,不会介绍新的关键词,而是通过学习可以设计出良好的算法,高效地组织数据。一个程序无论采用何种语言,其基本算法思想不会改变。联系到在大一和大二上学期学习的c和c++语言,我深刻认识到了这一点。“软件开发好比写作文,计算机语言提供了许多华丽的辞藻,而数据结构则考虑如何将这些辞藻组织成一篇优秀的文章来。”在学习这门课中,要熟悉对算法思想的一些描述手段,包括文字描述、图形描述和计算机语言描述等。因此,计算机语言基础是必须的,因为它提供了一种重要的算法思想描述手段——机器可识别的描述。

自己的程序中再加以必要的连接以完成程序的编写。针对这一情况,我会严格要求自己,熟练掌握算法思想,尽量独立完成程序的编写与修改工作,只有这样,才能够提高运用知识,解决问题的能力。

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

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

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

数据结构设计报告总结 算法与数据结构篇二

数据结构、算法的基本概念;抽象数据类型;算法的描述和算法分析

2. 线性表

3. 栈和队列

4. 串

串类型的定义;串的表示和实现;串的模式区配;串操作应用

5. 数组和广义表

数组的定义和运算;数组的顺序存储结构;矩阵的压缩存储;广义表表示

6. 树和二叉树

7. 图

8. 查找

静态查找表;动态查找表;哈希表

9. 内部排序

第二部分 c++

1. c++程序设计的基本概念

c++程序的概念、c++程序结构、c++程序的运行方法与过程

2. 基本数据类型、常量、变量、运算符和表达式

基本数据类型的概念;常量和变量的概念及其使用方法;常见的运算符(算术、赋值、逻辑、关系、逗号、条件、位运算符等)及其构成的表达式计算;运算符的优先级及结合性。

3. 顺序结构的程序设计

基本输入/输出操作及其使用;顺序结构程序设计的基本方法。

4. 选择和循环结构的程序设计

选择结构的程序设计方法(if语句和switch语句及其使用);循环结构的程序设计方法(while循环、do-while循环、for循环、break和continue语言);选择和循环结构程序设计的具体应用。

5. 数组及其使用

一维和二维数组的基本概念;一维和二维数组的基本使用方法;一维和二维数组的应用;字符数组与字符串的概念及其使用;字符串的处理;向量的基本概念及其简单使用方法。

6. 函数及其使用

7. 指针及其使用

指针的基本概念;指针的使用;指针与数组;指针与函数;指针与字符串;命令行参数。

8. 编译预处理

简单的编译预处理指令及其使用方法。

9. 结构体与共用体类型

结构体/共用体类型的定义和使用方法;枚举类型的定义和使用方法;链表的简单构造和操作。

10. 类与对象

类的定义方法;对象的基本概念及其使用;构造函数的定义、作用和重载;析构函数的定义、作用;拷贝构造函数的定义和作用;类的静态成员及其使用;常对象和常成员函数;运算符重载。

11. 继承与派生

继承的基本概念;派生类的构造函数与析构函数;多重继承;多重继承方式下的二义性解决方法。

12. 多态性

多态的概念及其实现机制;抽象类的概念;静态联编与动态联编。

数据结构设计报告总结 算法与数据结构篇三

1、根据“数据结构与算法”教学大纲中各章“知识点”总结学习内容。

2、根据“数据结构与算法”教学大纲中各章“知识点”的要求,总结和分析本人对各知识点掌握的情况(逐知识点进行)。

3、学习“数据结构与算法”课程的学习体会。

数据结构设计报告总结 算法与数据结构篇四

一、使用说明

(一)课程性质

《数据结构》是一门专业基础课,在计算机软件的各个领域中均会使用到数据结构的有关知识。本课程的先修课程为c程序设计或c++程序设计。

(二)教学目的

学会从问题入手,分析研究计算机加工的数据结构的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作算法,并初步掌握时间和空间分析技术。另一方面,本课程的学习过程也是进行复杂程序设计的训练过程,要求学生会书写符合软件工程规范的文件,编写的程序代码应结构清晰、正确易读,能上机调试并排除错误。

(三)教学时数

课堂讲授每周4学时,18周,共72学时。

(四)教学方法

本课程将采用课堂讲授及课堂讨论相结合的交互式教学法,同时辅以必要的上机操作实践。

(五)面向专业

计算机科学与技术专业。

二、教学内容

第一章 绪论

(一)教学目的要求

介绍数据结构的一些基本概念,算法的时间复杂度和空间复杂度的分析方法,抽象数据类型的定义和使用以及算法的描述方法。掌握数据结构的一些基本概念,掌握算法的时间复杂度和空间复杂度的分析方法,了解抽象数据类型的定义和使用,了解算法的描述方法。

(二)教学内容

主要内容:数据结构的一些基本概念:数据、数据元素、数据逻辑结构、数据存储结构、数据类型、算法等。抽象数据类型。算法时间复杂度和空间复杂度的分析。

教学重点:有关数据结构的各个名词和术语的含义,以及语句频度和时间复杂度、空间复杂度的估算。

教学难点:算法时间复杂度和空间复杂度的分析。

第一节

一、非数值计算

二、数据结构课程内容的历史演变

第二节

一、数据

二、数据结构

三、数据类型

四、抽象数据类型

五、多型数据类型

第三节

一、固有数据类型

抽象数据类型的表示与实现

基本概念和术语 什么是数据结构

二、数据抽象

三、抽象数据类型的描述语言

第四节

一、算法

二、算法设计的要求

三、算法效率的度量

四、算法的存储空间需求

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

4学时。

第二章 线性表

(一)教学目的与要求

介绍线性表的基本概念和类型定义,对顺序表和单链表的常用操作方法及其程序实现,循环链表和双向链表的定义和它的插入、删除等操作方法。掌握线性表的基本概念和类型定义;熟练掌握对顺序表和单链表的常用操作方法及其程序实现;掌握循环链表和双向链表的定义和它的插入、删除等操作方法。

(二)教学内容

主要内容:线性表的基本概念和类型定义,线性表的顺序存储结构,线性表的链接存储结构:(1)单链表的查找、插入和删除;(2)循环链表;(3)双向链表。

教学重点:在顺序表和链表上各种基本算法的实现及相关的时间性能分析。

教学难点:用所学的基本知识设计有效算法解决与线性表相关的应用问题。链表要分清链表中指针p和结点*p之间的对应关系,区分链表中的头结点、头指针以及循环链表、双向链表的特点等。

第一节

一、线性表的定义

二、线性表的基本操作

第二节

一、顺序表

二、顺序表上基本运算的实现

三、顺序表应用举例

第三节

一、线性链表

二、循环链表

三、双向链表

四、静态链表

第四节 一、一元多项式的数学表示 二、一元多项式的计算机表示

三、抽象数据类型:一元多项式的定义

四、抽象数据类型:一元多项式的存储结构

五、抽象数据类型:一元多项式的基本操作算法实现

(三)教学方法与形式

线性表的类型定义 算法和算法分析 课堂讲授、多媒体课件。

(四)教学时数

8学时。

第三章 栈和队列

(一)教学目的与要求

介绍栈和队列的定义,顺序和链接存储的栈和队列的各种运算的方法及其程序实现。掌握栈和队列的定义,熟练掌握顺序和链接存储的栈和队列的各种运算的方法及其程序实现。

(二)教学内容

主要内容:栈的类型定义,栈的顺序存储和链接存储的表示,在栈的顺序存储和链接存储上进行各种栈操作的算法,栈的应用举例,队列的类型定义,队列的顺序存储(循环队)和链接存储表示及各种操作的实现算法。

教学重点:栈和队列在两种存储结构上实现的基本运算。教学难点:递归的实现、循环队列中对边界条件的处理。

第一节

一、抽象数据类型栈的定义

二、栈的表示和实现

第二节

一、数制转换

二、括号匹配的检验

三、表达式求值

第三节

一、函数调用与栈

二、递归调用栈的变化

第四节

一、抽象数据类型队列的定义

二、链队列--队列的链式表示和实现

三、循环队列--队列的顺序表示和实现

第五节

一、优先级队列的概念

二、优先级队列的存储表示和实现

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

4学时。

第四章 串

(一)教学目的与要求

介绍串的基本概念和操作,串的存储结构以及基本操作的算法实现。掌握串的基本概念和操作,掌握串的存储结构以及基本操作的算法实现。

(二)教学内容

主要内容:串的类型定义,串的表示和实现,正文模式匹配,正文编辑——串操作应用举例串的类型定义。

教学重点:串类型定义中各基本操作的定义以及串的实现方法。教学难点:利用串的基本操作来实现串的其它操作。

优先级队列 队列 栈与递归的实现 栈的应用举例

第一节

一、串的定义

二、串的基本操作

第二节

一、定长顺序存储表示

二、堆分配存储表示

三、串的块链存储表示

四、字符串操作的实现

第三节

二、模式匹配的一种改进算法

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

4学时。

串的类型定义

串的表示和实现

字符串的模式匹配

一、求子串位置的定位函数index(s,t,pos)

第五章 数组和广义表

(一)教学目的

介绍数组的基本概念和基本操作的算法实现;稀疏矩阵的定义和各种存储结构,稀疏矩阵的转置和相加的方法并了解其算法;广义表的定义、存储结构和求广义表的长度及深度的算法,建立广义表和输出广义表的方法并了解其算法。掌握数组的基本概念和基本操作的算法实现;掌握稀疏矩阵的定义和各种存储结构,掌握稀疏矩阵的转置和相加的方法并了解其算法;掌握广义表的定义、存储结构和求广义表的长度及深度的算法,掌握建立广义表和输出广义表的方法并了解其算法。

(二)教学内容

主要内容:稀疏矩阵的定义、存储和运算,广义表的定义、存储和运算串的类型定义。教学重点:特殊矩阵的压缩存储,以及稀疏矩阵的三元组顺序表示。教学难点:特殊矩阵的压缩存储,以及稀疏矩阵的三元组顺序表示。

第一节 第二节

一、数组的存储方式

二、数组元素存储位置的计算

三、基本操作的实现

第三节

一、特殊矩阵

二、稀疏矩阵

第四节

一、广义表的基本概念

二、广义表的三个重要结论

第五节

一、头尾链表存储表示

二、扩展线性链表存储表示

第六节

一、求广义表的深度

二、复制广义表

三、建立广义表的存储结构

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

6学时。

第六章 树和二叉树

(一)教学目的与要求

介绍树的定义、性质、存储结构及遍历算法,握二叉树的各种遍历方法及其实现,二叉树的其他操作方法及实现,树、森林和二叉树的转换方法,哈夫曼树的定义和构造哈夫曼树的方法,哈夫曼树编码的方法。掌握树的定义、性质、存储结构及遍历算法,熟练掌握二叉树的各种遍历方法及其实现,掌握二叉树的其他操作方法及实现,掌握树、森林和二叉树的转换方法,掌握哈夫曼树的定义和构造哈夫曼树的方法,了解哈夫曼树编码的方法。

(二)教学内容

主要内容:树的定义、性质和表示方法,二叉树的定义、性质和存储结构,二叉树的各种遍历方法及实现,建立二叉树、输出二叉树、求二叉树深度等的操作方法及实现,树的存储结构,进行先根遍历、后根遍历和按层遍历的方法及实现,进行树与二叉树的转换方法,哈夫曼树的定义、构造哈夫曼树的方法及哈夫曼编码的方法。

教学重点:二叉树和树的遍历及其应用。

教学难点:实现二叉树和树的各种操作的递归算法。

第一节

一、树的定义

二、森林的定义

三、树的抽象数据类型定义

第二节 一、二叉树的定义 二、二叉树的性质 三、二叉树的存储结构

第三节

一、遍历二叉树

二、线索二叉树

第四节

一、树的存储结构

二、森林与二叉树的转换

三、树和森林的遍历

第五节

一、最优二叉树(赫夫曼树)

二、赫夫曼编码

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

10学时。

最优树和赫夫曼编码

树和森林

遍历二叉树和线索二叉树

二叉树

树的定义和基本术语

第七章 图

(一)教学目的与要求

介绍图的定义和术语;图的存储结构及深度和广度优先搜索方法及其实现;图的生成树的概念,求图的最小生成树的普里姆算法和克鲁斯卡尔算法并了解其实现算法;拓扑排序的方法并了解其实现算法;计算关键路径的方法及其实现算法。掌握图的定义和术语;熟练掌握图的存储结构及深度和广度优先搜索方法及其实现;掌握图的生成树的概念,掌握求图的最小生成树的普里姆算法和克鲁斯卡尔算法并了解其实现算法;掌握拓扑排序的方法并了解其实现算法;了解计算关键路径的方法并了解其实现算法。

(二)教学内容

主要内容:图的定义和术语,图的邻接矩阵、邻接表和边集数组表示,图的深度和广度优先搜索遍历,图的生成树和最小生成树,拓扑排序。

教学重点:图在邻接矩阵与邻接表上实现的遍历算法(dfs和bfs)。教学难点:基于遍历算法的应用。

第一节

一、图的定义

二、无向图

三、有向图

四、连通图

五、生成树

第二节

一、数组表示法

二、邻接表 三、十字链表

四、邻接多重表

第三节

一、深度优先搜索

二、广度优先搜索

三、连通分量

第四节

一、kruskal算法

二、prim算法

第五节

一、拓扑排序

二、关键路径

第六节

一、从某个源点到其余各项点的最短路径

二、每一对顶点之间的最短路径

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

12学时。

最短路径 有向无环图及其应用

最小生成树 图的遍历 图的存储表示 图的定义和术语

第八章 查找表

(一)教学目的与要求

介绍顺序表查找和有序表查找的方法及实现;二叉排序树和平衡二叉树的定义、对二叉排序树和平衡二叉树进行插入、删除和查找的方法和实现。哈希表的定义,构造哈希函数的多种方法,以及处理冲突的方法;b树的定义,查找、插入和删除元素的方法。熟练掌握顺序表查找和有序表查找的方法及实现;掌握二叉排序树和平衡二叉树的定义、熟练掌握对二叉排序树和平衡二叉树进行插入、删除和查找的方法和实现。掌握哈希表的定义,构造哈希函数的多种方法,以及处理冲突的方法;了解b树的定义,查找、插入和删除元素的方法。

(二)教学内容

主要内容:顺序查找和二分查找,索引查找和分块查找,散列查找,动态查找树表。教学重点:顺序查找、二分查找、二叉排序树上查找以及散列表上查找的基本思想和算法实现。

教学难点:二叉排序树的删除算法。

第一节

一、顺序表的查找

二、有序表的查找

三、静态树表的查找

四、索引顺序表的查找

第二节 一、二叉排序树

二、平衡二叉树

三、动态的m路搜索树

四、b树和b+树基本概念

第三节

一、什么是哈希表

二、哈希函数的构造方法

三、处理冲突的方法

四、哈希表的查找及其分析

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

10学时。

第九章 内部排序

(一)教学目的与要求

介绍插入排序、交换排序、选择排序、快速排序、归并排序、基数排序的方法及其实现,快速排序、堆排序、二路归并排序的方法及其实现,各种排序方法的稳定性、时间复杂度和空间复杂度。掌握插入排序、交换排序、选择排序、快速排序、归并排序、基数排序的方法及其实现,熟练掌握快速排序、堆排序、二路归并排序的方法及其实现,掌握各种排序方法的稳定性、时间复杂度和空间复杂度。

(二)教学内容

主要内容:排序的概念,直接插入排序,冒泡排序和快排序,直接选择排序和堆排序,归并排序。

哈希表 动态查找表 静态查找表 教学重点:插入排序(直接插入、折半插入)、交换排序(冒泡、快速排序)、选择排序(直接选择、堆)、2-路归并排序。

教学难点:快速排序partition算法的应用和堆的调整。

第一节

一、稳定的排序方法

二、内部/外部排序

三、内部排序种类

四、排序中的基本操作

五、排序数据的存储方式

第二节

一、直接插入排序

二、其他插入排序

三、希尔排序

第三节

一、起泡排序算法

二、快速排序算法

第四节

一、简单选择排序

二、树形选择排序

三、堆排序

第五节 第六节

一、多关键字的排序

二、链式基数排序

第七节

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

10学时。

第十章 文件

(一)教学目的与要求

介绍文件和记录的基本概念以及基本操作。掌握文件和记录的基本概念以及基本操作。

(二)教学内容

主要内容:基本概念,顺序文件,索引文件,索引顺序文件,散列文件,多关键码文件。教学重点:各种文件的结构特点及其适用场合。教学难点:各种文件的结构特点及其适用场合。

第一节

一、文件及其类别

三、文件的操作

四、文件的物理结构

第二节

一、顺序文件的定义

顺序文件 基本概念

各种排序方法的综合比较

二、顺序文件的优缺点

第三节

一、索引文件的定义

二、索引文件的特点

第四节

一、isam文件

二、vsam文件

第五节

一、散列文件的定义

二、散列文件的特点

第六节

一、多重表文件

二、倒排文件

(三)教学方法与形式

课堂讲授、多媒体课件。

(四)教学时数

4学时。

三、考核方式

本课程的考核采用闭卷考试的方式,课程的总评成绩由平时成绩、实验成绩和期末考试成绩三部分组成,其中平时成绩占总评成绩的10%,实验成绩占总评成绩的30%,期末考试成绩占总评成绩的60%。

四、教材选用

1、殷人昆,陶永雷,谢若阳等:《数据结构(用面向对象方法与c++语言描述)》,清华大学出版社,2007.6年第二版。

2、严蔚敏,吴伟民:《数据结构(c语言版)》 及《数据结构题集(c语言版)》,清华大学出版社,2003年第一版。

多关键码文件 散列文件 isam文件和vsam文件

索引文件

数据结构设计报告总结 算法与数据结构篇五

《数据结构》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

接下来就跟本站小编一起去了解一下关于数据结构课程设计心得体会吧!

决问题和在老师的帮助下一步一步慢慢的正确运行程序, 决问题和在老师的帮助下一步一步慢慢的正确运行程序,终 于完成了这次课程设计, 于完成了这次课程设计,虽然这次课程设计结束了但是总觉 得自已懂得的知识很是不足,学无止境, 得自已懂得的知识很是不足,学无止境,以后还会更加的努 力深入的学习。 力深入的学习。

本次课程设计,使我对《数据结构》这门课程有了更深入的理解。我的课程设计题目是线索二叉树的运算。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树的删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。

在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的、良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对vc有了更深入的了解。《数据结构》是一门实践性很强的课程,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。上机实习一方面能使书本上的知识变“活”,起到深化理解和灵活掌握教学内容的目的;另一方面,上机实习是对学生软件设计的综合能力的训练,包括问题分析,总体结构设计,程序设计基本技能和技巧的训练。此外,还有更重要的一点是:机器是比任何教师更严厉的检查者。因此,在“数据结构”的学习过程中,必须严格按照老师的要求,主动地、积极地、认真地做好每一个实验,以不断提高自己的编程能力与专业素质。

通过这段时间的课程设计,我认识到数据结构是一门比较难的课程。需要多花时间上机练习。这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。

总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。

通过本次课程设计,对图的概念有了一个新的认识,在学习离散数学的时候,总觉得图是很抽象的东西,但是在学习了《数据结构与算法》这门课程之后,我慢慢地体会到了其中的奥妙,图能够在计算机中存在,首先要捕捉他有哪些具体化、数字化的信息,比如说权值、顶点个数等,这也就说明了想要把生活中的信息转化到计算机中必须用数字来完整的构成一个信息库,而图的存在,又涉及到了顶点之间的联系。图分为有向图和无向图,而无向图又是有向图在权值双向相等下的一种特例,如何能在计算机中表示一个双向权值不同的图,这就是一件很巧妙的事情,经过了思考和老师同学的帮助,我用 edges[i][j]=up 和 edges[j][i]=up 就能实现了一个双向图信息的存储。对整个程序而言,dijkstra 算法始终都是核心内容,其实这个算法在实际思考中并不难,也许我们谁都知道找一个路径最短的方法,及从顶点一步一步找最近的路线并与其直接距离相比较,但是,在计算机中实现这么一个很简单的想法就需要涉及到很多专业知识,为了完成设计,在前期工作中,基本都是以学习c 语言为主,所以浪费了很多时间,比如说在程序中,删除顶点和增加顶点的模块中都有和建图模块相互重复的函数,但是由于技术的原因,只能做一些很累赘的函数,可见在调用知识点,我没有掌握好。不过,有了这次课程设计的经验和教训,我能够很清楚的对自己定一个合适的水平,而且在这次课程设计中我学会了运用两个新的函数sprintf和包涵在#include 头文件中的输入函数。因为课程设计的题目是求最短路径,本来是想通过算法的实现把这个程序与交通情况相连,但是因为来不及查找各地的信息,所以,这个计划就没有实现,我相信在以后有更长时间的情况下,我会做出来的。

相关推荐

绿化工作计划表 绿化养护工作计划

计划是人们为了实现特定目标而制定的一系列行动步骤和时间安排。那么我们该如何写一篇较为完美的计划呢?下面是小编整理的个人今后的计划范文,欢迎阅读分享,希望对大家有

服装品质管理年终总结 品质部工作计划

制定计划前,要分析研究工作现状,充分了解下一步工作是在什么基础上进行的,是依据什么来制定这个计划的。相信许多人会觉得计划很难写?以下是小编为大家收集的计划范文,

针对客户的工作规划计划

计划是一种灵活性和适应性的工具,也是一种组织和管理的工具。通过制定计划,我们可以更好地实现我们的目标,提高工作效率,使我们的生活更加有序和有意义。以下我给大家整

建筑企业工作总结计划

人生天地之间,若白驹过隙,忽然而已,我们又将迎来新的喜悦、新的收获,一起对今后的学习做个计划吧。相信许多人会觉得计划很难写?下面是小编整理的个人今后的计划范文,

综合管理员工作总结

总结是对过去一定时期的工作、学习或思想情况进行回顾、分析,并做出客观评价的书面材料,它可使零星的、肤浅的、表面的感性认知上升到全面的、系统的、本质的理性认识上来

最新从事检察工作心得体会(汇总15篇)

读书心得可以促进读者与书中的人物和情节产生情感共鸣,增进读者对人性和社会的理解。探索学习心得的世界,以下是一些充满智慧和经验的范文,希望能给你的学习带来一些启发

上海疫情防控总结

围绕工作中的某一方面或某一问题进行的专门性总结,总结某一方面的成绩、经验。那关于总结格式是怎样的呢?而个人总结又该怎么写呢?下面是小编带来的优秀总结范文,希望大

水管站个人工作计划

计划是人们为了实现特定目标而制定的一系列行动步骤和时间安排。通过制定计划,我们可以将时间、有限的资源分配给不同的任务,并设定合理的限制。这样,我们就能够提高工作

学校教研工作总结美篇 教研工作计划

计划是人们为了实现特定目标而制定的一系列行动步骤和时间安排。计划可以帮助我们明确目标,分析现状,确定行动步骤,并制定相应的时间表和资源分配。以下是小编收集整理的

教育顾问的工作计划 销售顾问工作计划

光阴的迅速,一眨眼就过去了,很快就要开展新的工作了,来为今后的学习制定一份计划。写计划的时候需要注意什么呢?有哪些格式需要注意呢?以下我给大家整理了一些优质的计