欢迎来到天天文库
浏览记录
ID:46236625
大小:2.67 MB
页数:211页
时间:2019-11-22
《数据结构教研问题讨论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构教研问题讨论根据精品课建设要求,我们将共同来研讨有关数据结构与算法课程的开设和授课中的一些基本问题。主要内容包括:数据结构与算法课程的设置数据结构中的若干问题算法基础中的若干问题数据结构与算法课程实践1⑴.数据结构:大部分高校在本科阶段只开设《数据结构》课程,没有开设算法课程。⑵.数据结构与算法:有些高校在本科阶段开设了《数据结构与算法》课程,将数据结构与算法的内容在一门课程中讲授。⑶.数据结构,算法基础:少数高校在本科阶段开设了《数据结构》和《算法基础》两门课程。1.1数据结构与算法课程设置2算法+数据结构=程序开设算法类课程的意义究竟是什么?在当前形势下,算法课程的授课内容应该如何
2、选择和取舍?算法课程的教学方法应该如何顺应时代的要求?如何让算法教学更加适应IT业、软件产业、计算机事业等领域发展的需求?如何让算法更加具有实用性:易学、易读、易懂、易扩展、易维护……1.2开设算法类课程的意义3①数据结构(二年级,第一学期,专业基础)②算法基础(三年级,第一学期,专业基础)③并行计算(四年级,第一学期,专业选修)④算法设计及其高效实现(公共选修课)⑤算法实践及其应用(公共选修课)4目前常用的数据结构、算法类教材主要采用下面几种方式描述算法:①基于自然语言;②基于类PASCAL或类C;③基于面向对象的程序设计语言(JAVA,C++)1.4算法的表示和描述5伪语言描述的优点:①与
3、具体的语言无关,摆脱了程序设计语言中的一些细节和规定;②易于表达算法的整体设计思想;所表示的算法可读性强,可以帮助更好的理解算法,可以方便的用各种程序设计语言来加以具体实现,适用面广。③算法性能的分析较为方便,可以将精力集中于算法性能的提高和算法设计与分析技巧。伪语言描述的不足:①与具体的语言结合不紧,应用中需要对具体程序设计语言有较好的掌握;②对于一些学生而言,可能实现算法时不够方便;③不时髦。伪语言.PK.面向对象的语言6面向对象程序设计语言描述的优点:①与具体的语言结合紧密,为具体程序设计语言量身定制,易于用所用的具体语言实现;②方便利用标准模版,可以按软件设计规范来加以实现,所具体实现
4、的算法安全性好,复用性好,易于在工程项目中应用;③比较时髦,易于吸引偏爱编程的学生。面向对象程序设计语言描述的不足:①描述算法时需要考虑具体程序设计语言的要求(语法,类的定义、继承、扩展等),不利于从整体上描述算法思想,所描述的算法可读性差,算法性能分析较困难,不同的语言,算法描述差异较大,缺乏通用性;②学习面向对象程序设计语言时一般要求有数据结构的基础,如果数据结构课程中选用面向对象的程序设计语言描述算法,就形成了互为基础的状况;③一个简单的算法被描述成好几个子函数,破坏了完整性,算法效率低。伪语言.PK.面向对象的语言7有关图的八个主要类:classAdjacencyGraph:用邻接矩阵
5、描述无向图classAdjacencyWGraph:用邻接矩阵描述加权无向图classAdjacencyDigraph:用邻接矩阵描述有向图classAdjacencyWDigraph:用邻接矩阵描述加权有向图classLinkedGraph:用邻接链表描述无向图classLinkedWGraph:用邻接链表描述加权无向图classLinkedDigraph:用邻接链表描述有向图classLinkedWDigraph:用邻接链表描述加权有向图例:用C++语言描述算法8图的八个主要类的派生关系:例:用C++语言描述算法LinkedWGraphAdjacencyGraphAdjacencyWGra
6、phAdjacencyDigraphAdjacencyWDigraphLinkedDigraphLinkedWDigraphLinkedGraphLinkedBase9例:类的定义示意templateclassAdjacencyWDigraph{friendAdjacencyWGraph;public:AdjacencyWDigraph(intVertices=10,TnoEdge=0);~AdjacencyWDigraph(){Delete2DArray(a,n+1);}boolExist(inti,intj)const;intEdges()const{returne;
7、}intVertices()const{returnn;}AdjacencyWDigraph&Add(inti,intj,constT&w);AdjacencyWDigraph&Delete(inti,intj);intOutDegree(inti)const;intInDegree(inti)const;private:TNoEdge;//用于没有边存在的情形intn;//顶点数目i
此文档下载收益归作者所有