当前位置: 网站首页>小程序开发>网站优化

赵县网站推广【赵县办理400电话】赵县SEO优化、赵县微信公众号APP客户端小程序开发、赵县网站托管、赵县APP开发

发表日期: 2021-04-17 09:07:35 浏览次数:143

赵县网站推广【赵县办理400电话】赵县SEO优化、赵县微信公众号APP客户端小程序开发、赵县网站托管、赵县APP开发


赵县,隶属于河北省石家庄市,古称赵州,地处石家庄市区东南40公里,总面积为675平方公里,总人口61.3万(2017年),辖11个乡镇、281个行政村。县府驻赵州镇。汉为平棘县,晋为赵国,北魏置赵郡,曾为赵州治,隋改为赵州。1913年改为赵县。赵县历史悠久,文物众多,共有文物保护单位21处。

县境位于河北平原,光热充足,地下水丰富,利于井灌,又有石津渠灌溉之利,一年四季分明,春秋两季时间短,夏冬两季时间长。东部为沙质褐土,适于雪花梨生长。赵县农业发达,玉米、小麦是主要粮食产品。特产雪花梨俗称象牙梨,个大,皮薄、汁多、含糖分高,成熟后洁白如雪,故名,是河北省大宗出口的优质水果之一。

2018年12月27日,经河北省人民政府研究,同意灵寿县、赵县、阳原县县城为河北省园林县城。 [1]  2019年3月,被列为第一批革命文物保护利用片区分县名单。


示例 9.9

图9-1中的图对应的邻接矩阵如图9-7所示。用1表示TRUE,用0表示FALSE

图 9-7 表示图9-1中的图的邻接矩阵

9.3.3 对图的操作

如果考虑一些简单的图操作,就可以看到图的这两种表示方法间的不同。最基本的操作也许就是确定从节点u 到节点v 是否存在弧uv。在邻接矩阵中,要查找arcs[u][v]看该项是否为TRUE只需要0 (1)的时间。

邻接矩阵与邻接表的对比

当图很稠密时,也就是,当弧的数量接近最大可能数字时(对有n 个节点的图来说是n2),就倾向于选择邻接矩阵表示。不过,如果图是稀疏的,也就是说,如果可能存在的弧大多数并未出现,那么用邻接表表示法就可能节省空间。要知道原因,请注意表示含n 个节点的图的邻接矩阵有n2位,假设用1位来表示TRUEFALSE,而不是像本节中已经做过的那样用整数表示。

在一般的计算机中,像邻接表单元这样的结构体是由整数和指针构成的,每个结构体会使用32位表示整数,并用32位表示指针,总共需要64位。因此,如果弧的数量为a,就需要64a 位存储该链表,而且存放n 个表头的数组还需要32n 位。如果有32n+64an2,也就是如果有an2/64-n/2,邻接表就要比邻接矩阵节省空间。如果n 很大的话,就可以舍掉n/2这项,并近似地将之前的不等式视作an2/64,也就是说,如果可能存在的弧只有不到1/64实际出现,邻接表就要比邻接矩阵节省空间。我们在讨论对图的操作时将更为详细地论证这两种表示法的优劣。下表总结了为多种操作优先选择的表示法。

操作

稠密图

稀疏图

查找弧

邻接矩阵

皆可

找后继

皆可

邻接表

找前导

邻接矩阵

皆可

使用邻接表的话,就要找到对应u 的邻接表的表头,需要0(1)的时间。然后,如果v 不在表中,就要遍历该表直到末端,或者如果v 存在的话平均要浏览该表的一半。如果该图中有a 条弧和n 个节点,那么平均要花O(1+a/n)的时间来完成这样的查找。如果a 不大于n 乘以某个常数因子,这个量就是O(1)。不过,在与n 相比时,a 越大,使用邻接表表示法验证弧是否出现所花的时间就越长。在a 大约是n2(其最大可能值)的极端情况下,每个邻接表中都将近有n 个节点。这种情况下,找到某给定的弧平均要花O(n)的时间。换句话说,当我们需要查找某给定的弧时,图越稠密,就越愿意选择邻接矩阵而不是邻接表。

另一方面,我们经常需要找到某给定节点u 的所有后继。要用邻接表找到所有的后继,就要行向successor[u]并遍历该表,平均耗时O(a/n)。如果a 和n 是近似的,就可以在O(1)的时间内找到u 的所有后继。不过如果使用邻接矩阵,就必须检查节点u 所在的那一整行,不管a 是多少都要花O(n)的时间。因此,对每个节点只有少量边与之连接的图来说,在需要检查某给定节点的后继时,使用邻接表要比使用邻接矩阵快得多。

不过,假设想要找到某给定节点v 的全部前导。如果用邻接矩阵表示,就需要检查v 所在的那一整列,如果u 所在那行的位置是1,就意味着u 是v 的前导。这一检查要花费0(n)的时间。而邻接表表示在查找前导时也帮不上忙。必须检查对应每个节点u 的邻接表,看看该表中是否含有v。因此,我们可能要检查所有邻接表的所有单元,而且很可能将检查大多数的单元。因为整个邻接表结构中单元的数量等于a,也就是图中弧的数量,所以使用邻接表在含a 条弧的图中找前导的时间就是O(a)。在这里,邻接矩阵表示法是占优势的,而且图越稠密,这种优势就越大。

度的问题

从节点v 出发的弧的数量就叫作v 的出度。因此,节点的出度等于其邻接表的长度,还等于相应的邻接矩阵中对应v 的那行中1的数量。进入节点v 的弧的数量叫作v 的入度。入度衡量的是节点v 在某节点的邻接表中出现的次数,而且是相应的邻接矩阵中对应v的那列中1的数量。

在无向图中,我们不会区分边是从节点出发还是进入节点。对无向图而言,节点v 的度就是v 的邻居的数量,也就是含有v 的边{uv }的数量。请记住,在集合中,成员的次序是不重要的,所以{uv }和{vu }是相同的边,因此只能计算一次。而无向图的度则是该图中节点的度的最大值。例如,如果将二元关系看作无向图,那么它的度就是3,因为节点最多只能与它的父节点、左子节点和右子节点之间有边。对有向图而言,可以说有向图的入度是其节点入度的最大值,同样,有向图的出度是其节点出度的最大值。

9.3.4 无向图的实现

如果图是无向图,可以假装每条边都被替代为两个方向上的弧,并将得到的有向图用邻接表或邻接矩阵表示出来。如果使用邻接矩阵,那么该矩阵是对称的。也就是说,如果称该矩阵为edges,那么edges[u ][v ]=edges[v ][u ]。如果使用邻接表表示法,那么边{uv }就会被表示两次。我们可以在邻接表中找到对应u 的v,也可以在该表中找到对应v 的u。这种排列通常是实用的,因为不可能事先分辨出{uv }这条边是更可能从u 到v,还是更可能从v 到u

示例 9.10

考虑一下如何表示图9-4的无向图中最大那部分,也就是表示瓦胡岛6个城市的那部分。在这里我们要忽略边的标号。对应的邻接矩阵表示就如图9-8所示。请注意,该矩阵是对称的。

{%}

图 9-8 图9-4中的无向图的邻接矩阵表示

图9-9展示了该无向图的邻接表表示。在两种情况下,我们都要用到枚举类型

enum CITYTYPE {Laie, Kaneohe, Honolulu, PearlCity, Maili, Wahiawa};复制代码

{%}

图 9-9 图9-4中无向图的邻接表表示

来作为数组的索引。这种安排多少有些刻板,因为这样定义就没法对该图的节点集合进行任何改动。不过我们很快就会给出用整数显式命名节点并用城市名作为节点标号的相似示例,这样在改变节点集合方面会更具灵活性。


赵县网站推广赵县办理400电话赵县SEO优化、赵县微信公众号APP客户端小程序开发、赵县网站托管、赵县APP开发

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878