沈敬伟
【摘 要】在当前地理信息科学专业教学中,数据结构的教学内容和计算机专业的教学内容相似,如果不能很好地结合地理信息科学专业的特色进行课程内容设计,就无法达到理想的教学效果。结合地理信息科学专业的特点进行数据结构教学内容的设计,能够促进学生对数据结构和地理信息系统的学习。
【关键词】数据结构 地理信息科学专业 教学内容改革
一、前言
数据结构是计算机专业的一门综合性专业基础课,算法和数据结构是计算机科学的两大支柱。地理信息系统(GIS)是在计算机硬、软件系统支持下,对地理空间数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。作为计算机专业核心课程的数据结构是GIS专业的核心课程。然而,计算机专业和GIS专业学生专业背景不同,学习重点也不同。因此,在GIS专业数据结构教学过程中,根据本专业的需求,并结合专业特点,设计合理的教学内容是十分必要的。
二、GIS专业数据结构课程教学存在问题
通过数据结构的学习,要求学生掌握:数据的各种逻辑结构和物理结构,包括线性表、栈、队列、串、树、图等;基于各种数据结构的各种运算,如插入、删除、检索等;基于各种数据结构的算法,例如基于图的最短路径分析、查找算法等;分析算法的效率,主要指算法的时间和空间复杂度[1]。
GIS专业是一门集地理学、计算机、遥感技术和地图学于一体的新型专业。GIS专业的学生不仅要有深厚的计算机功底,而且还应该具有较强的空间思维能力,能够处理和分析二维/三维的地理空间数据。然而教师在当前的数据结构教学过程中,普遍重视非空间数据的处理,较少涉及空间数据的组织和管理。同时,学生对于数据结构与GIS专业的关系非常疑惑,特别是常规的教学内容与方法,不能与专业相结合,学习起来就比较困难。
通过近几年的教学研究,笔者在数据结构教学过程引入空间数据存储、空间数据管理、空间关系、空间分析等与GIS专业关系密切的教学内容,使得学生对数据结构有了更好的理解,对GIS的学习也有了很好的促进作用。
三、GIS专业的数据结构教学内容改革实践
(一)数据结构用于空间数据存储和运算
数据结构研究内容包括线性表、栈、队列、串、树、图等结构。它们不仅能够对非空间数据进行表达,也能够对空间数据进行表达。在数据结构教学过程中,对数据结构存储的内容进行扩展,数据结构中存储的不再是整型、浮点型、字符型等简单类型,还可以是各种各样的空间数据。
在数据结构课程教学中,要求学生能够独立设计点、线和面等不同维度的矢量和栅格空间数据、影像空间数据的结构体(或类),并实现线性表、栈、队列、串、树、图等结构的定义和运算,使数据结构能够处理各种类型的空间数据。
(二)树结构用于空间数据管理
在数据结构课程教学中,要求学生能够利用树结构,设计典型的空间数据索引。空间数据的一个非常重要的特性是其海量特征。海量的空间数据管理,需要设计相应的空间索引。作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它通过筛选作用,排除大量与特定空间操作无关的空间对象,从而提高空间操作的速度和效率。比较有代表性的空间索引有格网索引、四叉树索引、R树和R+树索引、CELL树索引。
空间索引的设计需要树结构的支持。例如,四叉树空间索引的构建可以用树结构进行描述。通过建立树结构表示,表达地理空间对象,能够实现对空间数据的快速检索。
(三)图结构用于空间关系表示
GIS不仅关心空间目标自身的几何特征及属性,还必须能够处理其与所处环境间的关系。因此,在数据结构课程教学中,要求学生掌握空间关系的基本理论并设计相应的图结构,使图数据结构能够对各种空间关系进行计算机表达。
空间关系是GIS的核心研究内容之一,主要包含拓扑、方位和度量空间关系。拓扑关系描述了空间对象在拓扑变换下的拓扑不变量;方位关系描述了空间对象之间的相对位置信息;度量空间关系是用某种度量空间中的度量来描述对象间的关系。因此,数据结构支持空间关系的计算机表达,也是数据结构教学过程中的重点。
空间关系可以通过图数据结构来表达。图G是由集合V(G)和E(G)组成,记为G=(V,E),其中V(G)是顶点的非空有限集合,E(G)是边的有限集合,边是点的无序对或有序对。在空间关系的表达过程中,采用顶点表示地理空间对象,边表示地理空间对象之间的空间关系。V(G)表示地理空间对象集合,E(G)表示地理空间对象关系的集合。然而,地理空间对象之间存在多种空间关系,例如,地理空间对象A和B之间的拓扑关系为相离、方位关系为东、度量关系为10米。这就需要定义多种子图,分别表达不同的空间关系,然后将各种子图进行合并,形成一個更高级别的图集合。可以定义图的集合:,其中,表示图的集合,分别表示各种子图。
(四)数据结构应用于空间分析
GIS包含很多空间分析方法,如叠置分析、网络分析、地形分析等。其中,网络分析通过研究网络的状态以及模拟和分析资源在网络上的流动和分配情况,对网络结构及其资源的优化问题进行研究。在数据结构课程教学中,要求学生掌握空间分析的基本理论并设计相应的图结构和改进的Dijkstra算法进行路径选择、资源分配和网流量分析。
网络分析可以通过图数据结构实现。例如,基于图数据结构和改进的Dijkstra算法能够进行网络分析。进行网络分析,能够选取一条最优的路径,也可以选择合理的资源配置中心,同样可以选择最佳的布局中心。
四、结论和展望
空间数据存储、空间数据管理、空间关系、空间分析是GIS专业的核心研究内容。教师结合GIS专业特色,对数据结构课程内容进行适当调整,强调数据结构在GIS方面的应用,使教学内容更具有针对性,既有利于增强GIS专业学生学习数据结构的兴趣,又有利于GIS专业人才培养。
【参考文献】
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[2]胡学钢,张晶,周红鹃,等.数据结构实践教学体系设计[J].吉林大学学报(信息科学版),2005,23(S2):138-141.
[3]姜跃.《数据结构》课程的教改与实践探索[J].云南师范大学学报(自然科学版),2011,31(03): 71-73.
[4]蒋莉,梁荣华,黄鲜萍.数据结构课程教学研究[J].计算机教育,2011(09):97-99.
[5]李治洪.地理信息系统专业数据结构课程教学内容探索与实践[J].中国大学教学,2011(08):52-53.