数据结构-使用C语言朱战立
- 格式:ppt
- 大小:884.00 KB
- 文档页数:53
1需求分析1.1研究背景教育信息化必将涉及许多具体的技术和机器在教育中的应用,它使得一些人往往以技术论,机器论的观点来认识教育信息化的目的,认为教育信息化就是以机器代替教师讲课,代替教育写板书,就是以电子教材代替印刷教材,就是实现网上学习……,并以代替性、省力性、顺利性、效率性作为评价教育信息化的尺度。
而成绩管理系统将大大的提高老师的管理效率,使得老师可以针对学生的具体情况进行深入教育,培养跨世纪的创新人才,是实现教育的现代化。
教育信息化应以新的教育思想、教育观念指导信息技术在教育的各个部门、各个领域广泛应用,应根据创新人才培养的要求,利用信息技术,探索新的教育模式,促进教育现代化。
只有在这样的基础上指导信息技术的教育应用,才是我们所需要的教育信息化。
也就相应产生了对学生成绩的高效管理。
1.2课题研究的目的及意义现在我国各院高校的学生成绩管理水平普遍不高,有的还停留在纸质基础上,这种管理手段已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。
成绩管理系统提供了强大的管理功能,方便管理员对考试成绩等信息的添加、修改、删除、查询、分类等操作。
本系统将提高管理人员的工作效率和工作质量。
如今,计算机网络带动了全球信息化得进程。
在高校中,信息化带来的传统教学、科研模式的变化,需要新的管理机制:以信息技术为手段的校务管理,也需要新的机制,即需要一个数字化的校园(Digital Campus)。
数字校园的建设也是高校信息化的重要组成部分。
成绩管理是学校管理中的异常重要的一个环节,作为学校,除了育人,就是与育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,在于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着重要的分量。
运用成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,是各项管理更加规范化。
《数据结构-C语⾔版》(严蔚敏,吴伟民版)课本源码+习题集解析使⽤说明《数据结构-C语⾔版》(严蔚敏,吴伟民版)课本源码+习题集解析使⽤说明先附上⽂档归类⽬录:课本源码合辑链接☛☛☛习题集全解析链接☛☛☛★教材及习题源码下载★链接☛☛☛(GitHub仓库)欢迎Star项⽬,如有疑问,请在Issues反馈。
博主有话说:01.⾃学编程,难免思路阻塞,故我在本博客陆续更新了严蔚敏,吴伟民版《数据结构-C语⾔版》各章节的课本源码和配套习题集答案解析,⽬的是为了整理数据结构中的知识点,并与⽹友交流意见,集思⼴益,共同进步。
(⽬前已更新完毕,细节待完善)★注★左侧随笔分类下⽤两个栏⽬:<课本源码>、<习题解析>来存放本主题⽂档。
<课本源码>⽬录下实现了三种数据结构源码:⼀:课本中重点描述过的数据结构与算法;⼆:课本中提到,但没有详细描述的数据结构;三:课本中未提到,但在习题集中涉及到的数据结构。
<习题解析>⽬录下存放了配套习题集中每章的习题解答,但对于算法设计题,要注意其相对路径,因为涉及到了别的⽂档的引⽤。
各⽂档的组织⽅式参见附录⼆中的图⽰,有疑问联系博主。
02.本源码与解析涵盖了《数据结构》课本和习题集两部分,课本和习题集分别以下图书籍为参照(我有左边的纸质版和右边的电⼦版,貌似内容没区别):03.所有源码实现均使⽤C语⾔,遵循C99标准,使⽤C-Free 5(C-Free置gcc编译器,编译时,需要在菜单栏,定位到构建-->构建选项-->类别-->C Language,勾选第三个:"ISO C99 plus GNU extensions [-std=gnu99]",即编译选项⽤-std=gnu99,⽽不是-std=c89或者-std=c99)测试通过(不要在CFree⾥创建⼯程,如果确实想在⼯程⾥运⾏,那⽂件互相引⽤的⽅式需要改写)。
《数据结构》第五版清华大学自动化系李宛洲2004年5月目录第一章数据结构--概念与基本类型 (6)1.1概述 (6)1.1.1数据结构应用对象 (6)1.1.2学习数据结构的基础 (7)1.1.2.1 C语言中的结构体 (7)1.1.2.2 C语言的指针在数据结构中的关联作用 (8)1.1.2.3 C语言的共用体(union)数据类型 (12)1.1.3数据结构定义 (15)1.2线性表 (17)1.2.1 顺序表 (18)1.2.2 链表 (20)1.2.2.1链表的基本结构及概念 (20)1.2.2.2单链表设计 (22)1.2.2.3单链表操作效率 (29)1.2.2.4双链表设计 (30)1.2.2.5链表深入学习 (32)1.2.2.6稀疏矩阵的三元组与十字链表 (36)1.2.3 堆栈 (41)1.2.3.1堆栈结构 (41)1.2.3.2基本操作 (42)1.2.3.3堆栈与递归 (44)1.2.3.4递归与分治算法 (45)1.2.3.5递归与递推 (49)1.2.3.6栈应用 (52)1.2.4 队列 (57)1.2.4.1队列结构 (57)1.2.3.2队列应用 (59)1.3非线性数据结构--树 (64)1.3.1 概念与术语 (64)1.3.1.1引入非线性数据结构的目的 (64)1.3.1.2树的定义与术语 (65)1.3.1.3树的内部节点与叶子节点存储结构问题 (66)1.3.2 二叉树 (66)1.3.2.1二叉树基本概念 (66)1.3.2.2完全二叉树的顺序存储结构 (68)1.3.2.3二叉树遍历 (69)1.3.2.4二叉树唯一性问题 (71)1.3.3 二叉排序树 (72)1.3.3.1基本概念 (72)1.3.3.2程序设计 (73)1.3.4 穿线二叉树 (79)1.3.4.1二叉树的中序线索化 (80)1.3.4.2中序遍历线索化的二叉树 (81)1.3.5 堆 (82)1.3.5.1建堆过程 (83)1.3.5.2在堆中插入节点 (85)1.3.6 哈夫曼树 (86)1.3.6.1最佳检索树 (86)1.3.6.2哈夫曼树结构与算法 (88)1.3.6.3 哈夫曼树应用 (90)1.3.6.4哈夫曼树程序设计 (92)1.3.7 空间数据结构----二叉树深入学习导读 (95)1.3.7.1k-d树概念 (96)1.3.7.2k-d树程序设计初步 (97)1.4非线性数据结构--图 (100)1.4.1图的基本概念 (100)1.4.2图形结构的物理存储方式 (103)1.4.2.1相邻矩阵 (103)1.4.2.2图的邻接表示 (104)1.4.2.3图的多重邻接表示 (106)1.4.3图形结构的遍历 (107)1.4.4无向连通图的最小生成树(minimum-cost spanning tree:MST) (110)1.4.5有向图的最短路径 (113)1.4.5.1单源最短路径(single-source shortest paths) (113)1.4.5.2每对顶点间最短路经(all-pairs shortest paths) (116)1.4.6拓扑排序 (117)第二章检索 (123)2.1顺序检索 (123)2.2对半检索 (124)2.2.1 对半检索与二叉平衡树 (124)2.2.2对半检索思想在链式存储结构中的应用---跳跃表 (127)2.3分块检索 (133)2.4哈希检索 (134)2.4.1哈希函数 (135)2.4.2闭地址散列 (136)2.4.2.1线性探测法和基本聚集问题 (136)2.4.2.2删除操作造成检索链的中断问题 (138)2.4.2.3随机探测法 (139)2.4.2.4平方探测法 (140)2.4.2.5二次聚集问题与双散列探测方法 (141)2.4.3开地址散列 (142)2.4.4哈希表检索效率 (142)第三章排序 (145)3.1交换排序方法 (145)3.1.1直接插入排序 (145)3.1.2冒泡排序 (147)3.1.3 选择排序 (148)3.1.4 树型选择排序 (149)3.2S HELL排序 (150)3.3快速排序 (152)3.4堆排序 (154)3.5归并排序 (156)3.6数据结构小结 (159)3.6.1 数据结构的基本概念 (159)3.6.2 数据结构分类 (159)3.6.2.1数据结构中的指针问题 (160)3.6.2.2线性表的效率问题 (161)3.6.2.3二叉树 (161)3.6.3排序与检索 (161)3.7算法分析的基本概念 (162)3.7.1基本概念 (162)3.7.2上限分析 (164)3.7.3下限分析 (164)3.7.4空间代价与时间代价转换 (165)第6章高级数据结构内容--索引技术 (167)6.1基本概念 (167)6.2线性索引 (168)6.2.1 线性索引 (168)6.2.2 倒排表 (169)6.32-3树 (170)6.3.1 2-3树定义 (172)6.3.2 2-3树节点插入 (173)6.4B+树 (178)6.4.1 B+树定义 (178)6.4.2 B+树插入与删除 (180)6.4.3 B+树实验设计 (182)第一章数据结构--概念与基本类型1.1概述1.1.1数据结构应用对象计算机应用可以分为两大类,一类是科学计算和工业控制,另一类是商业数据处理。
2011年广东省普通高等学校本科插班生招生简章一、报考条件坚持四项基本原则,热爱祖国,品德良好,遵纪守法,决心为社会主义现代化建设勤奋学习且具有培养前途,并符合下列条件之一人员可以报考:1.就读广东省普通高校的高职高专应届毕业生(含外省生源);2.广东省户籍或广东生源在省外普通高校就读的高职高专应届毕业生(不含办理了暂缓就业的非应届毕业生);3.其它取得国民教育专科毕业文凭的广东省户籍考生。
下列人员不得报考:1.应届毕业生之外的高等学校专科在校生;2.非广东户籍的专科毕业生(含办理了暂缓就业的专科毕业生);3.2010年参加本科插班生考试,因作弊被取消各科考试成绩并被禁止下年度参加本科插班生考试的;4.因触犯刑律已被有关部门采取强制措施或正在服刑者。
二、报名时间和办法报名时间:2011年1月4日至7日四天为网上预报名时间,考生通过互联网登陆/cbsbm进行预报名,逾期不再办理报名手续;2011年1月8日至1月10日三天为网上报名确认时间。
报名确认地点:各招生院校。
考生必须持身份证原件与复印件及最后学历成绩单(毕业学校加盖公章)亲自到报名点确认报名资格。
此外,往届生须持专科毕业证书原件与复印件;普通高校应届毕业生须持当年入学名册复印件(考生所在学校加盖公章方有效),入学时补验毕业证书原件。
招生学校负责对考生报考材料的审查,省招生办在录取审核时复查有关材料,对弄虚作假者取消录取资格。
考生报名时不再出具所在单位同意报考的证明材料。
考生与所在单位因报考本科插班生产生的问题由考生自行处理。
考生未能提供相关档案,高校不得录取。
考生必须提供真实的档案材料,供高校录取。
考生凡持假证明、假文凭等虚假材料报名考试的,取消考试资格;已被录取的,取消录取资格。
考生报名时须缴交200元报名考试费。
考生按规定考试时间、地点,持盖有招生学校骑缝章的准考证参加考试。
经审查材料不符合报考资格的考生,不退还报名考试费。
考生报考志愿只能填写一个学校的一个专业(该专业为专业课考试对应的专业)。
计算机专业教材目录计算机专业教材目录计算机专业是一个涉及计算机科学、信息技术、软件工程等多个领域的综合性学科。
在计算机专业的学习中,教材是学生们获取知识和提高技能的重要途径。
本文将介绍一些计算机专业经典的教材目录,帮助读者更好地了解这个领域的学习资源。
1、计算机导论电子工业出版社王志强傅向华梁正平李延红编著本书是计算机专业入门教材,介绍了计算机的基本概念、算法、数据结构、操作系统、计算机网络等方面的知识。
通过本书的学习,读者可以了解计算机系统的基本组成和原理,为进一步学习计算机专业课程打下基础。
2、高等数学高等教育出版社同济大学大学数学系编高等数学是计算机专业的基础课程之一,对于后续的学习具有重要的支撑作用。
本书内容涵盖极限、微积分、线性代数、概率论与数理统计等,是学习计算机专业必不可少的数学基础教材。
3、电路电子学电子工业出版社王文辉编著电路电子学是计算机硬件基础课程之一,介绍了电路分析、模拟电子技术、数字电子技术等知识。
本书内容详实,注重实践应用,适合计算机专业学生阅读。
4、C语言程序设计清华大学出版社崔武子赵重敏李青编著 C语言是计算机专业的重要编程语言之一,本书介绍了C语言的基本语法、程序结构、数据类型、运算符等知识。
通过本书的学习,读者可以掌握C语言编程的基本技能,为后续深入学习其他编程语言打下基础。
5、数据结构——使用C语言西安交通大学出版社朱战立编著数据结构是计算机专业的重要课程之一,本书介绍了各种基本数据结构的定义、实现和应用。
通过本书的学习,读者可以深入理解数据结构的原理和应用,提高程序设计和问题解决的能力。
6、计算机网络电子工业出版社谢希仁编著计算机网络是计算机专业的重要课程之一,本书介绍了计算机网络的基本概念、协议、网络体系结构等方面的知识。
通过本书的学习,读者可以了解计算机网络的基本原理和应用,为后续深入学习网络编程和网络安全打下基础。
7、计算机组成原理高等教育出版社唐硕飞编著计算机组成原理是计算机专业的核心课程之一,介绍了计算机硬件的基本组成和工作原理。
计算机科学与技术专业主干课程简介课程编号:0806050101 课程名称:计算机导论课时:68课程内容:本课程是计算机专业的基础课,也是入门课。
通过对本课程的学习,学生将初步认识计算机的产生、发展历程,清晰了解计算机的硬件、软件、操作系统、网络等概念,掌握计算机操作应用的基本技能,为学习计算机专业的后继基础课与专业课打好基础。
教材与参考书目:1、计算机导论,杨克昌等主编,中国水利水电出版社2、计算机导论,朱战立等主编,电子工业出版社课程编号:0806050106 课程名称:C语言程序设计课时:85课程内容:C程序设计是计算机专业的一门主要课程,C语言是近年来国内外得到迅速推广使用的一种现代语言,它的功能丰富,表达力强,使用方便,应用面广,目标程序效率高,可移植性好,不仅是系统描述语言,而且又是通用的程序设计语言。
学习好这门课程,将为学会开发软件提供有力的工具,并为维护计算机打下良好的基础。
教材与参考书目:1、C语言程序设计(第三版),谭浩强,清华大学出版社2、C程序设计(第二版)谭浩强著,清华大学出版社课程编号:0806050107 课程名称:数字逻辑课时:68课程内容:数字逻辑是计算机专业的主要技术基础课,是进行电路设计的基础。
本课程系统地介绍了逻辑设计的理论基础和逻辑电路的分析和设计方法,重点是组合逻辑电路和同步时序电路的分析与设计,掌握脉冲电路的设计,并了解几种可编程逻辑器件的基本结构、工作原理及应用,了解几种集成逻辑门和一些中规模集成芯片的功能及性能。
教材与参考书目:1、数字逻辑与数字系统(第三版·网络版),白中英,科学出版社2、数字逻辑电路,杨文霞,孙青林编著,科学出版社课程编号:0806050110 课程名称:离散结构课时:68课程内容:离散结构是计算机科学中基础理论的核心课程,是数学中涉及面非常广泛的一门学科,它不仅是计算机科学中最重要的基础理论之一,也是培养学生缜密思维,提高学生素质的核心课程。
双向选择排序算法袁关伟【摘要】为丰富O(n2)阶排序算法的种类,以更好地服务于教学科研和日常应用,提出了一种新的排序算法—双向选择排序算法.通过数学方法分析得知:该算法的时间复杂度为O(n2),空间复杂度为O(1).通过实验对比得知:在相同条件下,该算法的运行时间平均为冒泡排序的27%、简单选择排序的62%、直接插入排序的88%.【期刊名称】《计算机系统应用》【年(卷),期】2016(025)001【总页数】4页(P171-174)【关键词】双向;选择;排序【作者】袁关伟【作者单位】9027部队,乌鲁木齐830000【正文语种】中文1.1 算法思想双向选择排序算法的基本思想:每趟从无序区中选出关键字最大(小)和最小(大)的记录,并将它们分别放在当前无序区的第一个位置和最后一个位置,自此以后当前无序区的第一个位置和最后一个位置就不再属于无序区了.显然,经过一趟排序后,无序区中的记录减少两个.重复执行上述操作,直至无序区不存在(问题规模为偶数的情况)或无序区中只剩下一个记录(问题规模为奇数的情况)为止.需要指出的是,当无序区中只剩下一个记录时,全体记录也一定按关键字有序了,这从算法最后一次选择关键字时的情景很容易看出.1.2 算法实施策略以非递增排序为例(非递减排序同理),实施双向选择排序算法一共需要3步,具体如下:(1)分别从当前无序区的两端开始扫描,扫描的结果是选出关键字最大记录和最小记录.(2)将关键字最大记录和当前无序区中的第一个记录比较,若当前无序区中的第一个记录不是关键字最大记录,也不是关键字最小记录,则将它们直接交换;若当前无序区中的第一个记录不是关键字最大记录,但是关键字最小记录,那么在交换前,必须将关键字最小记录的下标更改成关键字最大记录的下标,因为交换后,关键字最小记录的位置已不再是原先选出来的位置,而是关键字最大记录的原位置,而关键字最小记录的位置在它和当前无序区中最后一个记录交换时还必须用到.此步可谓实施本算法最为关键的一步,唯有如此,才能确保关键字最小记录和当前无序区中的最后一个记录交换时不出错.(3)将关键字最小记录和当前无序区中的最后一个记录比较,若当前无序区中的最后一个记录不是关键字最小记录,则将它们交换.为简单起见,以记录的关键字类型为整型为例,算法用C语言实现如下:void bidirectional_select_Sort(int R[]){ /*函数名:双向选择排序函数程序员:袁关伟时间:2014年11月地点:北师大*/ int max,min,temp,i,j,k1,k2,max_idx,min_idx;for(i=0,j=N-1;i<j;i++,j--){// N为宏定义标识符,代表问题规模max=R[i];min=R;for(k1=i+1,k2=j-1;k1<N-i;k1++,k2--) {if(R[k1]>max){max=R[k1];max_idx=k1;}if(R[k2]<min){min=R[k2];min_idx=k2;}}if(R[i]!=max){if(R[i]= =min)min_idx=max_idx;temp=R[i];R[i]=R[max_idx];R[max_idx]=temp;}if(R!=min){temp=R;R=R[min_idx];R[min_idx]=temp;}}}现以中国主要河流为例,在VC++ 6.0中用C语言编写测试程序对其按“长度”非递增排序,测试结果如图1所示,其中测试数据来自文献[23].4.1 性能及稳定性分析设n是问题规模,f(n)是基本操作重复执行的次数.由算法实现部分可知,双向选择排序算法的基本操作为第二个for循环里的比较和交换操作,此基本操作重复执行的次数即可决定算法的时间复杂度.不难看出,比较和交换操作的次数是由第一个for循环和第二个for循环的执行次数决定的,第一个for循环最多执行次,且第一个for 循环每执行一次,第二个for循环就要执行次.于是可得如下关系式:(1)当n为偶数时(计算过程的原理是等差数列的求和公式):(2)当n为奇数时(计算过程的原理是等差数列的求和公式):因为实现双向选择排序算法需要的辅助变量不随问题规模n的变化而变化,所以它是一个就地排序算法,其空间复杂度为O(1).同时,经分析和实际测试,在记录交换的过程中,关键字相同的记录的相对次序可能发生变动,所以双向选择排序是一个不稳定排序.4.2 算法对比4.2.1 理论对比根据上述分析结果,现将双向选择排序算法与经典简单排序算法——直接插入排序、简单选择排序、冒泡排序作一性能对比,对比结果如表1所示.所以,双向选择排序算法的时间复杂度为4.2.2实验对比根据理论对比结果,不难看出,双向选择排序算法和经典简单排序算法——直接插入排序、简单选择排序、冒泡排序的时间复杂度和空间复杂度都处于同一阶.为了更精确地对比双向选择排序算法与经典简单排序算法的性能优劣,下面利用时间度量函数——time()函数对它们在相同条件下的实际时间耗费进行统计,其中的测试数据是通过rand()函数随机生成的.统计结果如表2所示,其中w和s分别表示数量单位“万”和时间单位“秒”.本测试的硬件环境为:Cerleron(R)T3100 1.90GHz 双核CPU,3GB内存;软件环境为:Windows XP操作系统,Visual C++ 6.0集成开发环境.以表2中后11次实验结果来分析(第1次存在分母为0的情况,故略).设冒泡排序、简单选择排序、直接插入排序在后11次实验中与双向选择排序运行时间的平均比率分别为q1、q2、q3,则有:所以,在相同条件下,双向选择排序的运行时间平均为冒泡排序的27%、简单选择排序的62%、直接插入排序的88%.本文提出了双向选择排序算法,经理论分析得知,其时间复杂度和空间复杂度与直接插入排序、简单选择排序、冒泡排序处于同一阶;经实验分析得知,在相同条件下,其运行时间平均为冒泡排序的27%、简单选择排序的62%、直接插入排序的88%.排序算法历来是《数据结构与算法》课程中重点而基础的问题,本文算法的提出,不仅为排序算法家族增添了一个新成员,而且可供《数据结构与算法》任课教师用作学生的课堂引申题、课后思考题和毕业设计题,因而它具有一定的学术价值.另外,在现实生活中,几乎所有可以使用简单选择排序的场合,它都可以更好地替补上去,这决定了它具有一定的应用价值.1 Dongarra J,Sullivan F.Gust editors introduction to the top 10 aigorithm.IEEE Computing in Science &Engineering,2000,2(1):22-232 Horowitz E,Sahni S,Anderson-Freed S.数据结构基础.朱仲涛,译.第2版.北京:清华大学出版社,2009.3 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,1997.4 张乃孝.算法与数据结构—C语言描述.第2版.北京:高等教育出版社,2006.5 张铭,王蛟龙,赵海燕.数据结构与算法.北京:高等教育出版社,2008.6 李春葆,尹为民,等.数据结构教程.第2版.北京:清华大学出版社,2007.7 廖明宏,郭福顺,等.数据结构与算法.第4版.北京:高等教育出版社,2007.8 朱战立.数据结构—使用C语言.第4版.北京:电子工业出版社,2009.9 陈媛,何波,卢玲,等.算法与数据结构.第2版.北京:清华大学出版社,2011.10 袁关伟.面向GIS的计算机基础算法及其数据结构研究[硕士学位论文].昆明:西南林业大学,2012.11 王善坤,陶祯蓉.一种三路划分快速排序的改进算法.计算机应用研究,2012,29(7):2513-2516.12 庹清,向贵成,宋耀虎.改进的按位拆分快速排序算法.计算机应用,2011,31(z1):183-191.13 邵顺增.稳定快速排序算法研究.计算机应用与软件,2014,31(7):263-266.14 白宇,郭显娥.单向链表快速排序算法.计算机工程与科学,2014,36(1):115-120.15 吴尚志.改进的堆排序算法及其复杂度分析.西北师范大学学报(自然科学版),2002,38(3):24-26.16 唐开山.堆排序算法研究.绍兴文理学院学报,2004,10(24):16-18.17 范时平,汪林林,何先刚.一种线性原地二路归并算法.计算机科学,2004,31(12):221-225.18 白宇,郭显娥.深度优先稳定原地归并排序的高效算法.计算机应用,2013,33(4):1039-1042,1060.19 Knuth DE.计算机程序设计艺术(第3卷排序与查找).苏运霖,译.北京:国防工业出版社,2002.20 唐开山.循环插入排序法.计算机工程与应用,2005,41(12):88-91.21 唐开山.4路插入排序法.计算机工程,2006,32(1):51-53.22 淦艳,杨有,余平.冒泡排序算法及其改进算法的实验分析.重庆三峡学院学报,2011,27(132):53-57.23 北京天域北斗图书有限公司.中国交通旅游图册.北京:中国旅游出版社,2008. mathematical method that the time complexity of the new algorithm isand its space complexity is O(1).It is known by empirical method that the running time of the new algorithm is averagely 27 percent of bubble sort,and 62 percent of simple selection sort and 88 percent direct insertion sort in same condition.。
高职院校数据结构分层教学方法探讨摘要:高职院校学生质量参差不齐,传统的“一刀切”教学方法难以满足各层次学生数据结构的学习需求。
实施数据结构分层教学,能够较好适应高职院校不同层次学生对数据结构教学的不同要求,激发学生学习数据结构的兴趣,使各层次学生对数据结构课程的学习积极性均有提高。
关键词:高职院校数据结构分层教学中图分类号:g642 文献标识码:a 文章编号:1673-9795(2012)09(b)-0061-011 分层教学概述分层教学是根据学生的学习水平和能力不同开展不同层面的教学活动,并针对不同发展层次学生的需求给予相应的学法指导,使每位学生尽可能的同时得到发展。
数据结构的分层教学能较好的解决上述问题,调动各层次学生学习数据结构的积极性。
2 实施分层教学2.1 了解差异,科学分层在教授数据结构课程之前,根据学生的实际情况把学生大致划分三个层次:a组:c++基础扎实,接受能力强,学习态度积极,能积极思考问题。
b组:c++基础一般,学习比较自觉,但遇到学习困难易退缩。
c组:c++基础薄弱,学习态度不积极,极易丧失学习数据结构的信心。
2.2 数据结构分层教学目标根据学生现有知识能力水平,首先对数据结构课程的教学目标可分为三个层次:a层为高级目标,要学生牢固掌握数据结构基本理论算法的基础上,注重学生知识的实践性与扩展性,强化算法设计与分析能力的培养;b层为中级目标,难度略有降低,要求学生能掌握数据结构基本理论与基础算法,理解掌握相关经典算法,强化培养程序设计能力;c层目标为基础目标,要求学生掌握数据结构基本理论和基础算法,理解经典算法并进行验证性实验,基本完成课堂教学的学习任务。
c、b等级的学生可以在较好完成本层次目标之后,尝试向高难度的b、a层发起挑战,激发学习的兴趣,而a 层的学生也可以通过b、c等级目标的学习对基础知识进行及时的复习与巩固,从而更好地完成本层次目标。
(表1)2.3 分层备课分层备课是实施分层教学的前提,教师要根据不同层次的教学目标,设计相应教学内容。