前言:中文期刊网精心挑选了数据结构习题范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
数据结构习题范文1
随着信息化技术的不断发展,云计算以及虚拟化技术的运用越来越广泛,在这些新兴运用模式下,数据中心网络也发生了重大的变化,无论是在组成、结构还是在功能规模层面都不断发生着变革,传统层次结构的数据中心网络已经明显不能适应新的运用模块,在规模、成本以及拓展性等方面都存在着很多不足,变革之后的数据中心网络应该低成本的基础上满足节能、低配置开销、高拓展性等新的要求。
【关键词】数据中心 网络 体系结构
数据中心是数据传输、计算以及存储的中心,是各种软件资源与硬件资源以及关键业务系统的集中,例如人们熟悉的网络游戏、在线购物以及搜索引擎等大规模的集群计算等,而传统的数据中心网络一般采用的是树形网络,总宽带受到了限制,根节点更是成为了系统在性能上的最大障碍,并且其规模比较小,资源也不够集中,导致其已经不适应新兴运用模式的需求。
1 传统数据中心网络体系结构及存在不足
传统的数据中心网络是通过层次网络上来实现的,在同一个数据中心内存在着很多种运用的同时运行,并且每一种运用都需要在特定的服务器或者虚拟服务器上运行,同时需要和因特网可路由的IP地址绑定,这样可以方便接收因特网的客户端访问。随着云计算以及虚拟化技术的运用越来越广泛,新型计算机的数据中心呈现出许多新的特点,这些新的特点也正体现了传统数据中心网络体系结构的不足。
首先就是规模越来越大,需要支持的服务数量级已经达到了比较高的量级,并且数据中心的内部流量也在不断的增加,占总流量的比重也比较大,所以导致网络宽带变成了一种比较缺少的资源。由于数据规模的不断增大,网络设备的要求也越来越高,但通常都是一个横向扩展,并未来节约成本,并没有使用性能比较高同时价格也比较高的先进设备来进行一个纵向的拓展。新型数据中心网络的结构没有受到传统结构的限制,结构比较多样,例如多根树、立方体和随机图等,这些网络结构都哦可以辅助设计出更加高效的路由算法。随着信息技术的不断发展,虚拟化技术已经成为了数据中心不可缺少的理念,所以这就要求数据中心可以支持任何一个迁移的部署,并且还不能影响已经存在的运用层的状态。随着环保理念的不断深入,数据中心网络可以采用低成本的低端设备,容易导致很多事故的发生。此外,传统的数据中心的自动化程度不高,如果服务需要在服务器之间进行重新分配的话,数据中心网络的地址的空间就会导致人工操作出错的概率增高,只有提高自动化程度,才可以控制操作人员和服务器成本的比值,降低人工操作的失误概率,避免由此导致的风险,使得整个网络系统可以更加健康稳定运行。
2 数据中心网络体系结构设计的依据
由于新型计算模式的不断普及,新兴应用模块使用越来越广泛,对新型的数据中心网络提出了新的要求。首先就是服务器和虚拟机的便捷配置和迁移,所以在数据中心的任何地方的任何服务器都可以是一种VIP服务器池的一部分,这样服务器池就不再是固定的,而是可以自由动态缩减或者扩展,虚拟机也可以随意的迁移,并且在这个过程中不需要改变虚拟机的IP地址,已经存在的应用层状态也不会被打断。由于服务器间的高传输宽带,服务器间的流量比较大,所以新型的中心网络体系结构应该对服务器提供更大的宽带。数据中心网络需要支持数量非常巨大的服务器,数据库中心需要更多的服务器,所以在数据库中心可以设置允许增量的部署或者扩展。另外,还要求数据中心网络低成本且高扩展,这是因为数据中心网络的物理结构可扩展需要比较小的成本物理连接器,不需要依赖比较高端的交换机老纵向扩展,采用普通的商业化的组间就可以实现横向扩展,而且,通过增加服务器的数量从结构上来实现增量的扩展,即使添加新的服务器,已经正在运行的服务器也是不会受到影响的。数据中心网络还应该具备健壮性,也就是针对各种各样的失效,例如机架失效、服务器失效等都能够进行有效的处理。低配置的开销是指在中心网络的构建过程中不应该采用太多的人工配置开销。另外,由于能源紧缺问题越来越受到人们的重视,在新的数据网络结构构建中还应该将能源的效率问题考虑进来,提高能源的使用效率,降低制冷开销以及流量的传输。
3 现代数据中心网络的结构特征
3.1 基于商业交换机构建
传统的数据中心网络一般采用的是树形网络,总宽带受到了限制,根节点更是成为了系统在性能上的最大障碍,如果采用三层树形结构来设计的话,所有的层都使用普通的48端换机,那么核心层可以使用的宽带就只有所有的服务器出口总宽带的千分之四,这个比例是非常小的。如果交换器的端口数量不断增加,网络层数也不断增加,那么在核心层可用的宽带所占的比例还会进一步减少。为了提高整个系统的性能,需要采用更加高端的交换设备来进行构建但是树形结构的问题却还是存在的,使用更加高端的设备就会带来非常大的成本开销,和普通交换机相比,成本提高了非常多。所以,为了降低成本,现代数据中心一般会采用普通的商业交换机,例如微软数据中心和Google数据中心,这也是现代数据中心结构设计的出发点,可以使数据中心网络符合现代数据中心需要具备的特征。
3.2 节点之间多路径连接
采用商业交换机是一种可行的设计,但是单条路径的传输能力却受到了非常大的限制,所以就需要在服务节点之间增加多条路径,这样才能满足服务器间数据传输的高速要求。例如Portland等就是采用Clos构架的一种特殊形式作为物理网络的一种有效连接方式,向服务器间提供多条路径的访问。Clos架构是在贝尔实验室中设计的一种多级交换结构,最开始的时候是运用在电话网络中,Clos架构支持多级交换,可以通过每一个交换单元都能够连接到下一级的所有交换单元上,并且在不同的交换单元中也可以建立多条交换路径。
3.3 从机架式向集装箱式转变
在传统的数据中心机架的构建中,需要很复杂的手工联线,会占用大量的基础设施,开发部署的周期也比较长。集装箱式数据中心是将服务器、空调系统以及网络封装在一个集装箱内,一个数据中心就可以包含上千台的服务器,开发周期较短,体积比较小,不需要占用大量的空间,并且能源消耗的密度也比较高,移动部署非常方便,正是因为其拥有这么多的优点,很多大型的IT公司都推出了自己的集装箱式数据中心,国内IT公司也加紧抢占集装箱式数据中心市场,学术界也对集装箱式数据中心提出了更高的重视。
4 结语
数据中心网络是一种正在发展中的技术,结构特征也多种多样,随着人们需求的不断改变和信息技术的不断发展,现代数据中心网络运营模式慢慢向着公共云服务转变,更多的新型数据中心网络会不断被提出,在未来的技术研究中,数据网络中心将会向着更加科学自动的方向发展,在设计中更多的运用节能机制,实现我国的可持续发展。
参考文献
[1]张太华,何二宝,孙超,基于知识的云制造的研究现状[J].现代机械,2012,56(05):145-146.
[2]徐小龙,杨庚,李玲娟,王汝传,面向绿色云计算数据中心的动态数据聚集算法[J].系统工程与电子技术,2012,45(09):89-92.
[3]李方军,韩旭衫,张驰,电网企业运营监控中心展示平台研究与设计[J].电力信息化,2012,44(65):56-59.
[4]邓罡,龚正虎,王宏.现代数据中心网络特征研究[J].计算机研究与发展,2014,51(02):395-407.
[5]魏祥麟,陈鸣,范建华,等.数据中心网络的体系结构[J].软件学报,2013,55(21):132-139.
数据结构习题范文2
关键词:分布式计算;数据服务;体系结构
中图分类号:TP393 文献标识码:A 文章编号:1674-7712 (2013) 10-0062-02
一、引言
自上世纪九十年代开始,分布式计算服务技术在互联网中得到广泛的推广和应用。在传统的计算机服务体系结构中,数据存储中心的主要应用是通过有序组织服务器和客户机的分布形成有机的组织结构,由数据服务器来存放大量数据并实时提供针对客户机的数据交换服务。但随着互联网技术的不断更新和发展,全球计算体系结构开始朝着构建大型数据服务中心的形式靠拢,导致目前行业中盛行的新闻服务中心、网络证券服务中心和资讯服务中心开始逐渐受到网民的关注。特别是分布式服务技术得到突破以来,基于互联网式的数据分布服务体系进去发展的黄金时代。
二、分布式技术概述
在当前的分布式技术服务体系中,互联网应用是直接针对使用者提供常见的服务,以此来代替先前通过客户机的数据传输来完成单一的数据通信。而数据中心作为互联网服务的重要基础设备负责提供大量的数据资源。分布式计算服务所能够提供的服务类型以及服务内容也逐渐扩充起来,资源内容开始朝着系统化、复杂化以及精密化方向发展。在这种发展趋势下,就需要保证分布式数据服务体系结构必须不断满足当今市场的需求。在新的运行理念的干扰下,确保数据信息的高效、高质传输成为最基本的要求。完善数据高速转发、提升数据管理体制等方面就要求不断优化和改革。
三、数据分布服务体系能力研究
数据分布服务体系结构是分布式数据服务中心的重要组成部分,其结构必须按照计算机数据通信的架构形式进行要求。
(一)拓展能力
数据分布服务体系结构需要具有较强的拓展能力,主要包括网络服务系统和数据交换系统两方面内容,在网络服务系统方面,必须保证系统能够根据当前数据应用的实际需求来维护应用程序的使用,当客户机发起的数据有效连接不断增多时,系统能够表现出一定的承载力并及时完成数据分流。能够通过负载均衡的机制保证服务器的安全运行。在数据交换系统方面,则需要保证两方面的扩展能力,一方面需要保证已有数据的安全传输和存储,另一方面则要保证用户在使用的过程中不断加入新数据,即保证数据的实时传输、更新和存储。要随时确保数据类信息的任意修改过程的安全。
(二)安全能力
计算机服务体系中的数据安全问题一直是信息体系应用研究中重要研究课题之一,分布式数据服务体系结构中也一样重视其安全性设计。安全能力的强弱直接关系到数据分布服务体系的稳定效果,两者之间必须相互辅佐才能确保安全运行,因此,良好的安全能力对于服务体系结构而言具有深远的指导意义。
(三)稳定能力
当今数据服务的流量和容量要求都非常大,分布式数据服务中心又必须保证高效、长时间的运营能力,甚至需要在满载的情况下完成数据存储和信息交换的工作,这就要求数据分布服务体系结构要重视数据的稳定能力。稳定能力能否成功直接关系到整个服务体系的质量情况,合理的稳定均衡设计不仅能够提升分布数据服务的整体质量,而且能够在一定程度上提高数据服务中心的数据转发能力。
(四)传输能力
分布式数据服务的主旨是完成数据的大量计算以及处理工作,这就需要保证数据分布服务体系结构在设计过程中重视传输类型的优化,在一定程度上能够满足服务体系的数据处理能力和处理速度,当同时存在大量的数据需要处理和传输时,高速的数据服务传输结构能够提升计算机服务体系的整体运载能力。
(五)增容能力
高效的数据分布服务体系建设必须遵守当前数据传输系统结构的统一标准,包括计算机机房的建设标准、电气传输保障标准及互联网数据传输标准等,要对未来的数据传输服务发展具有一定的先见能力,满足日后服务体系结构在更新的过程中能够适应发展需求,为后期的设备增容、换代提供保障基础。
四、虚拟网络运营机制在分布式服务体系中的应用
在分布式数据服务体系中,数据存储中心往往采用在一台中心服务器中同时启动多个虚拟服务的形式来向不同用户提供不同的服务类型,虚拟网络运营机制也因此得到了广泛的应用,它在一定程度上能够提升整个数据服务中心的数据处理能力和传输能力,在进行数据分布服务体系结构的设计过程中,如果发现服务器的硬件能力不能满足实际数据的传输需求,可以采用虚拟网络运营的方式节省硬件消耗成本,将某些正在进行计算的服务内容转移到一些存在负载能力的服务器上完成相应工作。虚拟网络运营机制的系统构建可以改变原有的服务器硬件网络分布模式,当虚拟服务需要进行分布式数据传输时能够完成相应的应用和服务。另外,分布式虚拟网络运营机制还可以为影虎提供一套灵活多变的网络传输管理方案。它能够达到灵活分配网络服务资源、并发处理用户请求的效果,经过运维实际效果发现,这种虚拟网络运营机制还具有合理分配网络带宽、平衡引导工作机制的优势,能够在一定程度上针对实时数据访问量的波动对分布式服务器进行工作调整。这种虚拟运营机制也逐渐成为构建下一代智能化高效数据分布服务体系的重要技术保障力之一。
五、数据分布体系网络结构设计
在分布式数据服务体系中,数据中心得网络结构设计必须保证数据传输的高可靠性和高安全性,尽量减少和避免不必要的过失是非常重要的。本文通过对数据分布服务体系结构的研究,旨在寻求一种能够保证低廉造价并实现高效数据传输的分布式数据服务架构。网络拓扑结构的应用和研究能够有效聚合网络实际吞吐能力,并形成完善、合理的分布式结构层次。并且可以有效整合网络应用资源,提供一套完善、灵活、便捷的可执行方案。在应用综合成本的考虑下,利用低价位的综合交换机和普通的数据传输服务器来构建数据分布服务体系结构能够降低支出成本。而一般的商业级应用服务器只具有两个网络传输结构,如何充分利用这两个接口获取网络吞吐率也成为体系结构具有良好性价比的重要佐证之一,这种低廉的网络服务体系结构的拓扑构建方式大致具有以下几方面的优势。首先,传统意义上的网络拓扑结构常用树状结构来完成构架,而树状结构需要应用大量的交换接,节点设备还需要汇集大量造价高昂的交换机设备,这种体系结构能够降低投资成本。其次,网络中的任意服务器不在拘泥于单一的一条访问路径,可以通过多条传输路径来进行数据的实时通信。另外,能够充分利用服务器的两个传输接口,提升了数据在网络中的传输效率。最后,较于传统形式的树状网络拓扑结构而言,这种拓扑结构具有较强的容错性。
六、总结
二十一世纪是信息技术飞速发展的年代,以数据中心为载体的分布式服务体系结构在行业中起到越来越重要的作用。目前,信息化产业以开始逐渐向其靠拢,分布式技术为核心的数据服务中心将在未来得到更加广泛的应用和发展。数据分布服务体系结构是值得我们去研究的。本文从分布式技术入手,讲述目前行业中新兴的这种具有高性能型和高连通性的分布式服务体系结构,旨在能够为同行提供技术领域的指导和参考,具有一定的实用意义。
参考文献:
[1]李文军.分布式对象技术[M].北京:机械工业出版社,2006.
[2]申晋祥.BP神经网络在无损检测中的应用[J].山西大同大学学报,2009,(2):16-17.
[3]黄承忠,郭中.基于移动技术的分布并行计算环境[J].计算机工程,2005,4:99-100.
[4]邹明亮,程小辉,刘亚荣.嵌入式移动数据库中的移动Agent问题探讨[J].微计算机信息,2006,12:61-62.
数据结构习题范文3
一、综合数据平台体系结构
建立电力调度综合数据平台,其目的是为了保证电力系统的安全运行,及时应对突况,确保用户用电需要。如远程监控变压器、断路器、电流互感器等的运行情况,监测电能量、电压量、网损报表等。通过这些数据的收集、分析,从海量数据中挖掘出深层次的关联,从而辅助决策。
目前,我国电力行业电力调度数据网的各项业务是按照国家电力调度通信中心对于电力调度系统数据整合要求和电力二级系统安全防护的规定来划分的。国家电力调度通信中心对于电力调度系统数据整合的要求是:动态安全预警系统、电力市场运营系统、生产报表系统三者融合,其中数据整合的基础是电力二次系统安全防护,电力系统控制区域与调度数据专用网络、管理信息区域与企业综合信息网络实现纵向认证,电力系统控制区域与管理信息区域实行横向隔离,进行安全区分。也就是综合数据平台系统结构上应分为控制区和非控制区两部分,分别对应生产控制区域和管理信息区域。横向进行数据传输,纵向上进行数据交换。
二、主要技术
数据结构习题范文4
[关键词] 并行数据挖掘 体系结构 商业智能 模式库
引言
企业为迎接市场的挑战,必须对市场运作有准确的分析。商业流通领域积累的大量交易数据中隐含着许多对商业决策有益的知识,传统的分析方法很难从中提取出这些知识,利用数据挖掘技术可以得到准确、及时的信息,决策人员以企业的数据仓库为基础,通过联机分析处理(OLAP)、数据挖掘和决策规划人员的专业知识,借助商务智能的核心技术,利用企业中长期积累的海量数据可以实现四方面的应用:客户分类和特征分析、市场营销策略分析、经营成本与收入分析、欺诈行为分析和预防,数据挖掘技术可以发现这些隐藏的模式和关系。
并行数据挖掘体系结构是并行数据挖掘技术研究的重要内容,是实现并行数据挖掘的基础,选择适当的、高效的、具有较高性价比的商用并行体系结构是整个研究工作的基础。
一、通用数据挖掘系统结构
特定领域的数据挖掘工具主要针对某个特定领域的问题提供解决方案。在进行数据挖掘算法设计时,设计者需要充分考虑特定领域的数据特点和挖掘需求等特殊性,并有针对性地对数据挖掘算法进行优化。
通用的数据挖掘应用系统大都以数据仓库或大型关系数据库为基础,且具有查询、分析、表示等功能,它是企业决策支持系统的核心组成部分,可以将这些现有数据挖掘系统的共同特点抽象成图1所示的结构。
二、通用的数据挖掘系统结构的不足及改进思路
通用的数据挖掘系统己经在一定程度上满足用户的需要,但是在应用实施过程中也存在着一些问题和不足。主要有以下几点:数据挖掘的效率有待进一步提高;历史模式不能得到有效利用;不同系统之间的互操作性差;面向不同应用对象的针对性不强。
数据挖掘往往面对的是巨大的数据集,即GB甚至TB数量级的数据集,数据挖掘技术研究的核心问题之一就是如何提高数据挖掘的效率,提高数据挖掘效率的途径主要有以下几个方面:
1.对数据集进行预处理,去除噪音数据,按照挖掘要求对数据进行清理和迁移,尽可能减少挖掘的数据量。
2.针对各种数据挖掘和数据分析要求,研究、设计效率更高的各类数据挖掘算法。
3.提高数据挖掘系统应用的硬件性能或者采用并行处理技术提高数据挖掘的速度。
4.借用缓存的概念,对挖掘结果进行存储再利用,以提高用户挖掘请求的响应速度。
针对一般商业智能应用领域的实际情况和需要,以提高数据挖掘应用的效率为目标,本文将主要从并行处理技术和体系结构方面对现有数据挖掘系统进行改进和提高。
三、并行数据挖掘体系结构设计及特点
为解决通用数据挖掘系统中存在的一些问题和针对商业智能的特点,面向商业智能应用的并行数据挖掘体系结构如图2所示,由6部分组成:
1.高性能并行计算环境:并行数据挖掘体系结构中采用了高性价比的并行体系结构COW(Cluster of Workstations)、数据挖掘算法由串行算法改为并行算法以及采用“缓存”概念将数据挖掘结果保存在模式库中。并行处理技术的运用无疑对于数据挖掘效率的提高具有重要意义和实用价值,为数据挖掘效率的提高奠定了坚实的基础,对于商业智能应用的推广也具有重要作用。
2.数据源:数据仓库和其他数据源是数据挖掘的基础,商业智能应用系统应具有多种数据来源的处理能力,例如普通文件(电子邮件等)、关系数据库、数据仓库、数据集市等。
3.模式库:为了提高数据挖掘的效率以及商业逻辑的处理速度,借助硬件内存的“缓存”概念,将最近数据挖掘或者数据分析的结果(模式也许只是一个简单的规则描述)保存在模式库中,以便再次发生类似或者相同操作请求时能先在模式库中查找挖掘结果,从而尽量避免每次都从海量数据中进行挖掘操作,这样可以较大幅度提高处理速度。因此,模式库的建立为历史模式的有效利用提供了可能和基础
另外,由于模式库中存储的是历次挖掘出来的模式,可以从分析模式的变化来进行趋势预测,从而为决策支持提供了更多的分析手段。
4.学习和推荐Agent:增加了一个用户兴趣分析档案库,由学习Agent进行更新维护,供推荐Agent分析使用。学习Agent将根据权值的计算方法对用户兴趣档案中没有出现过的关键字进行加权操作。推荐Agent根据已有的用户兴趣档案,分析用户可能感兴趣的模式,并推荐给用户。
5.并行数据挖掘工具/多维分析工具:数据挖掘是商业智能的核心,并行数据挖掘算法对于提高数据挖掘效率具有重要意义。为了适应商业智能应用的需要,仅提供多维分析工具是远远不够的,应尽可能多的提供对多种模式的支持。商业智能涉及关联、分类、聚类、时序等模式,并行数据挖掘工具尽能包含对这些模式的支持,这也是衡量并行数据挖掘工具好坏的标准之一。
6.可视化工具:为用户提供数据挖掘结果的自观表示方法。
除上述特点外,通过对并行数据挖掘体系结构的设计与改进在以下两个方面取得了较好的效果:
(1)提高了系统之间的互操作性:现有的数据挖掘产品,对挖掘结果都有各自特殊的存储格式,不同挖掘工具之间要共享挖掘的结果非常困难。然而,对模式的集中存储就可以有效地解决上述问题,即设计类似SQL的查询语言,或设计通用的模式库接口。不同的挖掘工具通过使用模式查询语言或调用模式库接口的功能函数就可以共享模式库中存储的模式。
(2)并行处理能力强、可扩展性好、可用性高:改进后的并行数据挖掘体系结构建立在可扩展机群之上,除了具有较高的.可伸缩的并行处理能力之外,系统的可扩展性也非常好,可以通过增加或者减少处理结点数调整系统的处理能力,从而适应不同数据规模的处理需要,除此之外,系统的可用性高也是其显著特点,一般情况下COW的可用性指标都在99.9%以上,为商业智能应用系统的稳定运行提供了可靠保证。
四、结束语
并行数据挖掘体系结构具有较高的并行处理能力和性价比,以及方便灵活的并行程序设计环境,对于实施商业智能应用的客户和应用领域来讲,具有可操作性。大多商业智能应用客户已经或者容易获得本文给出的并行处理环境,不需要投入大量的经费购置专用的并行处理系统。
模式库的提出是一种新的有益的探索。由于模式库中存储了历史挖掘模式,如果其中的模式接近挖掘请求的时间,则可用这些模式自接作为挖掘的结果,不用再进行新的数据挖掘,在模式库中进行查询操作的响应会明显加快,大大提高了数据挖掘的效率。
参考文献:
[1]熊忠阳:面向商业智能的并行数据挖掘技术及应用研究[学位论文].重庆大学,2004
数据结构习题范文5
关键词:数据结构;教学方法;实践教学
计算机硕士研究生入学考试2009年开始改革,采取全国统考的方式,数据结构是考试的必考科目。数据结构是计算机程序设计的重要理论和技术基础,它所涉及的内容和方法,无论是对学习计算机领域的其他课程,还是对从事软件项目的开发都有着重要的作用。学习数据结构要达到的目标是:学会从问题入手,分析和研究计算机加工的数据结构的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,并初步掌握算法的时间复杂度和空间复杂度概念。根据21世纪对人才培养的要求,教学应重在学生能力、素质的培养,尤其是思维能力、创新能力、实践能力的培养。因此,这些年我们致力于数据结构课程的建设,把课程建设作为一项系统工程来抓,从教材选择、课程体系建设、师资队伍、课程教学、实践教学、教学管理等各个环节不断实践和探索,特别是在课程教学方面,加强教学研究和教学方法、教学手段的改革,从提高学生的学习兴趣和加强实践环节教学方面入手,取得了良好的效果。
1教材选择
计算机软件开发方法是不断发展的,数据结构的课程内容也应随着软件开发方法的不断发展而发展。目前面向对象的软件分析与设计技术已发展成为软件开发的主流方法。因此,用面向对象的思想组织数据结构课程的内容,用面向对象的程序设计语言描述数据结构问题,就成为数据结构课程内容改革的必然。
国外在20世纪90年代已将数据结构教材改为用C++或Java描述,这主要是适应软件开发技术发展的需要。国内大学虽然在这门课程的教学内容和教材建设方面起步较晚,但目前国内用C++或Java描述的数据结构教材已经出现,那么关于教材选择问题应该适应软件开发技术发展的需要。
2基于问题的教学方法
对于数据结构教学过程中的许多抽象的概念、算法和思想,以教师为中心的教学模式起不到很好的效果。那么授课教师在教学过程中采用什么教学方法,对学生学习兴趣的培养至关重要。在教学过程中,采用以学生为主体、以问题为中心的模式,激发学生的学习兴趣,充分调动学生的求知欲,提高他们的积极性和主动性。在教学过程中,自始至终都围绕问题而展开教学活动,引导学生不断发现问题、提出问题、分析问题并最终解决问题,培养学生的创造性思维。
第一,概述讲解中,可引入如下问题:1、[树]人机对弈问题中,如何实现对弈?各格局之间是什么关系?2、[表结构]学校学生基本信息管理中的表,各表项之间是什么关系?3、[图]教学计划编排问题中,如何表示课程之间的先修关系? 4、[图的最短路径]假如你想去大理、昆明、丽江旅游,如何安排路线时间最省?通过这些学生非常熟悉的案例引入数据结构的概念,生动直接,让学生轻轻松松理解了数据结构的概念及其实用,能够提高学生的学习兴趣。
第二,在讲述每种线性结构和非线性结构之前,我们应该提出一个应用的实例。通过实例进行课前导学,让学生明白为什么要学习它,它有什么用处。譬如,在讲述队列结构前通过火车的进站出站这个形象例子引出队列理论;在讲述树形结构前,可以引出在网站和信息系统中经常见到的“树形目录结构”的实例、操作系统中文件目录结构的实例,给出应该怎样实现和操作树形的目录,通过实例逐步引出理论。在讲述图结构前,可以先讲述“哥德斯堡七桥问题”,通过这个经典问题引导出图的理论。否则会出现这样的现象:很多学生学习了数据结构之后,不知道所学习的这些数据结构有什么用,或者干脆就认为数据结构这门课程就没有用。为了避免这些怪现象的出现,觉得数据结构课程的讲解务必要通过充分的实例让学生真正理解这些常用结构的实用之处,让学生在分析解决具体问题的时候能够很自然地想到去用自己所学的数据结构。
第三,在讲每一种算法的过程中,我们可以采用提出问题、分析问题、解决问题和讨论问题的方式讲解。譬如顺序表的插入算法,我们首先提出问题:想要在一个顺序表的第i个元素前插入一个新的元素,该怎么做?然后通过动画演示分析问题的思路:(1)判断线性表的存储空间是否已满,若已满,则进行“溢出”处理;(2)检查i值是否超出所允许的范围,若超出,则做“超出”处理;(3)将线性表的第i个元素和它后面的所有元素均后移一个位置;(4)将新的元素写入到空出的第i个元素位置上;(5)线性表的长度加1。其次,怎样用一门高级语言实现算法。最后,进行算法分析。在教学中,不断的引导学生分析问题,采取合作互动的方法,学生“画龙”,老师“点睛”,让课堂活跃起来。逐渐培养学生分析问题和解决问题的能力。
3充分利用各种现代教学资源
首先,在教学中通过合理使用现代化教学手段使教学效果更加直观,编写多媒体教学课件和演示程序,可以让本来抽象的内容变得很容易理解,既消除了学生的畏难情绪,也提高了学生的学习兴趣,强化了教学效果。譬如:栈和队列的入和出的动态表现;排序和查找过程的动态演示;动态链表的基本操作和递归的模拟演示等;这些都可以利用Flash制作出过程演示动画,在讲课的适当时候,给学生演示。而如果仅仅在黑板上画图,不仅浪费上课的宝贵时间而且学生还不容易听懂。比如我们对快速冒泡排序的讲述,简单讲述概念之后,演示课前用Flash制作好的一组数值的冒泡排序过程动画,然后根据演示过程提出快速冒泡排序需要解决的关键问题,再带着提出的问题回放演示动画,从而给出所提出的问题的解决方法。这样形象地讲述,教学效果非常好。
其次,充分利用网络为学生提供各种信息资源,用于支持学生的自主学习和协作式探索。譬如:为数据结构课程建立一个学习网站,包括如下内容:(1)各种教学辅助材料:教学大纲、实验大纲、电子教案、教学录像、算法演示程序、典型问题示例程序等等;(2)进阶学习指导:在内容上分层次,将每一章节的内容分为基础篇和提高篇。基础部分是大纲上要求的,每位同学必须掌握;提高部分可以供学习好的同学选学;(3)测试系统:用于学生自己考核自己的学习效果;(4)答疑解惑:为学生和教师之间的交流提供一个平台,便于学生及时不懂的问题、教师及时解决学生的疑问。我们自己的数据结构教学网站已经在校园网上,而且一直处于完善中,起到的作用非常明显,特别是答疑解惑部分,学生基本都能利用这个平台及时将不懂得问题提交给老师。目前,我们准备再添加关于学生数据结构考研辅导的内容。
4加强实践教学环节
上机实践是对学生全面综合素质进行训练的一种基本方法,是课堂教学的一种延伸,是必不可少的一个教学环节。编程中的问题往往比平时的习题要复杂的多,也更接近实际。编程能使学生所学到的书本知识“活”起来,起到深化理解和灵活掌握教学内容的目的,同时,编程也是对学生软件设计综合能力的训练。
精心选择上机习题,着眼于基本知识的理解和基本编程能力的培养。类是一种实现设计复用和代码复用的有力工具,在程序设计习题选择时采取循序渐进、逐步积累的方式,引导学生自己建立可复用的构件,并在以后的练习中直接使用,提高编程的工程能力和思考能力。譬如:关于顺序表、队列、堆栈、树和二叉树等基本的数据结构,可以要求学生实现相应的类,在实际的应用习题中拿过来就用。比如关于树结构部分可以设计如下上机习题:(1)二叉树的建立和遍历。这个题目是基于学生对二叉树的基本理解;(2)给定一颗二叉树,打印指定结点的双亲和所有的孩子结点。学生在完成这个题目前需完成题目(1),直接利用(1)中所建立的二叉树类和结点类来继续进行此题目的编程;(3)利用Java、C++或C#中提供的树结构API完成一个简单资源管理器的实现。这个题目难度相对较大,但这个题目的完成应该能让学生真正理解树结构的实用之处。
5结束语
从2009年开始,计算机专业硕士研究生入学考试改革,所考的科目都统考,数据结构是必考的四门专业课程之一。数据结构是计算机专业的核心课程,是计算机程序设计的重要理论技术基础。因此,开好这门课程对学生来说是至关重要的。所以对于该课程的教学不仅要从理论上进行探讨,还要从教材选择、教学方法、教学辅助资源、实践环节等方面进行研究,以真正提高该课程的教学效果。
参 考 文 献
[1] 殷人昆. 数据结构(用面向对象方法与C++语言描述)[M]. 北京:清华大学出版社,2007.
[2] 朱战立. 数据结构—Java语言描述[M]. 北京:清华大学出版社,2005.
[3] 王红梅等. 数据结构(C++版)[M]. 北京:清华大学出版社,2005.
数据结构习题范文6
关键词:数据结构;学习方法;算法;实践
中图分类号:TP311.12-4 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-01
Analysis of the Data Structure Learning Methods
Zhang Junnan,Wang Xin
(Jilin Vocational College of Industry and Technology,Jilin 132012,China)
Abstract:"Data Structures"course is a computer and related disciplines,an important professional basic courses,it is not only the general program design based and design and implementation of compilers,operating systems,database systems and other system processes and large-scale applications an important foundation.Exercise program is a practical course designed capacity.Data structure course learning courses not only provide the necessary follow-up basics,more importantly,through this course of study,can further improve the software design and programming capabilities.However,students generally indicated that this course is difficult to learn,strong theoretical,practical operational difficulties,so how better to learn from the article"Data Structures"course perspective to explore the data structures that exist in the course of study and learning important and difficult method.
Keywords:Data structures;Learning methods;Algorithm;Practice
一、明确学习数据结构课程的意义及重要性
《数据结构》课程在计算机及相关学科专业学习中起着承上启下的作用。一方面通过《数据结构》课程的学习可以提高学生的程序设计能力和逻辑思维能力,巩固和理解之前所学习的计算机程序设计语言等专业知识,另一方面也为学习操作系统、数据库原理、计算机网络等计算机专业课程奠定了基础,也为更深层次学习计算机专业知识奠定了基础;同时《数据结构》也是计算机专业几乎各种认证考试的必考科目。因此学好《数据结构》课程知识对于提高计算机专业学生的专业能力和专业素养、增强学生就业竞争力具有十分重要的意义。
二、掌握数据结构的知识体系构成
《数据结构》是研究非数值计算的程序设计问题中计算机操作对象(数据),以及它们之间的关系(结构)和操作(算法)等的一门科学。数据结构分为:线性结构和非线性结构。线性结构分为:栈、队列、串、数组、广义表等;栈和队列是操作受限的线性表,串的数据对象约束为字符集,数组和广义表是对线性表的扩展:表中的数据元素本身也是一个数据结构。除了线性表以外,栈是重点,因为栈和递归紧密相连,递归是程序设计中很重要的一种工具。非线性结构分为:图和树。图分为:强连通图、连通图;树分为:二叉树、二叉排序树、平衡二叉树、重点是哈弗曼树(最优二叉树);对于二叉树的很多操作都是基于对二叉树的遍历,掌握了如何遍历,很多问题也就迎刃而解了,比如对二叉树结点的查找访问、统计二叉树中叶子结点的数目、求二叉树的深度等。哈弗曼编码也有着很广泛的应用。对于图状结构,主要学习图的存储结构及图的遍历。查找分为:静态查找和动态查找。哈希表、哈希函数、散列地址。排序分为:内部排序和外部排序。内部排序有:直接插入排序、选择排序、希尔排序、快速排序、堆排序等;外部排序:基数排序等。学习的过程中,要理解概念术语,掌握操作的逻辑联系。
三、掌握算法才能更好地学习数据结构
广义上讲,算法是某一系列运算步骤,它表达解决某一类计算问题的一般方法,对这类方法的任何一个输入,它可以按步骤一步一步计算,最终产生一个输出。但是对于所有的计算问题,都离不开要计算的对象或者要处理的信息,而如何高效的把它们组织起来,就是数据结构研究的问题。所以算法是离不开数据结构的。C语言程序设计是数据结构的前导课程之一,数据结构教学过程中主要运用指针、函数、数组作为函数参数,以及结构体类型来分析、解决问题。所以掌握好数组、指针、函数和结构体的相关知识尤为重要。
古人云:故书不厌百回读,熟读深思子自知。正是学习算法的妙处所在。对于算法的学习,要有耐心。算法的学习是学习数据结构的关键。首先要做到看懂算法。看懂之后,反复琢磨,要把算法理解的背写出来。然后找些和算法相关的习题练习,揣摩算法的真谛。直至熟练掌握算法解决数据结构中需要实现的问题。总之,不能脱离算法讨论数据结构,也不能脱离数据结构研究算法。
四、坚持理论联系实际应认识到学习的目的全在于应用
在实际应用中,数据结构总是要由某些语言来实现的。计算机科学是一门应用科学,我们掌握的理论知识,只有应用到实际中才能体现出价值,数据结构也是这样。在数据结构的学习过程中,学生比较困难的是理论不能和实践相结合,提高学生解决实际问题的能力,是学好数据结构的根本所在。学习并掌握数据结构中的框架、原理和思想,目的是为应用打好扎实的理论基础。只有动手实践才能验证我们的想法是否正确。只有动手实践,才能知道我们对算法的学习是否已经达到了能够解决数据结构中遇见的实际问题的能力。那么如何锻炼自己的动手能力呢。我们需要不断地通过用程序实现我们的想法来验证我们的想法的正确性,做大量的练习题。开始的时候,可以先做一些比较简单的算法实现问题。例如:栈的应用、编译器中表达式的处理、练习打字游戏、表达式求值、万年历、二叉树遍、约瑟夫环、二分法查找演示。
业精于勤荒于嬉。培养良好的学习心态和兴趣,运用适合的方法,在不断地实践中,一定能够深刻领悟到数据结构课程学习中存在的重点与难点及学习方法。
参考文献:
[1]耿国华.数据结构―C语言描述[M].北京:高等教育出版社,2007
[2]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2007