数据共享交换平台产品白皮书
数据共享交换平台产品白皮书,实现核心业务应用之间的数据集成管理,设计数据平台系统的应用架构视图,加强数据服务及安全管理意识,通过标准、规范的技术路线对外提供统一接口服务。Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书目录服务安全支认证(信息资源目录管理、儿数据管掉服务网关理,导航服务)CaGR户数据交换平台 CenDXS数将式转确业务流程管理BPM管理控制流程定制、规则引擎)数据转换Message broker管理运行安全接口WebServices状态流程计企业服务总线ESB题数/分析路由服务 Routing services转换服务安全服务日志管理基内的点对点Plsb协议转换格式转换OMLFileauston)运行管理解密」[。地程后动/停止适配器服务消息通讯服务数据各份恢复同步/异步通信存储转发可靠传输逻地址与网络地址转换组件/厘务/系统多应次编码/解码加密解密调用身份验证签名断点续传分块传输序列化/反序列化负载均衡管理Qeue队列配置管理控制台配置维护发送接收传输服务适配器配置维护(可视化配置向导HTtP/ITpsiToP pMi File FtP Socket Wtonglink Web ServiceaL配置文件)节点适配器软件分发更码的女燃部的x油)节点适配器远程安装Cer?P DrCenDXs数据交换平台技术架构图CendXs数据共享交换平台的主要功能包括(一)目录服务数捱共享交换平台的共享资源目录服务系统包含目录服务和目录资源两部分内容1)日录服务提供日录、元数据注册、发布、审核、修改、维护以及编目服务等相关内容;2)目录资源通过将现有各类资源(元数据)的合理分类,重组资源,并通过 XML Tree以资溟导航树的方式完成资源目录服务系统的开发建设工作。(二)交换服务数捱交换服务是数据共享交换平台的核心,数据交换服务包括六部分:路由服务、转换服务、安全服务、消息通讯服务、发送接收服务、接入服务1、路由服务路由服务可使用像业务名称这样的地址,在服务之问路由消息,控制消息的Censoft美村料技数件中关数据共享父换平台( CenDXS)严品口皮书存储和分发,并对每个消息启动正确的处理流程;实现欻据交换路由解析功能,可实现数据的多步多级传输。1)路由可以是显式的:使用输入数据提供的帚式地址或昳像中的显式地址2)路由服务也可以是基内容的:分析输入数据或输出数据的内容以确定需要在哪里对输出进行路由;3)基于主题的消息路由,支持发布订阅机制:主题是消息月的地的字符串描述,基于消息主题实现消息的路由,可有效地实现消息的发布和订阅,实现数据抽取、转换、加载与应用之间的松散耦合,使得数据交换平台具有良好的可扩展性。2、转换服务转换服务包括协议转换、格式转换、数据转换,通过转换解决交换节点间协议差别、异构、数据项差异等问题。1)协议转换在请求方和服务方之间进行协议转换,解决异构系统之间由于通讯协议不同而不能联互通的问题2)格式转换在请求方和服务方之间进行消息格式转换,解决异构系统之间由于数据描述方式不同而不能互联互通的问题,解决不同企业应用程序的本体和浯义的异类问题支持各种主流关系型数据库之间的数据交换,如 Oracle、 SQL ServerDB2、 Sybase、 Access、 MYSQL等。支持数据表名称和字段名称转换,可以实现不同表名、字段名的数据表之间的数据交换3)数据转换指邐过数据项定乂功能,实现选择源数据表的仝部数据接入或先择源薮据表的部分字段接入;筛选数据记录或定义接入条件,实现以有符合条件的数据记录才被接入数据交换平台。数据表转换的实际内容是数据记录的拆分、组合,数据交换平台通过主健定义,多转换关系表定乂等环节,实现各种记录处理。Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书表对·表交换数据交换平台可以实现基本的一个数据表到一个数据表的交换,并且在一对交换中支持一个源数据表的一个记录的不同字段在目标表中生成两条或多条记录表对多表交换数据交换平台可以支持“一对多”交换。实现一个源数据表中的一条记录的不同字段组合交换为多个目标表中的记录。■多表对一表交换数据交换平台可以支持“多对一”交换。实现多个源数据表中的数据记录组合转换为一个目标表中的一条记录。3、安全服务能够基于产品自带的安全服务功能,对敏感信息交换进行MD5、DES、SSL加密,根据数据加密应用途径进行交换信息内窄的加密(可逆或不可逆),保障数据交换传输过稈中的安全。同时还将具有数据合法性验证功能,能够对交换平台与应用系统之间以及交换系统之间的两类合法性验证,确保数据可信交换。4、消息通讯服务MQ消息通讯服务为数据共享交换平台提供强健的消息中间件基础平台,它的主要功能如下1)支持同步或异步通信同步处理是指每一步骤必须等待下一步骤完成后才能继续进行;异步处理建立在系统间异步、基于消息的交互上,基于“存储转发”或消息队列服务,采用“松散耦合”的方式连接,这使得分布式系统具有更髙的可用性和可伸缩性即时传输毕丁事件驱动,由系统运行时动态产生和控制的会话方式。对丁没有网终占用时段限制或要求实时传输数据的交换可以定义为即时传输模式,即时传输模式可以将接入数据即时发送到接收节点。定时传输山系统定时器根据预设的定时策略产生和控制的会话方式。对于有网终占用时段限制或不要求实时传输数据的交换可以定义为定时传输模式,定时传输模式Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书可以在指定吋间将接入数据发送到接收节点。即时传输模式支持定点传输和指定间隔时间轮询启动传输■手工启动传输糸统运行时由用户手工产生和控制的会话方式。2)支持多种传输模式数据交换平台支持多种方式的数据分发,即可实现基于交换服务器的一对一的队列传输和一对多的发布订阅传输,也支持两个适配器的直接消息传输■订阅平台基于主题的消息路由,支持发布订阋机制:主题是消息目的地的字符串揹述,基于消息主题实现消息的路由,可有效地实现消息的发布和订阅,实现数据抽取、转换、加载与应用之间的松散耦合,使得数据交换平台具有良好的可扩展性队列平台支持队列方式,方便实现一点对一点的数据传输3)支持多通讯模式支持数据的发布/订阅、请求/应答通信模式;发布/订阅通信模式完全是一种“推”(Push)的技术;而请求/应答通信模式是对传统 Client/Server通信模式的支持,即支持“拉”(Pu〕技术。用户可以根据具体应用的信息处理流蓕来选择合适的信模式。推:点到点或点到多点的主动信息推送方式拉:点到点或点到多点的破动信息获取方式组播:在一个域或群组范围内的多点群发方式4)可靠传输支持断点续传、分块传输;保证消息传输一次且仅需传输一次,确保数据可靠传送。当以主题发布消息时,保证每个订阅者都可以接受到消息,而且每个订阅者只能接受一次。另外,由于发布老产生的消息是按时间顺序放在相当士队列的消息队列表中,可以保证按消息产生的时间序列依次发送,司样,也按时间序列接受和处理消息,所以,整个架构不仅可保证消息传递的可靠性而且可保证消思处理的时序性Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书5)事务支持发送方只有成功地发送消息时,才删除消息队列中的消息,否则回滚事务;只有在受到接收方确认消息( Point/ Point时)或所有订阅者确认消总( Publish/ Subscriber时)之后,才删除持久性存储的消息:接攻适酤器只有成功地将消息映像到目标数据库后,才给消息通讯服务器发送确认消息。6)解码/编码将数据转换到与数据交换平台相同的代码页,编码服务则可将输出数据的字符集编码为系统的代码页。7)数据压缩/加密解密攴持数据传输过程中的数据压缩伽加密处理,保证数据传输安全8)序列化/反序列化序列化服务获取输出数据结构并将其序列化到可通过网络传输的纯文本文件中,反序列化服务执行相反的操作。9)地址转换在分配给集成服务目的地的逻辑业务地址与网终协议所需要的网终坦址间转换。5、发送接收传输服务执行数据的传输或接收,提供JMS、 Webservices、FTP、 Http/httPs、IOP、RMI、rile、 Socket等多种方式数据传输。6、接入服务数捱共亨交换平台的接入包括采集接入(相关单位到中心基础数据库)和共亨接入(中心基础数据库到相关咩位),数据接入功能提供可视化配置与管理,支持多种接入方式和接入模式,支持基丁元数据的可视化数据接入1)接入方式数摭共享交换平台支持多种接入方式,接入方式包括中闫薮据表接入、原始系统表接入、文件目录树接入、 Web services接入、文解析接入、数搪表单接入等。可根据不同需要配置各种接入方式。中间数据表接入对于可以推送交换数据的节点,可采用肀间表接入方式接入,这种方式最简Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书单,接凵界面清晰,利于排查问题,并且可以保证原始系统不受交换平台的影响,保证原始系统数据的安仝。中旧薮据表接入方式即根据实际业务需要,定义所需交换数据的表结构,建立接口数据表,原始应用系统负责向接口表肀传送需要的数据,交换丬台负责将接口表中的数据交换到目标节点中叵数据表接入方式要求原始应用系统提供数据推送服务,每个接入节点的实施将有一定的工作量。■原始系统表接入对于不可以推送交换数据并对数据共享交换平台信仁的节点,可采用原始系统表接入方式接入,这种方式比较复杂,接口界面不清昕,不利于排查问题,并且涉及到原始系统数据库会受交换平台一定影响,要靠严格的授权机制来保证原始系统数据的安全原始系统表接入方式即根据实际业务需要,在原始应用系统数据表中沅择需要的数据项,自接交换到目标节点原妒系统表接入方式不要求原始应用系统提供数据推送服务,每个接入节点的实施工作量很小,可以方便的增加、减少数据表和数据项,但是需提供完整的原始系统表结构说明。文件目录树接入平台提供文件目录接入功能,可实现各节点间指定目录节点中文件的传输和同步,这种方式可简单的实现两台服务器间目录文件的同步。■ Web service接入平台提供 Web services接入接口,原始系统可通过调用 Web services接口将数据推送到交换平台,同时,交换平台也提供 Web services调用功能,通过调用原始系统的 Web services服务获得数据■文件解析接入平台提供文件解析接入功能,将系统或者其它方式生成的 Excel TXT、PDFDOC等各类格式的数据文件解析入库,再以数据库的方式交换。■数据表单接入为用户提供数据表单,用户直接在表单上输入数据,提交后系统直接入库并Censoft美村料技数件中关数据共享全换平台( CenDXS)产品口皮书传输。■GIS数据接入平台支持GIS数据的交换,GIS数据库中将存在Tab空间图像数据,平台将库中图像数据定义为标准的二走制数据文件(以 Blob Clob等模式通过底层二进制完成存储转发),借助JMS消息完成数据的交换服务■适配器模板服务接口数捱共亨交换平台能在以上各类通用接口的基础上,提供数据交换服务适配器模板,用户可根据模板形成特殊数据交换服务适配器组件的开发和使用2)接入适配器系统通过丰富约内置适配器和组件攴持上述的多种接入方式,各种适配器和组件的功能如适配器服务组件适配器/服务组件描述名称可监听多个文件月录;文件发送日志记录、查询;文件发文件发送适配器送回执的记录、查询;根据监听目录的不同,发送到不同的主题或队列上可同时监听不同的主题或队列;向发送方发送回执;文件文件接收适配器接收日志记录、查询。Excl文件解析适自动完成 Excel文件的解析和入库处理配器PDF文件解析适配自动完成PDF文件的解析和入库处理器TEXT文件解析适自动完成TEXT文件的解析和入库处理配器支持 Oracle、DB2、 MS SQL Server、 Sybase、 MySQL等多种主流数据库类型;自动生成和创建数据库接凵表、主键、数据库发送适配器索引;批处理(次可传送多条数据库纪录)的支持;支持非结构亿数据和大字段数据的处理8Censofit中美村斜技数件中关数据共亨父换平台( CenDXS)产品口皮书支持 Oracle、DB2、 MS SQL SErver、 Sybase、 MySQL等多种主流数据厍类型;自动生成和创建数据库接口表、主键据库接收适配器索引;批处理(一次可传送多条数据库纪录)的支持;支持非结构亿数据和大字段数据的处理专门为 CengrP门户CMS内容管理系统设计的适配器,可实坳不同蚱点、不同栏目之间的数捃传输、射、转换和CMS内容管理适同步功能。传输的模型可以是一个上级节点以主题的方式配器发布传输的栏日,多个下级节点以订阅的方式接受;也可以是不同节点(无论上级节点还是下级节点)之间的CMS数据的互相传接。专门为 CengrP门设计的适配器,通过 Portlet可调用门户适配组件CeIdXs数据交换服务。目录服务适配组件提供通过目录服务系统调用数据交换服务的接口适配组件Webservices服务提供数据交换Web服务接口、文件交换web服务接口等适配组件Web services服外适配组件JMS消息系统适配连接JMS消息系统组件提供 Http/httPs、FTP、 TCP Sockets、SOAP、RMI、SMS工具组件等多种协议接口工具组件,向应用系统发送请求或接收响3)触发模式数捱共亨交换平台对各种接入数据的传送触发提供三种模式:数据库触发器触发模式、数据库轮询触发模式、目录监听触发模式。数据库触发器对于支持触发器的数据厍,可以米用触发器触发模式,原始数据的任何变化都可以触发接入动作,实现即时的数据接入。■数据库轮询对于不支持触发器、数据采集时间受限制(如:白天的上下午不能影响业务
- 2020-11-02下载
- 积分:1
图论算法理论、实现及应用.pdf
图论算法理论、实现及应用.pdf清华大学前言、图论研究及图论教学0图论( Graph Theory)是数学的一个分支,它以图为研究对象。图论中的图是由若干个给定的顶点、及若干条连接两个顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用顶点代表事物,用连接两个顶点的边表示相应两个事物间具有这种关系。这种图提供了一个很自然的数据结构,可以对自然科学和社会科学中许多领域的问题进行恰当的描述或建模,因此图论研究越来越得到这些领域的专家和学者的重视。图论最早的研究源于瑞士数学家莱昂哈德·欧拉( Leonhard euler,1707~1783),他在1736年成功地解决了哥尼斯堡(Kω nigsberg)七桥问题,从而开创了图论的研究。哥尼斯堡七桥问题。东普鲁士哥尼斯堡市(今俄罗斯加里宁格勒)有一条布格( Pregel)河,如图1白a)所示。布格河横贯哥尼斯堡城区,它有两条支流,在这两条支流之间夹着一块岛形地带,这里是城市的繁华地区。全城分为北、东、南、岛四个区,各区之间共有七座桥梁联系着。人们长期生活在河畔、岛上,来往于七桥之间。有人提出这样一个问题:能不能一次走遍所有的七座桥,而每座桥只准经过一次?问题提出后,很多人对此很感兴趣,纷纷进行试验,但在相当长的时间里,始终未能解决。(B)东(D)C南C)(a)(b)图1七桥问题欧拉在1736年解决了这个问题,他将这个问题抽象为一个图论问题:把每一块陆地用一个顶点来代替,将每一座桥用连接相应两个顶点的一条边来代替,从而得到一个图(如图1(b)所示)欧拉证明了这个问题没有解(详见本书5.1节),并且推广了这个问题,给出了“对于一个给定的图,能否用某种方式走遍所有的边、且没有重复”的判定法则。这项工作使欧拉成为图论及拓扑学的创始人。在此后的两百多年时间里,图论的研究从萌芽阶段,逐渐发展成为数学的一个新分支。特别是从20世纪初期开始,在生产管理、交通运输、计算机和通讯网络等方面涌现了许多离散性问题,这极大地促进了图论的发展。20世纪70年代以后,由于高性能计算机的出现,使大规模的图论问题的求解成为可能。现在,图论理论广泛应用在运筹学、计算机科学、电子学、信息论、控制论、网络理论、经济管理等领域。由于图论的重要性,越来越多的大学将图论单独作为一门课程来开设,把它作为数学、计算本文中关于图论课程教学改革的一些思想,已经发表在《计算机教育》2009年第20期上,论文题目为《计算机专业图论课程教学改革探索》,即参考文献[20获得《计算机教育》杂志社举办的“英特尔杯”20090年全国计算机教育优秀论文评比二等奖)。图论算法理论、实现及应用杋科学、电子学、管理学等专业本科生和硏究生的必修课或选修课。很多其他课程的内容也都涉及到图论知识,如离散数学、运筹学、拓扑学等。介绍图论理论的教材逐渐增多,其中也不乏优秀的教材,如文献[。这些课程和教材或者是侧重于完整的图论知识体系介绍、以及复杂的图论定理的数学证明,或者是侧重于从应用数学的角度研究图论在各领域的应用。另外,为了实现用计算杋程序求解各种应用问题,计算机科学家抽象岀许多数据结构,如栈队列、堆、树及二叉树、图等,其中图是最重要的数据结构之一,也是应用得最广的数据结构之。数据结构课程是专门硏究这些数据结枃的描述、实现及应用的课程。数据结构课程讲到图论部分时,侧重于图结构的描述、图结构的存储、少量基本的图论算法的实现等等许多学生(特别是计算机专业的学生)在学习图论时,都不满足于图论算法的手工和草稿纸演算,迫切地想知道如何用程序实现图论中的算法,以及如何将这些算法思想用来求解实际问题据作者调査统计,市面上侧重于用程序实现图论算法、并通过例题阐述图论算法思想及其应用的教材少之又少。本教材希望能弥补这一缺憾。所以本书立足于图论算法理论和思想的描述及程序实现,并以大量的 ACM/ICPC竞赛题目来阐述图论算法思想在求解这些题目中的应用。接下来简要地介绍 ACMICPC程序设计竞赛。、 ACM/ICPC程序设计竞赛1.ACMIICPCACM/ICPO( ACM International Collegiate Programming Contest,国际大学生程序设计竞赛)是由美国计算机协会ACM( Association for Computing Machinery)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。该项竞赛从1977年第一次举办世界总决赛以来,至今已连续举办30多届了。该项竞赛一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注。ACM/ICPC竞赛分区域预赛和总决赛两个阶段进行,各预赛区第一名自动获得参加世界总决赛的资格。世界总决赛安排在每年的3~4月举行,而区域预赛安排在上一年的9~12月在各大洲举行。ACMICPC竞赛以组队方式进行比赛,每支队伍由不超过3名队员组成,比赛时每支队伍只能使用一台计算机。在5个小时的比赛时间里,参赛队伍要解答610道指定的题目。排名时,首先根据解题数目来排名,如果多支队伍解题数量相同,则根据队伍的总用时进行排名(用时越少,排名越靠前)。每支队伍的总用时为每道解答正确的题目的用时总和。每道解答正确的题目的用时为从比赛开始计时到该题目解答被判定为正确的时间,其间每一次错误的提交运行将被加罚20分钟时间。最终未正确解答的题目不记入总时间,其提交也不加罚时间。ACMICPC竞赛在公平竞争的前提下,提供了一个让大学生充分展示用计算机解决问题的能力与才华的平台。 ACMICPC竞赛鼓励创造性和团队协作精神,鼓励在编写程序时的开拓与创新,它考验参赛选手在承受相当大的压力下所表现出来的非凡能力。竞赛所触发的大学生的竞争意识为加速培养计算机人才提供了最好的动力。竞赛中对解决问题的苛刻要求和标准使得大学生对解决问题的深度和广度展开最大程度的追求,也为计算机科学的研究和发展作了一个最好的导向。2.在线评判网站随着 ACMICPC程序设计竞赛的推广,各种程序在线评判( Online judge,简写为OJ)网站也应运而生,这为程序设计爱好者提供了一种新的程序实践方法:在线程序实践。①作者对互动出版网站(www.china-pub.com)和卓越亚马逊网站(www.amazon.cn)上列出的全部图论相关书目及目录进行了仔细的分析,从而得出的结论在线程序实践是指由OJ网站提供题目,用户在线提交程序,OJ网站的在线评判系统实时评判并反馈评判结果。这些题目一般具有较强的趣味性和挑战性,评判过程和结果也公正及时,因此能引起用户的极大兴趣。用户在解题时编写的解答程序通过网页提交给在线评判系统称为提交运行,每一次提交运行会被判为正确或者错误,判决结果会及时显示在网页上用户从评判系统收到的反馈信息包括:" Accepted程序通过评判!Compile error"—程序编译出错。" Time limit exceeded"—程序运行超过该题的时间上限还没有得到输出结果。" Memory Limit Exceeded-内存使用量超过题目里规定的上限。"outpυ ut Limit exceeded"—输出数据量过大(可能是因为陷入死循环了)。" Presentation error"—输出格式不对,可检査空格、空行等等细节。" Run Time error"—程序运行过程中出现非正常中断,如数组越界等。Wrong Answer"—用户程序的输出错误。等等。用户可以根据OJ系统反馈回来的评判结果反复修改程序,直到最终收获 Accept(程序正确)。这个过程不仅能培养用户独立分析问题、解决问题的能力,而且每成功解决一道题目都能给用户带来极大的成就感。、本书安排本书共分9章,每章内容安排如下:第1章介绍图论的一些基本概念,以及图的两种重要存储表示方法:邻接矩阵和邻接表,并初步讨论了存储方式对图论算法复杂度的影响。第2章讨论了图的遍历,遍历是很多图论算法的基础。本章介绍了两种重要的遍历方法:深度优先搜索和广度优先搜索,并对这两种遍历算法的思想、程序实现、算法复杂度作了详细的分析和讨论。本章还讨论了活动网络,包括AOV网络与拓扑排序问题、AOE网络和关键路径问题。第3章讨论树与生成树问题,主要介绍求无向连通图最小生成树的三个算法:克鲁斯卡尔( Kruskal)算法、 boruvka算法和普里姆(Prin)算法,并对这三个算法的思想、程序实现、算法复杂度作了详细的分析和讨论。另外,本章还讨论了判断生成树是否唯一的方法。第4章讨论了有向网(或无向网)中一个典型的问题:最短路径问题。本章介绍了求解最短路径问题的4个算法:Dsa算法、 Bellman-FoH算法、SPH算法和Fod算法,这4个算法分别适用于有向网(或无向网)中各边权值的取值的不同情形及问题求解的不同需要。本章着重对这4个算法的思想、递推过程、算法复杂度作了详细的讨论,并对这4个算法作了详细的对比分析。本章还介绍了求最短路径的算法思想在求解差分约束系统中的应用。第5章讨论了可行遍性问题,包括欧拉回路、汉密尔顿回路以及中国邮递员问题。前两个概念容易混淆,欧拉回路要求经过每条边一次且仅一次并回到出发点,而汉密尔顿回路要求经过每个顶点一次且仅一次并回到出发点。本章介绍这相关概念及定理,并讨论这两种回路及中国邮递员问题的求解方法和应用。第6章讨论了网络流问题。许多系统包含了流量问题,例如,公路系统中有车辆流,控制系统中有信息流,供水系统中有水流,金融系统中有现金流等等。从问题求解的需求出发,网络流问题可以分为:网络最大流,流量有上下界的网络的最大流和最小流,最小费用最大流,流量有图论算法理论、实现及应用上下界的网络的最小费用最大流等。本章介绍各种网络流问题的求解方法。第7章讨论了点支配集、点覆盖集、点独立集、边覆盖集、边独立集(匹配),这些概念之间存在一定的联系,也容易混淆。本章主要讨论了各种匹配问题,以及求解二部图最大匹配的算法程序实现和应用。第8章讨论图的连通性,这是图论中一个重要的概念。本章介绍了无向连通图和非连通图无向图的点连通性(包括割顶集、割点、顶点连通度、点双连通图等)、边连通性(包括割边集、割边、边连通度、边双连通图等)、有向图的强连通性(包括强连通、弱连通和单连通)。本章着重介绍上述概念及求解算法。第9章讨论平面图和着色问题。本章介绍了平面图和非平面图的概念、平面图的判定方法,以及图的顶点着色、边着色、平面图的面着色等概念和求解算法。四、本书读者对象及本书特点本书的读者对象为计算机专业学生或对 ACM/ICPC竞赛感兴趣的学生,可以作为高等院校计算机(或相关专业)的图论等相关课程的主教材,也可作为 ACMICPO竞赛的辅导教材。学生或读者应该具备CC艹语言知识,已经掌握了一定的程序设计思想和方法,具备一定的算法分析与设计能力,并能熟练使用数据结构。本书在内容取材、描述上具有如下特点。1)许多图论教材对图论概念的描述不一致,造成读者的阅读困难,本书试图改变这一现状。在每个概念的表述上作者査阅了大量的图论著作并进行比较分析。在本书中,作者对每个概念采用大多数图论教材采用(或约定)的名词、定义方法等。2)本书对图论算法思想的描述尽可能采用浅显易懂的语言来描述。3)本书忽略所有图论定理的证明,着重分析图论算法的思想,重点在于这些图论算法的程序实现。对图论算法的程序实现是以 ACMICPC例题来阐述的。上下两册书共收录了130余道ACMICPC竞赛题目,例题和练习题各约占一半。本书附录列出了本书所有例题和练习题在ZOJ、POJ及UVA上的题号。4)本书图表内容丰富。全书共绘制了270余幅图表,为此在目录后专门列出了本书的图录5)为方便读者阅读和使用,作者对本书中出现的图论术语、符号、图论算法及应用分别作了索引,列在本书后面五、致谢本书收录了130余道 ACMICPC竞赛题目,这些题目在阐述图论算法思想、演示图论算法应用等方面起着重要的作用,部分例题的解答程序也参考了网络上发布的一些源代码。同时,本书在编写过程中还参考了国内外多本优秀的图论教材(详见参考文献)。在此,编者对这些题目、源代码和图论教材的作者一并表示忠心的谢意。本书的编写和岀版得到了2010年浙江省教育科学规划研究课题“以大学生学科竞赛为契机推动课程群的规划与建设”(编号:SCG156)的支持,在此表示感谢。另外,本书的岀版得到了北京大学出版社的大力支持,在此表示衷心的感谢。由于作者水平有限,在编写本书时难免出错,欢迎读者指正,或者读者有什么好的建议,都可以联系编者:wguiping@163.com。不胜感激!!!编者2010年1月目录第1章图的基本概念及图的存储3.1.1树11基本概念1113.1.2森林5551.1.1有向图与无向图32生成树及最小生成树1.1.2完全图、稀疏图、稠密图321生成树1.1.3顶点与顶点、顶点与边的关系…3322最小生成树1.14顶点的度数及度序列33克鲁斯卡尔()算法1.1.5二部图与完全二部图3.3.1算法思想116图的同构332等价类与并查集1.17子图与生成树3.3.3 Kruskal算法实现118路径56778993.34Boruvka.951.19连通性3.35例题解析1.1.10权值、有向网与无向网34普里姆(Pim)算法图的存储表示341Prim算法思想106121邻接矩阵……342Prim算法实现1071.2.2邻接表15343关于普里姆算法的进一步讨论.11012.3关于邻接矩阵和邻接表的进一步344例题解析111讨论5判定最小生成树是否唯120第2章图的遍历与活动网络问题3.5.1最小生成树不唯一的原因分析.1202.1DFS遍历3.52判定最小生成树是否唯一的方法12122.1DFS算法思想4443.53例题解析212DFS算法的实现及复杂度分析……25第4章最短路径问题1272.1.3例题解析284.1边上权值非负情形的单源最短路径问题22BFS遍历Dijkstra算法12722.1BFS算法思想4.1.1算法思想12722.2BFS算法的实现及复杂度分析…414.1.2算法实现1292.2.3关于DFS算法和BFS算法的说明.434.1.3关于 Dijkstra算法的进一步讨论.1322.2.4例题解析.…434.14例题解析13323活动网络一AOV网络614.2边上权值为任意值的单源最短路径问题2.3.1AOV网络与拓扑排序61一 Bellman-Ford算法…1432.3.2拓扑排序实现方法42.1算法思想1432.3.3关于拓扑排序的进一步说明….6742.2算法实现1452.34例题解析42.3关于 Bellman-Ford算法的进一步24活动网络一AOE网络78讨论1482.4.1AOE网络与关键路径4.24例题解析2.42关键路径求解方法794.3 Bellman-Ford算法的改进一SPFA算法.161第3章树与图的生成树4.3.1算法思想….163.1树与森林…4.32算法实现图论算法理论、实现及应用4.3.3关于SPFA算法的进一步讨论…16564.1基本概念3244.34例题解析……166642最小费用最大流算法32544所有顶点之间的最短路径一Foyd算法…175644例题解析3274.4.1算法思想176第7章支配集、覆盖集、独立集与匹配3404.42算法实现…1777.1点支配集、点覆盖集、点独立集34044.3关于Foyd算法的进一步分析….1807.1.1点支配集3404.44例题解析1807.1.2点覆盖集3414.5差分约束系统7.1.3点独立集4.5.1差分约東系统与最短路径7.1.4点支配集、点覆盖集、点独立集4.52例题解析之间的联系第5章可行遍性问题2087.2点支配集、点覆盖集、点独立集的求解.34551欧拉回路2087.2.1逻辑运算34551.1基本概念及定理2087.22极小点支配集的求解34551.2欧拉回路的判定2117.2.3极小点覆盖集、极大点独立集的52欧拉回路的求解219求解52.1DFS搜索求解欧拉回路21973边覆盖集与边独立集.347522 Fleury(佛罗莱)算法.7.3.1边覆盖集….34753中国邮递员问题2337.32边独立集(匹配)54汉密尔顿回路2347.3.3最大边独立集(最大匹配)与最541基本概念及定理235小边覆盖集之间的联系5.42汉密尔顿回路求解74匹配问题350第6章网络流问题242741完美匹配3516.1网络最大流242742二部图的完备匹配与完美匹配..35161.1基本概念24274.3最佳匹配3526.1.2最大流最小割定理2477.44匹配问题求解的基本概念及思路3526.1.3网络最大流的求解2487.5二部图最大匹配问题的求解3536.1.4般增广路方法7.5.1网络流解法353Ford- Fulkerson算法2487.42匈牙利算法3556.1.5最短增广路算法2567.4.3例题解析6.16连续最短增广路算法- Dinic算法260第8章图的连通性问题.380617一般预流推进算法2628.1基本概念3806.1.8最高标号预流推进算法26581.1连通图与非连通图.3806.1.9网络最大流算法总结2668.1.2无向图的点连通性3816.1.10例题解析2668.1.3无向图的边连通性38262最小割的求解8.14无向图顶点连通性和边连通性的6.3流量有上下界的网络的最大流和最小流.300联系3846.3.1流量有上下界的容量网络8.1.5有向图的连通性6.3.2流量有上下界的网络的最大流.30382无向图点连通性的求解及应用6.3.3流量有上下界的网络的最小流.3048.21关节点的求解6.34例题解析310322重连通分量的求解64最小费用最大流323顶点连通度的求解2目录83无向图边连通性的求解及应用40192.1欧拉公式440831割边的求解401922欧拉公式的应用4418.32边双连通分量的求解4059.3平面图的判定445833边连通度的求解41294图的着色问题44684有向图强连通性的求解及应用416941地图染色与四色猜想4468.41有向图强连通分量的求解算法416942图的着色447842有向图强连通分量的应用418943图着色的应用449第9章平面图及图的着色问题4379.44图着色求解算法及例题解析…..4509.1基本概念…437索引91.1平面图与非平面图437、图论术语索引91.2区域与边界、符号索引4599.1.3极大平面图与极小非平面图.…438、图论问题及算法索引….46914平面图的对偶图439附录本书例题和练习题目录…91.5关于平面图的一些定理439参考文献92欧拉公式及其应用440
- 2020-12-08下载
- 积分:1