首页 电商 正文

一文搞懂深度优先搜索、广度优先搜索(dfs,bfs) 搜索引擎为什么不收录网站内页

2024-03-21 18:08
admin

在有向图和无向图中,如果节点之间无权值或者权值相等,那么dfs和bfs时常出现在日常算法中。不仅如此,dfs,bfs不仅仅能够解决图论的问题,在其他问题的搜索上也是最基础(但是策略不同)的两种经典算法。

并且五大经典算法的回溯算法其实也是dfs

的一种。dfs,bfs基础能够解决搜索类问题的大部分情况,只不过搜索随着数据增大而呈非线性的增长,所以两种算法在数据较多的情况是不太适用的。

邻接矩阵和邻接表

邻接矩阵:邻接矩阵就是用数组(二维)表示图。具体可以看下面例子。当然,这种情况很容易造成空间浪费,所以很多人进行空间优化,甚至是邻接表的方式。

邻接表:而邻接表则是数组套链表。这样可以比起邻接矩阵节省不少空间,但是如果无向图依然会重复浪费一半空间,就有十字链表,多重链接表等等出现。同时,对于有权图来说,只需对节点加一个属性weight即可!

深度优先搜索(dfs)

概念:

深度优先搜索属于图算法的一种,英文缩写为DFS即DepthFirstSearch.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.

简单的说,要完成dfs要有前提条件.就是有联通点。单个节点dfs就断掉了,他要找打和它联系的节点。dfs入手可能比bfs简单的原因是dfs大部分之间利用递归的走向完成dfs,而很少需要标记。

我们通常使用邻接表(一维数组套链表a[List])或者邻接矩阵(二维数组a[][])储存图的信息。有时为了优化空间会选择十字链表或者邻接多重表进行存储节省空间,但是操作往往是很复杂的。并且一般来说图的更大需要设计算法的优化,所以这里例子使用邻接矩阵完成!

对于dfs的流程来说,大致可以认为是这样:

从初始点开始按照一个方向遍历,这个方向到尽头停止后到另一个方向,,,直到所有操作完成退出!深度优先搜索执行过程像是一个栈的操作。喜新厌旧。总是处理最新加入的节点,这点递归恰好满足其性质,并且递归代码写起来也更简洁。dfs的流程可以参考二叉树的前序遍历,它实质就是一个dfs。

对于上图的dfs。可以用一下代码来表示:

package图论;publicclassdfs{staticbooleanisVisit[];publicstaticvoidmain(String[]args){intmap[][]=newint[7][7];isVisit=newboolean[7];map[0][1]=map[1][0]=1;map[0][2]=map[2][0]=1;map[0][3]=map[3][0]=1;map[1][4]=map[4][1]=1;map[1][5]=map[5][1]=1;map[2][6]=map[6][2]=1;map[3][6]=map[6][3]=1;isVisit[0]=true;dfs(0,map);//从0开始遍历}privatestaticvoiddfs(intindex,intmap[][]){//TODOAuto-generatedmethodstubSystem.out.println("访问"+(index+1)+"");for(inti=0;i0&&isVisit[i]==false){isVisit[i]=true;dfs(i,map);}}System.out.println((index+1)+"访问结束");}}复制代码

大致顺序访问为

宽度(广度)优先搜索(bfs)

概念:

BFS,其英文全称是BreadthFirstSearch。BFS并不使用经验法则算法。从算法的观点,所有因为展开节点而得到的子节点都会被加进一个先进先出的队列中。一般的实验里,其邻居节点尚未被检验过的节点会被放置在一个被称为open的容器中(例如队列或是链表),而被检验过的节点则被放置在被称为closed的容器中。(open-closed表)

简单来说,bfs就是先进先出的队列遍历,然而这样在分布的情况就是按层遍历,可以参考二叉树遍历的层序遍历!

如果从路径上走来看,dfs就是一条跑的很快的疯狗,到处乱咬。没路了就转头,再没路了再跑回来去其他地方,而bfs就像是一团毒气,慢慢延申!

就拿上述的图来说,我们使用邻接表来实现遍历。

importJAVA.util.ArrayDeque;importjava.util.ArrayList;importjava.util.List;importjava.util.Queue;publicclassbfs{publicstaticvoidmain(String[]args){Listmap[]=newArrayList[7];booleanisVisit[]=newboolean[7];for(inti=0;i();}map[0].add(1);map[0].add(2);map[0].add(3);map[1].add(0);map[1].add(4);map[1].add(5);map[2].add(0);map[2].add(6);map[3].add(0);map[3].add(6);map[4].add(1);map[5].add(1);map[6].add(2);map[6].add(3);Queueq1=newArrayDeque();q1.add(0);isVisit[0]=true;while(!q1.isEmpty()){intva=q1.poll();System.out.println("访问"+(va+1));for(inti=0;i

总结与比较

上面说到dfs和bfs往往是在寻路上的两个极端的表现!当然在不同场景使用可能也有些不同。

dfs可以运用在查找和爬虫中,如果爬虫的话那么更多是优先找到不同链接,可用于统计等。而在查找中比如迷宫类可以利用dfs判断是否存在路径,出路等等。bfs也可以运用在算法和爬虫之中。而bfs优先处理自己周围的资源。所以在爬虫可以用于遍历网站,搜寻整个网站的价值信息等等,笔者以前用爬虫+bfs实现过下载网站的模板(17素材的网页模板)。而在算法中,在迷宫或者无权图中,bfs可以找到最短路径。

在上面可以看得出在邻接矩阵实现储存上浪费很多空间,但有些情况使用二维数组很合适——迷宫类问题。我们在面试学习,会经常遇到迷宫类需要bfs找最短路径,或者dfs查询是否存在。或者双bfs又或者dfs+bfs等等解决具体问题。

搜索引擎为什么不收录网站内页

想要搜索引擎收录网站内容,首先就要保证你的网页内容的质量。比如,你的网站是做养生知识方面的,那你的网站是否有真正做到深度挖掘养生方面的知识呢,网站建设的内容是否真的解决了用户需求呢,如果连这些都没有做到,谈何收录?

搜索引擎为什么不收录网站内页

目前搜索引擎蜘蛛抓取网站内容的方式有以下两种形式,一种情况是搜索引擎自己发现后再去抓取,还有一种就是从搜索引擎站长平台的链接提交工具中提交网站的链接地址,当然,如果是通过主动推送功能推送数据给搜索引擎,肯定是最受搜索引擎欢迎的。

对于我们seo来说,当我们的网站内容长时间不被搜索引擎收录,笔者强烈建议站长们使用站长后台的主动推送功能,尤其是刚上线的新网站,我们通过主动推送,能够让搜索引擎及时的发现我们的网站,从而慢慢的收录我们的网站内页。

有人又有疑问了,为什么我在站长平台提交了网站的链接,一直都没有看到展现出来呢?这里就会涉及到以下的几个因素了:

robots禁止了搜索引擎抓取

大家别认为没有这种情况,作为站长我们必须要知道搜索引擎来到网站首先访问的就是robots文件,如果使用robots禁止了抓取,不管你怎么提交链接都是不可能收录的。因为搜索引擎会按照robots协议来执行抓取行为。

网站内容质量是否优质

搜索引擎搜索引擎的蜘蛛一直在升级,对于网站的内容质量识别度比之前更精准了,并且对于时效性强的内容,搜索引擎搜索引擎从抓取这个环节就开始进行内容质量评估和筛选,这个环节会过滤掉大量的垃圾网页,垃圾内容以及过度优化等网页。

搜索引擎抓取失败

那么搜索引擎抓取失败的原因也是比较多的,可能有的时候你自己或者其他人访问网站没有遇到问题,但是搜索引擎抓取的时候却遇到问题,这是什么原因导致的呢?绝大部分的原因都是因为网站空间不够稳定导致的,所以网站空间的稳定性一定要保证,否则搜索引擎对网站的抓取收录肯定会存在问题。

配额限制

搜索引擎搜索引擎正在开放主动推送的抓取配额,虽然如此,但如果我们的网站突然一下子暴增了大量的内容,那就会有很大抄袭甚至采集的嫌疑,这样的情况肯定也会影响抓取和收录的,所以我们做网站一定不要过于急功近利,网站是需要一步步慢慢做上来的。黑帽SEO手段不可取。

网站安全

假如我们的网站被别人恶意攻击了,产生了大量的垃圾内容,肯定也会很大程度的影响我们网站的抓取收录。所以在网站安全这方面一定要做到位

页面权重达不到收录标准

有很多SEO可能不知道,网站的每一个页面都是存在权重的,网站的内容质量、是否是用户需求的内容、网页内容布局等都会影响页面权重

最后总结,网站不收录的情况有这几点因素:

robots协议禁止的搜索引擎抓取;

网站内容质量过低;

网站空间不稳定导致抓取失败;

网站暴增大量的内容;

网站不够安全;

页面权重达不到收录标准

信息转载自网络,更多相关信息请点击:搜索营销http:///wlyx/ssyx/

相关文章

  • 男子指责Google Maps提供错误导航信息 使其掉入河流

    男子指责Google Maps提供错误导航信息 使其掉入河流 这款应用能为用户提供可靠的导航体验,并且它还在不断发展。,然而近日一名男子表示,GoogleMaps提供的错误导航信息使其掉入冰冻河流。,据CBSNMinnesota报道,尽管这名男子只是被部分淹没,但他还是跌入了冰冻的密西西比河。

    2024-03-22 08:47
  • Google Maps产品经理解释如何借助AI来帮助预测交通流量

    Google Maps产品经理解释如何借助AI来帮助预测交通流量 当用户在使用GoogleMaps导航时,Google会汇总可用的位置资讯来掌握全球各地路况。,为了预测不久后的路况,GoogleMaps会分析过往一段时间内的车流量模式,接着交叉参考过往车流量模式资料库及即时路况资料,再根据这两组资料运用机器学习技术产生预测结果。,最终,GoogleMaps在结合车流量预测和即时路况资讯后,发现如果再继续沿着目前的路线行驶30分钟,可能会碰到大塞车,导致来不及看诊

    2024-03-21 22:05
  • 华为向海外用户正式推多个全新应用:搜索、地图等

    华为向海外用户正式推多个全新应用:搜索、地图等 据介绍,PetalSearch为海外170多个国家和地区用户提供应用、新闻、视频、图片、购物、旅行、机票、酒店、音乐、本地服务以及各类生活资讯等20余类领域的搜索服务,并支持50多种语言。,另外,HUAWEIDocs还为全球100多个国家和地区的用户提供一体化文档服务,用户可以在线管理文档、演示文稿、表格、PDF等50多种格式的本地及云端文件。,通过登录同一个华为帐号,用户可以在多台设备上编辑并同

    2024-03-21 21:22
  • 亚马逊最大第三方卖家倒闭了

    亚马逊最大第三方卖家倒闭了 Pharmapacks成立于2010年,当时是纽约布朗克斯区的一家实体药店,后来转向互联网,成为亚马逊美国网站上最大卖家之一。,”Packable此前曾获得包括凯雷集团、富达(Fidelity)和卢加德资本(LugardRoadCapital)在内的知名投资机构注资。,根据Packable网站的消息,该公司首席执行官安德鲁·瓦格纳斯于今年4月悄然辞职,由丹尼尔·迈尔斯接任。

    2024-03-19 17:00
  • 美国亚马逊前十卖家——Pharmapacks的逆袭之路

    美国亚马逊前十卖家——Pharmapacks的逆袭之路 第一条【Master Brain】自从创始人Andrew Vagenas 创立公司之初,他们就注重内部系统软件的开发,尤其是调价系统,他们不但监测亚马逊上其他卖家价格,还会根据线下店铺及其他电商平台上的价格作出实时调整。,可能有很大比例是物流部门的人,他们一般不会在LinkedIn上注册信息。,第四条【客服系统】这点也是我们国内卖家的一个痛点,Pharmapacks除了有客服人员通过电话和邮件与客

    2024-03-13 22:10