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

赵县申请400电话费用【赵县企业全国热线电话办理】赵县开通400电话电信价格、赵县微信公众号代运营外包托管、赵县网店编辑装修美工、赵县网站推广优化大概需要多少钱

发表日期: 2021-04-17 09:22:56 浏览次数:121

赵县申请400电话费用【赵县企业全国热线电话办理】赵县开通400电话电信价格、赵县微信公众号代运营外包托管、赵县网店编辑装修美工、赵县网站推广优化大概需要多少钱


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

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

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



9.6.2 深度优先搜索树弧的分类

当我们为图G 构建深度优先搜索树时,可以把G 中的弧分为4组。应该不难理解,这种分类是就某棵特定的深度搜索树而言的,或者说,是针对各邻接表中节点的某种特定次序(形成对G 的一次特定探索)而言的。这4类弧分别如下。

1. 树向弧,满足dfs(v)dfs(u)调用的弧uv

2. 前向弧(forward arc),满足v 是u 的真子孙但又不是u 的子节点的弧uv。例如,在图9-29中,弧ab 就是唯一的前向弧。树向弧都不是前向弧。

3. 后向弧(backward arc),满足v 是u 在该树中的祖先(u=v 也是可以的)的弧uv。图9-29中,弧cb 是唯一的后向弧。任何自环,也就是节点到其自身的弧都被分类为后向弧。

4. 横向弧(cross arc),满足v 既不是u 的祖先也不是其子孙的弧uv。图9-29中有3条这样的弧:dcec 和fc

在图9-29中,每条横向弧都是从右至左的。这种情况并非巧合。假设在某深度优先搜索树中有一条横向弧uv 满足u 在v 的左侧。考虑一下在调用dfs(u)期间会发生什么。到完成对dfs(u)的调用之时,我们应该已经考虑过从u 到v 的弧了。如果尚未被放置到树中,那么它就会成为u 在该树中的子节点。因为这种情况显然不会发生(这样v就不会在u 的右侧了),所以在考虑弧uv 时,v 肯定已经在该树中了。

图 9-30 在考虑弧 uv 时构建的树的一部分

不过,图9-30展示了当dfs(u)处于活动状态时存在的树的一部分。因为子节点会按照从左至右的次序添加进来,所以迄今为止节点u 的真祖先没有子节点在u 的右侧。因此,v 只可能是u 的祖先,u 的子孙,或者是在u 左侧的某个位置。因此,如果uv 是横向弧,v 就一定是在u 的左侧,而不可能像我们最初假设的那样在u 的右侧。

9.6.3 深度优先搜索森林

在示例9.19中,我们特别幸运,从节点a 开始,就能够到达图9-26所示图的全部节点。但假设我们从其他节点开始,就可能没法到达aa 就不会出现在深度优先树中。因此,探索图的一般方式是构建一系列的树。我们从某个节点u 开始并调用dfs(u)。如果还有节点未被访问过,就再选择一个节点,比方说是v,并调用dfs(v)。只要还有节点未被分配到任一树中,就继续重复该过程。

在所有节点都被分配到一棵树中后,我们就按照构建这些树的先后次序,把构建出的树从左到右列出来。这一列树就叫作深度优先搜索森林(depth-firstsearchforest)。利用之前定义的NODEGRAPH数据类型,可以通过图9-31所示的函数,从所需的那么多根节点开始搜索,对完全从外部定义的图G 进行探索。这里我们假设NODE类型为int类型,而且MAX 是G 中的节点数。

     void dfsForest(GRAPH G);
     {
         NODE u;(1)      for (u = 0; u < MAX; u++)(2)          G[u].mark = UNVISITED;(3)      for (u = 0; u < MAX; u++)(4)          if (G[u].mark == UNVISITED)(5)              dfs(u, G);
     }复制代码

图 9-31 通过探索所需的那么多树对图进行探索

在第(1)行和第(2)行中,我们会把所有节点初始化为UNVISITED。然后,在第(3)行到第(5)行的循环中,要依次考虑各节点u。在考虑u 时,如果该节点尚未被添加到任何树中,那么在进行第(4)行的测试时它仍然会被标记为未被访问过。在这样的情况下,我们就会在第(5)行调用dfs(u,G),并探索以u 为根节点的深度优先搜索树。特别要说的是,第一个节点总是会成为树的根节点。不过,如果在执行第(4)行的测试时u 已经被添加到树中,那么u 就会被标记为VISITED,因此不会创建以u 为根节点的树。

示例 9.20

假设将上述算法应用到图9-26所示的图上,但是设d 是名称为0的节点,也就是说,d 是该深度搜索生成森林中树的第一个根节点。调用dfs(d),这会构建图9-32中的第一棵树。现在除了a 之外的所有节点都已经被访问过。当u 在图9-31第(3)行到第(5)行的循环中成为各节点时,除了u=a 时之外第(4)行的测试都会失败。然后,我们会创建如图9-32所示的单节点第二棵树。请注意,在调用dfs(a)时,a 的两个后继都带有VISITED标记,因此我们不再从dfs(a)进行任何递归调用。

图 9-32 深度优先搜索森林

当把图中的节点表示为深度优先搜索森林时,前向弧、后向弧与树向弧的概念还像之前那样。不过,横向弧的概念必须扩展到包含那些从一棵树到其左侧的树的弧。这种横向弧的例子包括图9-32中的ab 和ad

横向弧总是从右至左的这一规则继续成立。原因还是一样的。如果存在从一棵树到其右侧树的横向弧uv,那么考虑一下当调用dfs(u)时会发生什么。因为v没有被添加到当时正在形成的树中,所以它肯定已经在某棵树中。但是u 右侧的树尚未创建,因此v 不可能是这些树的一部分。

尽善尽美的深度优先搜索

无论节点数和弧数之间存在什么的关系,对图的深度优先探索需要的时间是与图的“大小”(也就是节点数与弧数之和)成正比的。因此,深度优先搜索与其他任意“查看”图的算法在速度上只有常数因子的差异。

9.6.4 深度优先搜索算法的运行时间

G 是有n 个节点的图,并设m 是节点数与弧数之间的较大者。图9-31所示的dfsForest就要花O(m)的时间。这一事实的证明需要一点小花招。在计算对dfs(u)的调用所花的时间时,我们不会将图9-27第(6)行中对dfs的递归调用所花的时间计算在内,就像3.9节中所建议的那样。不过,不难看出要为每个u 值调用dfu(u)一次。因此,如果将每次调用的开销加起来,除掉其递归调用,就能得到将所有调用视作一个整体所花的总时间。

请注意,除掉在对dfs的递归调用中所花的时间,图9-27中第(3)行到第(7)行的while循环所花的时间是可以变化的,因为节点u 的后继数量可能是从0到n 的任一数字。假如设mu 是节点u 的出度,也就是u 的后继的数量。那么在执行dfs(u)期间进行该循环的次数就肯定是mu。在评估dfs(u)的运行时间时,并不会把第(6)行执行dfs(v,G)的时间计算在内,而除该调用之外,整个循环体只要花O(1)的时间。因此,除去在递归调用上花的时间,第(3)行到第(7)行的循环花的总时间就是O(1+mu),这个附加的1是必要的,因为mu 可能为0,在这种情况下我们仍然需要为第(3)行的测试花上O(1)的时间。因为第(1)行和第(2)行的dfs要花O(1)的时间,所以可以得出结论,忽略递归调用,dfs(u)要花O(1+mu )的时间完成调用。


赵县申请400电话费用赵县企业全国热线电话办理赵县开通400电话电信价格、赵县微信公众号代运营外包托管、赵县网店编辑装修美工、赵县网站推广优化大概需要多少钱

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