“数据结构”课程强化算法应用的教学实践

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:wwwvvv79
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:“数据结构”是计算机类专业的核心课程,学习内容抽象难理解,理论教学与实际应用容易脱节,教学中应将抽象的数据类型与现实建立对应,加强学生对理论知识的感性认识。文章以Dijkstra算法和Floyd算法为例,分析强化算法应用的教学实践,同时挖掘算法内涵开展协同育人教学。
  关键词:算法应用;Dijkstra算法;Floyd算法;协同育人
  0 引言
  数据结构是20世纪60年代提出并研究,20世纪70年代科学家Niklaus Wirth的著作《Algorithm+Data Structures=Programs》使得数据结构研究不断深入,20世纪80年代研究日臻成熟,成为一门完整的学科。它是一门介于数学、计算机软件、计算机硬件之间的综合学科,是程序设计的基础。
  在知识飞速更新的时代,提高学生获得知识的能力,真正做到“授人以鱼不如授人以渔”,是教师应尽的责任。作为一门理论和实践并重的课程,理论教学讲授算法思想,实践教学实现由抽象到具体的过渡,将不同的数据结构及算法,应用于不同的场景,并优化算法,对提高学生的能力非常重要[1]。
  1 分层教学的实施
  教学中因材施教,合理进行分层次的教学是有必要的,可使不同层次的同学都能够有所收获,充分调动每个学生的积极性,提高程序设计能力和算法实现的能力,体验成功的快乐。具体开展以下分层次教学。(1)教学内容分层。根据教材内容,总体分为两个部分:一是基础部分,算法相对简单的内容;二是提高部分,相对比较抽象,算法复杂。前一部分内容所有同学都必须掌握,后一部分对学习能力强的同学有很大帮助。(2)课后作业分层。同样分为基础部分和提高部分,把需要完成的作业设置不同的难度系数,学生根据自己的实际能力完成不同难度系统的作业,这样,在他们的能力范围内都有所提高,可增强学生的自信心。当然,不同的难度系数进行考核时其分值是不一样的。(3)实践项目分层。在项目实踐环节,依然是遵循力所能及的原则,而不是强求功能全、难度大的项目,只要同学们用心了,努力了就好[2]。
  2 实践教学环节的设计
  “互联网+”时代,积极探索改革教学模式,O2O混合式教学模式在本课程的实施中得以充分实现。无论线上线下,实践教学都是由浅入深、由易到难,具体的过程由3步完成:(1)验证性基础实验。教材中已给出的基本算法,比如,线性表的增、删、改、查,二叉树的生成、遍历等,通过上机实践,验证其算法的结果,难度小,提高学生的学习兴趣。(2)综合性实验。完成验证性基础实验之后,掌握了一些基本的算法,为进一步提高学生的分析和应用的能力,要求学生完成一些综合性的实验,比如串的模式匹配算法,教材中一般是精确匹配,我们要求学生使用通配符模糊匹配。         (3)项目设计实验。难度加大,完成一个相对完整的项目设计,提高综合运用能力,培养学生的创新能力。选题的原则是实用,包含较多的知识点,学生可以根据自己的生活学习环境确定,比如,“学生成绩管理软件”不仅包含基本的增、删、改、查,还要求有学生的成绩统计与分析,基本满足教务系统对学生成绩的管理要求;“线下实体书店自助导购软件”通过对图书的管理,让读者能够在一个大型实体书店迅速找到所需要的书籍[3]。
  3 强化算法应用的教学案例
  数据结构是计算机科学的支柱,程序设计的基础。教学中教师不能只停留在抽象的理论教学层面,一定要强化算法应用才是有效的。本文以最短路径的Dijkstra算法和Floyd算法为例,分析强化算法应用的教学实践。
  3.1 将抽象的数据类型与现实建立对应
  最短路径是图的最常见的应用之一,图是一种典型的复杂多对多的非线性数据结构。在讲解这部分内容之前,课前布置了预习任务,同学们通过各种线上线下资源,查阅资料,了解图的应用,引导学生的学习兴趣。通过查阅相关资料,就会发现图的应用已经渗入语言学、逻辑学、物理、化学、电信工程及计算机科学与数学学科的其他分支,当今最前沿的科技图神经网络机器学习,都源于图的应用。同学们感叹,学好算法真的是大有用武之地。Dijkstra算法和Floyd算法就从大家生活中非常熟悉的导航系统导入。
  3.2 最短路径的概念
  日常出行,选择的是路程最短(通常路程与时间成正比)。如果路程较短的道路比较拥堵,需要花费较长时间,我们会选择实际时间短的线路,有的可能考虑的是交通费用最少。交通的便利给人们带来了更多的选择。所以,首先明确最短路径问题,不能狭义认为只是距离最短,可以是距离,可以是时间,也可以是其他,是解决关于有向带权图的问题。最短路径问题有两大类:第一,从某个源点到其余各顶点的最短路径,用一维数组表示源点到其余各顶点的最短距离;第二,任意两个顶点之间的最短距离,用二维数组表示任意两个顶点之间的最短距离。
  3.3  Dijkstra算法思想
  Dijkstra是单源最短路径算法,用于计算一个顶点(称源点)到其他所有顶点的最短路径。对于给定的有向网,把所有顶点分成两组,第一组是已求出最短路径的顶点集合S,其初值为源点(顶点v);第二组是尚未确定最短路径的顶点集合T(即V-S),T的初值包含除源点之外的所有顶点。具体步骤:① 假设用带权的邻接矩阵来表示有n个顶点的带权有向图。arcs[i][j]表示弧上的权值,若不存在,则为∞(表示时用INF),最短路径长度(用dist[]表示)初值为dist[i]=arcs[v][i]。②从T集合中选择w,使得dist[w]=MIN{dist[i]|Vi∈V-S},就是当前求得的一条从v出发最短路径的终点。从T集合中删除w,并入S集合,令S=S∪{w}。③修改从v出发到T集合中各顶点的最短路径长度。如果dist[w]+arcs[w][i]<dist[i],则修改dist[i],使dist[i]=dist[w]+arcs[w][i]。④重复步骤②和③共n-1次,数组dist记录了从源点到图中其余各顶点的最短路径。⑤由此求得从源点到其余各顶点的最短距离是依次路径长度递增的序列。   3.4  Floyd算法思想
  Floyd是求任意顶点对之间的最短路径算法。在给定的有向网中,依然假定用带权的邻接矩阵来表示有n个顶点的带权有向图。初始状态是,若<vi,vj>存在,则存在一条长度为arcs[i][j]的路径{vi,vj},若<vi,vj>不存在,则为∞(表示时用INF),最短路径长度(用dist[]表示)初值为dist[i][j]=arcs[i][j]。因为该路径不一定是最短路径,然后进行n次试探,具体步骤如下。①首先试探从vi到vj是否有以顶点v1为中间点的路径,若<vi,v1>,<v1,vj>存在,则有路径{vi,v1,vj},距离为<vi,v1>,<v1,vj>长度之和,与最初的最短距离比较,取较短者为当前最短路径。②再添加顶点2为中间点,添加顶点3为中间点,……,依次类推,添加顶点n为中间点,每次添加后总是取路径较短者为当前最短路径,即在n次的试探过程中,如果存在一个k,使得dist[i][k]+dist[k][j]<dist[i][j],则将vk添加到vi到vj的路径中。③每次替换更新后的n阶方阵分别用D(-1),D(0),D(1),……,D(k),……,D(n-1)(存放最短距离),P(-1),P(0),P(1),……、P(k),……,P(n-1)(存放最短路径)。
  在最短路径的理论教学过程中,重点分析讲解Dijkstra算法和Floyd算法的思想,再引导同学写出相应的算法代码,最后在实践教学过程中完成一个功能较为完善的交通咨询系统,交通网络区域可以大,也可以小,但一定要使用实际数据,这样才能把算法应用落实到实处。
  3.5  算法思想的协同育人教学
  “数据结构”课程蕴含着丰富的育人资源,正确引导学生,把树立“中国梦”的理想与“专业梦”的规划有效结合起来,挖掘算法的思想内涵,开展协同育人教学。
  学习了最短路径的Dijkstra算法和Floyd算法之后,激发学生“时不我待、舍我其谁”的爱国热情。图神经网络是近年来倍受大家关注的前沿科技,AI是未来重要的发展方向,引导学生发现其中蕴含的机遇与挑战,从而教育学生一定要有认真、仔细、严谨、求真、求实的学习态度,担当起科技强国的使命和责任。
  迪杰斯特拉(Dijkastra)算法,源点到其余各点最短距离路径长度是按递增顺序一个一个求出,就像我们在人生路上必须求真务实,一步一步踏踏实实往前走,才能到达理想的彼岸,寻找属于自己的最优路径。
  4 结语
  “数据结构”课程的理论知识看似抽象枯燥,但其应用无处不在,加强算法应用的教学十分重要。新时代的教师要成为学生学习的引导者,不断进行教学理论的研究,设计好每一个教学过程,体现以“教师为主导,学生为主体”的教学理念,同时牢记教书育人的职责,实现知识教育与价值教育的内在契合,开展协同育人教学。
  [参考文献]
  [1]霍清华.应用型人才培养下的数据结构与算法课程改革[J].电脑知识与技术,2018(14):209-210.
  [2]严蔚敏.数据结构(C语言版)[M].北京:清华大学出版社,2018.
  [3]周蓓.数據结构与算法(C语言版)[M].北京:清华大学出版社,2019.
  (编辑 王雪芬)
其他文献
文章以清代疆吏那彦宝为研究对象,对其三次任职西北边疆的政治活动进行考述。嘉庆十五年(1810),那彦宝调任叶尔羌办事大臣期间查办三成增租案,解决地方弊政,规范回疆房产税的征收。道光三年(1823),那彦宝署理喀喇沙尔办事大臣,奏定蒙民贸易章程,解决蒙民贸易纠纷,维护蒙古生计。道光六年(1826)张格尔之乱期间,那彦宝先后任库车办事大臣、乌什办事大臣,帮同办理军需,剿办布鲁特。那彦宝任职西北的活动,从政治上、经济上、军事上维护了清朝的“大一统”格局,也彰显了统一多民族国家的巩固和发展,不只取决于某些关键历史
Formula refers to the idioms or habitual forms of expression repeatedly used in folk literature.Oral poet-ics is a new research direction in the field of oral research and poetic criticism.This paper,based on the the-ory of formula,upholds the oral poetic
Hasboo,Oglige-e Bayasqulant Geriin Ejen,Behd Hobdog Hobuun,was a Mongolian scholar of theDream of Red Mansion Dream and literary critic in the Qing Dynasty.He translated one hundred and twentychapters of Dream of Red Mansion into forty chapters in classic
摘 要:在互联网+的大环境下,信息技术的迅猛发展加速了教育教学方式的转变。SPOC线上课程已在各个高校快速开展。SPOC信息课程和混合式教学方式的结合尚有空间待研究。文章以录制的SPOC课程为依托,结合混合式教学模式的实践,围绕学生的学习效果,研究外语课程的设计与实践。  關键词:SPOC;混合式教学;教学设计  1 SPOC课程  互联网技术的高速发展不断影响教育教学手段的改进。SPOC(Sma
脱贫攻坚与乡村振兴在空间上是高度重叠的,从空间再生产出发可以更好地厘清从脱贫攻坚到乡村振兴的连续性与发展性,为两者之间的衔接与跨越补充了空间维度.以茶卡村的空间再
摘 要:将PBL教学模式的优势应用在计算机专业研究型课程教学中,不仅可以帮助学生熟练掌握计算机知识,有效提高学生相应能力,还有助于教师改变传统教学模式,提高计算机专业的教学质量。文章以PBL教学模式为基础,结合学校“信息平台的设计与实现”计算机专业研究型课程的特点,探讨基于PBL教学模式在研究型课程中的应用,并对其实施流程进行了详细说明。  关键词:PBL;教学模式;研究型课程  0 引言  PB
期刊
1912年皇帝国家转变至国民国家,被称为两千年来中国的根本革命,但青海额鲁特政治社会仍然是前朝藩部体制,王公仍是王公,而且加爵增禄举行年班,高级喇嘛仍是僧侣贵族,获得加爵增禄,照旧转世和年班;属下平民仍是世仆(albatu)。一切社会权力的结构没有变更,而僧俗贵族更愿回到真正的皇帝国家的国体。南京国民政府时期社会变动源自地方动乱、政府开发,使得旗政府和喇嘛寺院权力涣散。
摘 要:文章从教学资源、教学过程和课程考核等方面阐述了线上线下混合教学模式在离散课程教学过程中的应用;对优化课堂教学,提高教学效果提供了新的思路。疫情期间“离散数学”课程采用线上教学,疫情结束后,采用线上线下的混合教学模式,既有传统教学的基本特点,又克服了传统教学中学生学习积极性不高的特点,对“离散数学”课程的教学有很大的帮助。  关键词:“离散数学”;线上线下混合教学模式;课程改革  0 引言 
帕勒塔亲王是清末民初新疆蒙古族的著名王公,曾经对新疆地区的中俄关系和新疆蒙古族的文教事业产生过重要影响。本文通过相关考订,澄清了帕王家族的谱系,并对帕王几位子女的身世与生平做了一些辨析和说明。长子敏珠策旺多尔济承袭爵位,但长期留居中央,曾任国民政府蒙藏委员会委员,政权更替后流亡台湾;长女尼尔吉德玛,早年留学欧洲,回国后又结识多位国际旅行者,为中外文化交流和蒙古文化传播作出了诸多贡献,后来定居法国;次子策丹多尔济一生经历坎坷,最后以大学德语教授身份终老祖国大陆。帕王的家族故事是中西文化交流史的一个典型样本,