数据结构教学中存在的问题及解决方案_冯桂莲

数据结构教学中存在的问题及解决方案_冯桂莲

ID:5326257

大小:291.54 KB

页数:2页

时间:2017-12-08

数据结构教学中存在的问题及解决方案_冯桂莲_第1页
数据结构教学中存在的问题及解决方案_冯桂莲_第2页
资源描述:

《数据结构教学中存在的问题及解决方案_冯桂莲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2006年第12期福建电脑205数据结构教学中存在的问题及解决方案冯桂莲(青海民族学院青海西宁810007)【摘要】:数据结构不仅是计算机学科的核心课程,而且已成为其他理工专业的热门选修课。本文针对非计算机专业学生在学习该课程的过程中存在的问题,结合具体的理论与实践教学过程,详细分析了问题存在的原因,通过实例分别给出了解决问题的对策,以期提高数据结构课程教和学的效率。【关键词】:数据结构;理论教学;实验教学;算法数据结构是计算机程序设计的重要理论技术基础,它不仅一个简单循环找到表尾结点,再将该尾结点的后

2、继设为头结点,是计算机学科的核心课程,而且已成为其他理工专业的热门选形成单循环链表;而尾插法是以输入序列的顺序建立单链表,所修课,许多高校信息类相关专业也开设了该课程。本课程要求学以建立表后,仅需要再加一条语句,即将尾结点的后继设为头结生学会分析研究计算机加工的数据结构的特性,以便为应用涉点就可以了,最后返回尾指针rear。通过比较,采用尾插法可以及的数据选择恰当的逻辑结构、存储结构及相应的算法,并初步缩短程序的运行时间,提高程序的运行效率。具体算法如下:掌握算法的时间分析和空间分析的技术。同时,本课程

3、的学习过Lnode*creat_list()程也是复杂程序设计的训练过程,要求学生编写的程序结构清{Lnode*h,*p,*r;intx;楚和正确易读,要符合软件工程的规范,目的是培养学生的数据h=(Lnode*)malloc(sizeof(Lnode));抽象能力。但是在非计算机专业学生(如信息类相关专业)在学h->data=0;h->next=null;习该课程的过程中,存在许多理论知识学习和实际上机操作的r=h;scanf("%d",&x);问题,从而不能很好满足教学要求,达不到预期的教学目的。由

4、while(x!=0)此本文根据在多年的理论教学与实践教学过程中总结的经验,{p=(Lnode*)malloc(sizeof(Lnode));分析了问题存在的原因,并通过举例分别给出了在教师教和学p->data=x;p->next=null;生学的过程中提高效率的对策。r->next=p;1.理论教学中存在的问题及解决方案r=p;学生在学习数据结构时,虽然已经学过C语言,但仅是初scanf("%d",&x);}学,并不精通。因此对于抽象的数据类型、动态分配存储空间等r->next=h;概念,在理解上还是

5、有一定困难的。另外,数据结构课程的教材return(r);大多数采用类C语言作为算法的描述语言,使各种抽象数据类}型的定义和实现过于精练,使学生难于理解。4.给出单循环链表的打印算法。因此,教师在教学过程中,应该力图把抽象的问题具体化,为便于及时检查程序运行结果,应该每建好一个单循环链对于每一种数据类型,给出数据存储结构示意图,利用传统的板表,就输出其数据域值。由于建立表时,函数返回表尾指针,而且书授课和多媒体教学相结合的方法动态地演示各种数据结构的表中含有头结点,然而打印表时要求从第一个元素结点处输出

6、,基本操作,使学生深刻地理解教材中的各种存储结构和算法。所以在打印算法中,需要先加一条语句:将尾结点的后继(头结例如,在讲到将两个单循环链表合并成一个单循环链表时,应该点)的后继作为第一个元素结点,然后再循环打印,直到第二次按以下步骤进行:磁到头结点为止。该打印算法还用于合并以后的单循环链表的1.描述链表中的数据结构。如下图所示:输出中,所以在主函数中实际被调用三次。具体算法如下:voidprint_list(Lnode*r){Lnode*p=r->next->next;其类型定义为:while(p!=

7、r->next)typedefstructLnode{printf("%4d",p->data);{intdata;p=p->next;}structLnode*next;printf("");}Lnode;}2.让学生掌握合并操作的基本思想:将一个表的表尾和另5.详细讲解合并操作,即将第2步的基本思想具体化,得出一个表的表头相接。如下的合并算法:该过程可以用Powerpoint电子教案动态演示,也可以在不Lnode*link_list(Lnode*la,Lnode*lb)具备多媒体设备的情况下,用

8、板书方式演示。其图示表示如下:{Lnode*p=la->next,*q=lb->next;la->next=q->next;lb->next=p;free(q);return(lb);}最后,要求学生在实验课上调试运行程序并观察其结果。2.实验教学中存在的问题及解决方案3.分析建立两个单循环链表时,应该采用哪一种方法。学生在学习数据结构过程中,普遍反映对于理论知识都能建立单链表有前插法和尾插法两种算法,我们知道前插法够较系统地掌握,各种数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。