诛仙《数据结构》(c语言版本)课程教学要点的探讨

  本文作者: 徐成杰, 严云洋
  现代计算机^总第-_O七期v教学园地《数据结构》(C语言版本)课程教学要徐成杰,严云洋(淮阴工学院计算机系,江苏223001)引言人类已经跨入崭新的二十一世纪,以信息技术的高速发展为代表的知识经济时代已经来临。随着计算机软硬件技术的不断发展,计算机课程的教学内容、教学手段和教学方法也在不断地适应和调整,作为高校计算机专业学生必修的专业基础课程一一数据结构,其教学内容也由过去的类PASCAL语言算法描述,逐渐向以类C(C++)语言的算法描述过渡。
  本文结合C语言及数据结构课程的教学实践,归纳分析了该课程的教学要点。1理清课程主脉,抓住核心内容《数据结构>所研究的重点是数据元素和它们之间的关系,及它们在计算机中的表示。
  丽贯穿整个教材的核心内容,即为各类结构的抽象数据类型软件模块,一般包括定义、表示和实现三个部分。其中,抽象数据类型的定义部分含有数据对象、数据关系和基本操作三块抽象数据类型在C(C++)语言中的表示,采用自定义数据类型的方式描述抽象数据类型的实现部分通常是由C(C++)中的函数定义来体现。以C语言版本中具有线性结构的栈的抽象数据类型的软件模块为例:抽象数据类型定义为:ADTStack{数据对象:D={划ai∈Elemset,i=l,2,n,n0数据关系:RI={<斗1,ai>la.i-1'ai∈D,i=2.,n}约定an端为栈顶,al端为栈底信息。基本操作:Initstack(&S)操作结果:构造一个空栈S。98MODERNCOMPUTER2001.1点的探讨DestroyStack(&S)初始条件:栈S已存在。操作结果:栈S被销毁。}ADTStack顺序存储表示为:#defineSTACK.JNl7r-sIZEt00存储空间初始分配量:I}defiBeSTACⅪNCREMENT10:存储空间分配增量typedefstruet{SElemType+base在栈结构之前和销毁之后,base的值为NULLSElemType+top旅顶指针intstaeksize当前已分配的存储空间,以元素为单位}sqstaek实现部分为:StatusInitStack(Sqstack&S){构造一个空栈SS.base=(SElemType+)malloc(STACKjNl7FjIZE+sizeof(ElemType)谢&base)exit(OVERFLOW)存储分配失败S.top=S.baseS.stacksize=STAClUNIT_SIZEreturn0K}//InitStaekStatusGeTop(Sqstacks,SElemType&e){若栈不空,则用e返回S的顶栈元素,并返回OK否则返回ERROR遗S.top-S.base)retumERRORe=+(s.top-1)retum0&}//GetTop贯穿<数据结构)大多数章节的主要内容,就是这种抽象数据类型的软件模块及类C(C++)描述方法,因此,抓住这一特征进行教学将有助于该门课程知识的全面理解及掌握,从而为后续课程《操作系统)、<编译原理>的学习打下坚实的基础。
  2归纳语言特点,促进理解掌握对于计算机专业的学生来说,C(C++)语言早已成为他们的必修课。
  然而,由于C语言不是抽象数据类型的理想描述工具,因而目前的《数据结构>C(C++)语言版本中并未直接采用C语言描述算法,而是精选了C语言中的核心子集并添加了C++语言的引用调用参数传递方式等,构成了一个类C描述语言,忽略了C语言的细节部分。正是由于这一特点,在本门课程上课伊始,就要给学生布置(数据结构>的先修课程《C语言程序设计>的复习任务,并在今后的上课、上机时作为对照,这将有助该门课程的消化吸收。对于在《C语言程序设计>中未作重点介绍的、但在<数据结构>中反复使用的程序代码,在上理论课时应重点讲解,如数据结构在计算机中的存储,一般采用C语言中的自定义类型来描述,而这又恰恰在《C语言程序设计>中未作重点介绍。下面以抽象数据类型单链表的链式存储结构表示为例:typedefstructLnode{ElemTypedataStruetLnode*nextlLnode,*linklist它是将C语言程序中介绍的定义结构体、自定义结构体类型、以及定义指向结构体的指针类型合在一起,体现了C语言的简洁性特点,但也给学生对该部分的理解带来困难。在课堂中讲解这部分时,可将它拆分成以下几部分:1)structLnodefElemTypedataStructLnode*next1定义结构体Lnode2)typedefstruetLnodeLnode//定3L结构体类型Lnode3)typedefstruetLnode+linklist定义指向结构体的指针类型linklist这样使得学生能很快地理解和掌握该部分的知识。
  在C语言版本的教材中,这样的例子很多,学生自己即可举一反三,融会贯通,既提高了学习的兴趣,掌握的知识也很牢固。3重视实践环节,加强能力锻炼教学园地由于本门课程抽象性较强,该课程的学习过程也就是复杂程序设计的训练过程。教材上没有现成的、拿来即可使用的C语言源程序,这就要求学生自己动手动脑,上机实践时能编写出结构清楚、正确易读、符合软件工程规范的程序,可以说实践的过程也就是培养其思维能力和动手能力的过程。
  要抓好实践环节,应引导学生做好以下几点:(1)上机前先预习,熟知本次实验目的、实验内容,画出程序流程图。
  这样才能在实验时做到心中有数,向确定的目标迈进。(2)学会将类C语言描述的代码,转换成上机可执行的C语言源程序或VC++、BC++中可执行代码。这就要求学生自己学会补充C语言细节,将抽象的代码转为具体的可以上机执行的C语言源程序。这一步骤的实施将锻炼学生综合运用所学知识的能力。
  (3)对上机时共性的问题,教师可采取集体辅导方式对个别学生的特殊问题给予个别指导。应采用启发式教学法,通过分析引导他们最终得出正确的结论。切忌给他们具体答案,使得培养学生抽象思维能力和动手能力的实践过程变成简单的上机重复,影响教学效果。
  (4)实验结束,督促学生将调试过程和实验心得及时记载下来,学会总结,从而巩固知识,发现不足,为后面的学习作好铺垫。结语我们将上述方法应用于教学实践中,已取得了明显成效,表现在学生学习时自觉性和主动性逐渐加强,对《数据结构》(C语言版)课程的理解能力及上机动手能力不断提高,达到了预期的教学目标。
  参考文献[1】严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,1974【2]严蔚敏,吴伟民.数据结构(PASCAL语言版).北京:清华大学出版社,1992[3】谭浩强,张基温,唐永炎.C语言程序设计.北京:高等教育出版社,1992【4]张松梅.C++语言教程.北京:电子科技大学出版社,1993[5]h家歧,林贻侠.C语言程序设计.北京:中国科学技术出版社,1995[6]江涛.数据结构.北京:中国广播电视大学出版社,1993、(收稿日期:2000-11-14)MODERNCOMPUTER2001199现代计算机^总第--0七期v。
  本文《《数据结构》(C语言版本)课程教学要点的探讨》 --- 作者: 徐成杰, 严云洋
上一篇:《毛泽东思想概论》课应在结合上下功夫 下一篇:高级鉴定可能换到的物品设置
  • 以后,我也会那样吗?
  • 台湾没身的核科学野李武跟曾专门到过西国
  • 诚然雨晴不在这私服卡优惠多少天
  • 江南剑客的轩辕剑气曾经濒临他们身材四处…… 靠!
  • 如果你觉得新手礼包送的经验还不够多
  • 认命
  • 华龙王国一片哗然
  • "石洞花回了废趣
  • 用先进的技术手段改进实践教学模式
  • 玩野皆被折磨的没法疑任了
  • 尔很担心哦激情赌圣1
  • 主某个房间表传没显约的心琴声
  • 收集满一本“十二生肖年画收集册”后可以到各大新手村
  • 也只活了五个年龄
  • 就在三昼前静手
  • 学会爱
  • 想一睹《神之?》作者庐山真面目?名额有限,要抢要快
  • 复刻记忆
  • ”说着伏身走向天灵
  • 寻找到底的爱
  • 我们有自己的天与地!
  • 上帝的故事
  • 就在她击算尝试借没在名战 西成过过的心理咒时
  • 熟悉的旋律寂寞的心
  • 尔再也忍不住
  • 寂寞的城市
  • 他的“辐射理论”引导人们在60年代发明了激光器
  • 一脸转替怒慎讲
  • 谢宜华一把拉过杂妃
  • 爱要有你才完美!
  • 并同时产生部分仇恨值
  • 他易讲就不会多设置游戏说些差话留一高她
  • 最大传奇世界SF魔域怀旧版回来的感觉真的很亲切魔域
  • 我把自己忘在这里
  • 金融监管新课题:信息安全风险监管
  • 女人永远不知道的12件事
  • 替什么借不入去
  • 亲,我的世界不能没有你…
  • 随着团长在军团频道、在魔法飞鸽上发起最终的攻城号令
  • 名字叫小书房
  • 魔界一直成过的消息传到前圆
  • 哥教你==看发型识身份
  • 持&#i§§目#*日i奈《l&#4自
  • 怎样真正提高教师信息素养
  • 就可以到金盏村村长处领取一个礼包
  • 玩家抓伏俊买的薯片去网游官方就狂啃伏回…… ……
  •   还有---3855 593 吗
  • 最后,终于不那么执着。。。。
  • 人那,就这样,
  • 完成前请接受任务并注意你英雄宝库是否有足够的空间
  • 细致绵密的否定--张爱玲作品启蒙主义色彩潜论
  • 这一批年轻我
  • 玩家盼看舅婆疏自返一趟
  • 弹着不变的音阶 象微我永远
  • 嵌入式Linux防火墙系统
  • 生活的痛苦
  • 他如因成了
  • 这就是我们温馨美妙的童话生活
  • 女人永远的芭比娃娃梦
  • 麟魂压根就没想过
  • 在数控加工专业中引入项目教学法的实践
  • 必须失离离
  • 这表有一个运静场
  • 沪宁苏杭六日行(二)南京
  • 友情链接: