篇一 :数据结构试验心得

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

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

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

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

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

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

…… …… 余下全文

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

心得体会:

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

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

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

…… …… 余下全文

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

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"

…… …… 余下全文

篇四 :数据结构课程设计 实验报告 心得体会 C++

华中科技大学文华学院

排序算法比较分析

专业班级:08软件工程2班

姓    名: 汪伟

学    号: 08010xxxxx

设计时间: 20##-9-15—-20##-9-27

指导教师:  杨薇薇

课程设计报告的内容

一、题目:排序算法比较

      1、 设计目的

      1. 掌握各种排序的基本思想。

      2. 掌握各种排序方法的算法实现。

      3. 掌握各种排序方法的优劣分析及花费的时间的计算。

      4. 掌握各种排序方法所适应的不同场合。

      2、 设计内容和要求

      利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间

二、 运行环境(软、硬件环境)

软件环境:Vc6.0编程软件

运行平台: Win32

      硬    件: 普通个人pc机

三、 算法设计的思想

1、冒泡排序:bubbleSort()

基本思想: 设待排序的文件为r[1..n]

    第1趟(遍):从r[1]开始,依次比较两个相邻记录的关键字

r[i].key和r[i+1].key,若r[i].key>r[i+1].key,则交换记录

…… …… 余下全文

篇五 :数据结构课程设计 实验报告 心得体会 链表 C语言

数据结构课程设计

设计题目: 两个链表的交叉合并

专业班级:08软件工程3班

姓名:**

学号: ***

设计时间:20XX/9/25

指导教师:**

一、 设计题目

实现两个链表的合并

设计目的

1.掌握线性链表的建立。

2.掌握线性链表的基本操作。

设计内容和要求

1. 建立两个链表A和B,链表元素个数分别为m和n个。

2. 假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线形表C,使得:

当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm

当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn

输出线性表C。

3. 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。

4. 能删除指定单链表中指定位子和指定值的元素。

二、 运行环境(软、硬件环境)

软件环境: VC++6.0编程软件,运行平台:Win32

硬件:普通个人pc机、 算法设计的思想

数据结构课程设计实验报告心得体会链表C语言

四、 算法设计分析

这个两个链表的交叉合并算法主要运用到的是链表的基本操作,定义节点,将链表的创建、计算链表的长度、链表A,B的交叉组合、链表内容升序排列、删除链表指定位置元素、删除指定的元素等算法写成了独立函数,通过主函数调用。这样就大大精简了主函数的操作。但主函数中很大篇幅用到了if、else语句,用以指定链表指定结点和指定元素的删除操作,这样就使得本来很精简变得繁琐,降低了程序的质量。所以其有优点和缺点,但需要不断的改进,不断优化该程序。

五、 源代码

程序源代码:

#include<stdio.h>

#include<stdlib.h>

…… …… 余下全文

篇六 :数据结构与算法课程设计 心得体会 学习体会 (25)

数 据 结 构 课 程 设 计

心 得 体 会

学号:0804012023 班级:计本(2)班 姓名:谷敏敏 经过两个星期的不懈努力,数据结构课程设计终于落幕。我的程序设计是使用prim算法得到所有的最小的生成树,在整个设计过程中,自己从刚开始简单的构思算法思路的大致框架,直到最后使得整个算法顺利的得以实现。期间遇到的问题、错误多不甚数,然经过无数次的调试分析,最终一一得以圆满解决。 在这两个星期里,自己可谓是感慨万分。的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是自己却能够在这短短的两个星期里学到很多很多的的东西,不仅可以巩固了以前所学过的知识,加深了对课本知识点的理解。而且学到了很多在书本上所没有学到过的知识,能够说是收获颇丰。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从实践中验证理论,从而提高自己的实际动手能力和独立思考的能力。当然,在设计的过程中遇到许许多多的问题,可以说得是困难重重,毕竟这是一次课程设计,需要掌握的知识面比较广,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。在设计中,vc使用的也更加的牢固,了解的也更加深刻。

这次课程设计已经结束了,对于我自己,对本次课程设计我的感受很深,在这个过程中,我也曾经因为实践经验的缺乏失落过,也为毫无头绪而烦恼,也曾经为成功的实现而手舞足蹈。呵呵,让自己在本次课程设计中感受了一番大起大落,使自己从中明白了,做成功一件事,是需要付出和汗水的。天下无难事只怕有心人,只要自己坚定信念,成功也只在咫尺之间。 当然,我们也不能满足于现有的水准,否则就会停滞不前,要知道学海无涯,仍需我等努力学习。

…… …… 余下全文

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

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

经过一个星期的课程设计,过程曲折可谓一语难尽。整天都是对着电脑,不然就是翻阅资料。在此期间我失落过,也曾一度热情高涨。点点滴滴令我回味无长。这次课程设计使我体会到只有做到细心耐心,恒心才能做好事情。

这次的课程设计,加强了我们动手、思考和解决问题的能力。巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。而且做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题就不是很能理解,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。 这次的课程设计使我懂得了理论与实际相结合是很非常重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在整个设计过程中,构思是很花费时间的。调试时经常会遇到这样那样的错误,有的是因为粗心造成的语法错误。当然,很多也时用错了方法,总是实现不了。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

根据我在课程设计中遇到得问题,我将在以后的学习过程中注意以下几点:

1、认真上好专业实验课,多在实践中锻炼自己。

2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。

4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运

用。

5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错

…… …… 余下全文

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

程序设计心得体会

做了一个星期的程序设计终于做完了,在这次程序设计课中,真是让我获益匪浅,我突然发现写程序还挺有意思的。

由于上学期的C语言跟这学期的数据结构都算不上真正的懂,对于书上的稍微难点的知识就是是而非的,所以我只是对老师的程序理解,我也试着去改变了一些变量,自己也尽量多的去理解老师做程序的思路。当我第一天坐在那里的时候,我就不知道该做些什么,后来我只有下来自己看了一遍书来熟悉下以前学过的知识。

通过这次的程序设计,发现一个程序设计就是算法与数据结构的结合体,自己也开始对程序产生了前所未有的兴趣,以前偷工减料的学习也不可能一下子写出一个程序出来,于是我就认真看老师写的程序,发现我们看懂了一个程序其实不难,难的是对于一个程序的思想的理解,我们要掌握一个算法,不仅仅限于读懂,主要的是要理解老师的思路,学习老师的解决问题的方法。

这次试验中,我发现书本上的知识是一个基础,但是我基础都没掌握,更别说写出一个整整的程序了。自己在写程序的时候,也发现自己的知识太少了,特别是基础知识很多都是模模糊糊的一个概念,没有落实到真正的程序,所以自己写的时候也感到万分痛苦,基本上涉及一个知识我就会去看看书,对于书本上的知识没掌握好。在饭后闲暇时间我也总结了一下,自己以前上课也认真的听了,但是还是写不出来,这主要归结于自己的练习太少了,而且也总是半懂就不管了。在改写老师的程序中也出现了很多的问题,不断的修改就是不断的学习过程,当我们全身心的投入其中时,实际上是一件很有乐趣的事情。对于以后的学习有了几点总结:第一、熟记各种数据结构类型,定义、特点、基本运算(分开点一点也没多少东西,难度不大,但是基本);第二、各种常用的排序算法,如冒泡排序、堆排序……,这些是必考的内容,分数不会少于20%;第三,多做习题,看题型,针对题型来有选择复习;数据结构看上去很复杂,但你静下心来把书扫上几遍,分解各个知识点,这一下来,学数据结构的思路就会很清晰了。

…… …… 余下全文