篇一 :数据结构试验心得

数据结构课程设计心得体会

(专业:计算机科学与技术 姓名:朱文 学号:20xx220xx7)

通讯录管理系统是基于双向循环链表设计而成的信息管理系统。该系统通过对程序进行模块化,建立添加、显示、查找和删除功能的函数,各函数中运用双向循环链表存储数据。为存储通讯录信息,需定义一个结构体类型,成员包括姓名、街道、城市、邮编、国家等,并建立双向循环链表,定义该结构体类型的指针,用于指向各结点。分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。为实现存储功能,需用到文件的相关函数

开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关人员的通讯信息,了解友人相关信息,帮助与友人保持联络。所以设计一个通讯录管理系统管理各人的通讯信息是非常必要的,同时,通过用循环双向链表设计通讯录管理系统可以让我们更好的去理解循环双向链表,更好的学好数据结构这门课程。

本次实验中,我们使用分工合作的方式,首先定义了函数的结构体部分,剩下的根据函数所要实现的功能进行分工合作,我实现的是通讯录中删除功能的子函数,删除信息(void delete(dnode *head))的功能是按照用户输入的姓名首先进行按姓名查询功能,查找成功,则执行删除信息的功能,查询不成功,则提示错误信息。定义结点p,输入要删除的信息的姓名,按姓名查找结点,如果找到匹配的结点p,就进行相关的删除操作,否则就是没找到要删除的数据,最后返回到主函数。

这次实验中我深刻认识到合作的重要性。例如:我所编写的按名删除功能的实现中,应用了章林霞同学所编写写的按名搜索查询功能的那部分函数,在这次实验中,我学到很多东西,加强了我的动手能力,并且培养了我的独立思考能力。我们坚持理论联系实际的思想,以实践证实理论,从实践中加深对理论知识的理解和掌握。实验是我们快速认识和掌握理论知识的一条重要途径。

…… …… 余下全文

篇二 :数据结构实训总结

这次课程设计的心得体会通过实习我的收获如下1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。从刚开始得觉得很难,到最后把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在,才发现只要认真做,没有什么不可能。

编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因为它说明错误的时候都是英语)遇到问题要去查相关的资料。反复的调试程序,最好是多找几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候完全以一个用户的身份来用对你的用户界面做一些建议,正所谓当局者迷旁观者清,把各个注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放过每个知识点,注意与理论的联系和理论与实践的差别。另外,要注意符号的使用,注意对字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意指针的初始化不管它怎么用以免不必要麻烦。

通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论的很好的连接。特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。实训过程中让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不清楚的东西也做了一定的了解,也形成了一定的个人做事风格。

通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数组,只要运用得当,也能达到相同的效果,甚至更佳,就如这次的课程设计,通过用for的多重循环,舍弃多余的循环,提高了程序的运行效率。在编写这个程序的过程中,我复习了之前学的基本语法,哈弗曼树最小路径的求取,哈弗曼编码及译码的应用范围,程序结构算法等一系列的问题它使我对数据结构改变了看法。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,也从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

…… …… 余下全文

篇三 :数据结构实验报告及心得体会

20XX~20XX第一学期数据结构实验报告

班级:信管一班

学号:*********

姓名:***

实验报告题目及要求

一、实验题目

设某班级有M(6)名学生,本学期共开设N(3)门课程, 要求实现并修改如下程

序(算法)。

1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统),输出实验结果 。(15分)

2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学生的学号、姓名和成绩。

3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。

二、实验要求

1.修改算法。将奇偶排序算法升序改为降序。(15分)

2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分))

3.编译、链接以上算法,按要求写出实验报告(25)。

4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。

5.用A4纸打印输出实验报告。

三、实验报告说明

实验数据可自定义,每种排序算法数据要求均不重复。

(1) 实验题目:《N门课程学生成绩名次排序算法实现》;

(2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性;

(3) 实验要求:对算法进行上机编译、链接、运行;

(4) 实验环境(Windows XP-sp3,Visual c++);

(5) 实验算法(给出四种排序算法修改后的全部清单);

(6) 实验结果(四种排序算法模拟运行后的实验结果);

(7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法)

Score.c

#include "stdio.h"

#include "string.h"

…… …… 余下全文

篇四 :数据结构与算法实验学期总结

数据结构与算法实验学期总结

我的数据结构

   班级09计本一班    学号2009810020     姓名吴伟    

摘要

数据结构实验的目的是为了加深对课堂知识的理解,培养实验者的动手能力和思维能力。实验中,能体会到了算法和源程序之间的区别,理解到要实现算法要做的事情,解决编写源程序时遇到的各类问题。

关键字:算法、源程序、算法实现、解决问题

一、    数据结构与算法课程实验的主要意义的目的

    数据结构课程的实践性很强,许多内容如果只进行单纯的课堂讲授是根本不能够深刻认识的。例如,第二章线性表的多种存储结构的对比分析,如不上机练习,就只能靠自己背,但这样就不能有更直观、形象的认识了。因此,实验是数据结构课程的一个重要环节。

首先,在实验的过程中,可以会体会到源程序与算法的区别。

算法是一种算法描述语言。它不是一种现实存在的编程语言。使用算法的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal, C, Java, etc)实现。它可能综合使用多种编程语言中语法、保留字,甚至会用到自然语言。 因此,算法必须结构清晰,代码简单,可读性好,并且类似自然语言。

源程序(source code)是指未编译的按照一定的程序设计语言规范书写的,一系列人类可读的计算机语言指令。其实现起来,有时并不像算法那样看起来那么简单。例如,希尔排序的算法:

void ShellSort(SSTable &L, int dlta[], int t) {

   // 按增量序列dlta[0...t-1]对顺序表L做希尔排序

   for (int k=0; k<t; ++k)

…… …… 余下全文

篇五 :数据结构实验报告

管理学院实验报告

实验课程名称 :   数据结构与算法                               

实验地点:       经济管理教学实验中心                           

     

    月至              

 

专    业                        

班    级                        

…… …… 余下全文

篇六 :数据结构综合实验心得体会

心得体会:

做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅。 对大一学习的C语言和这学期开的数据结构,并没有掌握,很多知识都不太懂,突然让自己独立完成一个程序让我手忙脚乱,起码在我认为那真的特别难,看了老师给的题目以及上网查找了一些相关的知识,简单的编了几行就告一段落了,第一天等于只完成了老师要求写的需求分析和概要设计,后来查找了关于哈希表的相关知识,了解了如何创建哈希表,如何合适的构建哈希函数,(选取合适的表长,合适的余数,使得查找时间以及平均查找长度最短)以及什么是除留余数法,和怎样用除留余数法创建哈希表,看懂了之后,我又看了处理冲突的方法,有三种线性探测再散列法法,二次探测再散列法,伪随机数序列法三种,而我所要做的是第一种线性探测再散列的方法,相较后两种要简单很多,在遇到冲突的时候地址加一,知道冲突解决。

在了解这些概念以后,我就开始着手编程序了,在遇到问题的时候请教我们班擅长的同学,慢慢把不能不会不理解的地方给弄明白了,在经过很多次调试以后,一些基本功能已经可以实现了,为了使平均查找长度越小越好,我不断尝试新的表长以及除数,在没有出现错误的基础上,将功能实现,最后,终于在周四的时候将所有的程序调试完全。

这次的综合性实验使我了解到,平时对知识的积累相当重要,同时也要注重课上老师的讲解,老师在课上的延伸是课本上所没有的,这些知识对于我们对程序的编写有很大的作用,同时,编程也要求我们有足够的耐心,细细推敲。越着急可能就越无法得到我们想要的结果,遇到不会的问题要多多请教,知识是在实践与向别人请教的过程中积累的,所以问是至关重要的,只要肯下功夫很多东西都是可以完成的。

…… …… 余下全文

篇七 :数据结构实验———图实验报告

   

实验报告

             

目的要求

     1.掌握图的存储思想及其存储实现。

    2.掌握图的深度、广度优先遍历算法思想及其程序实现。

    3.掌握图的常见应用算法的思想及其程序实现。

实验内容

1.键盘输入数据,建立一个有向图的邻接表。

    2.输出该邻接表。

    3.在有向图的邻接表的基础上计算各顶点的度,并输出。

    4.以有向图的邻接表为基础实现输出它的拓扑排序序列。

    5.采用邻接表存储实现无向图的深度优先递归遍历。

6.采用邻接表存储实现无向图的广度优先遍历。

7.在主函数中设计一个简单的菜单,分别调试上述算法。

源程序

 主程序的头文件:队列

#include <stdio.h>

#include <stdlib.h>

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR 0

#define OVERFLOW -2

typedef int QElemType;

typedef struct QNode{    //队的操作

        QElemType data;

        struct  QNode *next;

…… …… 余下全文

篇八 :数据结构实验报告

数据结构实验报告

实 验 报 告

实验课程: 数据结构

实验项目: 实验

专 业: 计算机科学与技术

姓 名: **

学 号: ***

指导教师: **

实验时间: 20**-12-7

重庆工学院计算机学院

数据结构实验报告

实验一 线性表

1. 实验要求

掌握数据结构中线性表的基本概念。

熟练掌握线性表的基本操作:创建、插入、删除、查找、输出、求长度及合并并运算在顺序存储结构上的实验。

熟练掌握链表的各种操作和应用。

2. 实验内容

编写一个函数,从一个给定的顺序表A中删除元素值在x到y之间的所有元素,要求以较高效率来实现。

#include

typedef int elemtype;

#define maxsize 10

int del(int A[],int n,elemtype x,elemtype y)

{

int i=0,k=0;

while(i

{if(A[i]>=x&&A[i]<=y)

k++;

else

A[i-k]=A[i];

i++;

}

return(n-k);

}

void main()

{

int i,j;

int a[maxsize];

printf("输入%d个数:\n",maxsize);

for(i=0;i

scanf("%d,",&a[i]);

j=del(a,maxsize,1,3);

printf("输出删除后剩下的数:\n");

for(i=0;i

printf("%d "\n,a[i]);

}

…… …… 余下全文