SEO教程

SEO教程

Products

当前位置:首页 > SEO教程 >

如何精确测量开发企业门户网站网页设计尺寸?

96SEO 2026-02-20 06:38 7


单源最短路径问题给定一个图G

v∈Vv∈V的最短路径。

如何精确测量开发企业门户网站网页设计尺寸?

Dijkstra算法就适用于解决带权重的有向图上的单源最短路径问题同时算法要求图中所有边的权重非负。

一般在求解最短路径的时候都是已知一个起点和一个终点所以使用Dijkstra算法求解过后也就得到了所需起点到终点的最短路径。

针对一个带权有向图G将所有结点分为两组S和QS是已经确定最短路径的结点集合在初始时为空初始时就可以将源节点s放入毕竟源节点到自己的代价是0Q

中移出并放入S

为空即所有节点都已经查找过一遍并确定了最短路径至于一些起点到达不了的结点在算法循环后其代价仍为初始设定的值不发生变化。

Dijkstra算法每次都是选择V-S中最小的路径节点来进行更新并加入S中所以该算法使用的是贪心策略。

Dijkstra算法存在的问题是不支持图中带负权路径如果带有负权路径则可能会找不到一些路径的最短路径。

我来通俗地讲解一下它的逻辑假设我们选择s点作为我们的起点那么我们从s点出发的直接路径有两条一条是到y的5一条是到t的10我们选择最短的就是到y点但是我们的s到t的10距离实际上也是被我们记录下来的并将y点加入到我们的S集合中因为不可能有值比我们从s到y还要短的路径了这一步很好理解我们试想一下我们从一点能出来很多条路径到不同目的地此时我们选其中一条最短的那么这个时候哪怕其它路径经过一路转折也不可能再比我们选的这条要短因为其它路光是到他的下一个点就已经大于我们所选的这条路径了更不用说后面还要再经过不知道多少个点将y的点加入到我们的S集合之后我们就要从sy两点出发继续我们的操作我们要注意我们是从S集合里面去找它们的路径还是一样从y点我们能出来3条直接路径我们选择最短的将z加入到S中并把其它两条路也记录一下【这就叫松弛更新后面我就不重复了都是一样的】我们再从syz中继续寻找我们找到了y到g的路径将g加入S最后就是我们的x了。

代码实现

我们先来思考一下虽然我们知道了迪杰斯特拉算法的大致逻辑但是我们的细节是怎样的呢比如我们如何记录路径又怎么来进行松弛更新这里我给出一种方法我们来两个变量就能搞定了这里就是我们的两个空的形参distpPathdist就用来存放我们的起点到这个点下标映射的权值用来辅助我们松弛更新pPath就是用来存这个点的父亲是谁有点类似并查集的思路这样我们的路径就可以记录了。

这也就是我们这两个形参的意思第一个新参就是起点。

在了解完三个形参的作用之后我们先来进行初始化的操作我们先要获取起点的下标还有顶点的个数我们要对dist和pPath进行初始化dist对象的初始值我们就设置为整型最大值pPath对象的初始值我们就设置成-1.然后给我们的起点的权值和先前顶点的下标都设置好起点到起点的权值肯定为0先前顶点也是自己。

然后我们再来个S集合false表示这个顶点还没有到S集合里面。

初始化完成之后就是我们最重要的for循环部分的内容了。

我们思考一下我们每次都能找到一个顶点加入到S集合中那么我们进行n-1次循环不就能保证每个顶点都加入到S中了吗我们本代码是进行了n次循环是因为我们的S集合是空的我们并没有先把s顶点加入到S集合里是因为这个操作跟后续顶点都是一样的。

我们的操作都是先找到路径最短的顶点加入到S集合中然后进行松弛操作松弛操作的细节就是对不在S集合中的顶点的路径进行更新且不要忘记记录这个顶点的先前顶点。

打印最短路径

srci){path.push_back(parenti);parenti

pPath[parenti];}path.push_back(srci);reverse(path.begin(),

path.end());for

打印最短路径的思路比较简单我们只需要拿到每个顶点的权值dist以及它们的先前顶点pPath我们就可以很好的打印出最短路径的关系这里的代码大家可以自行理解因为没有什么难理解的地方。

测试代码

parentPath);g.PrintShortPath(s,

dist,

Dijkstra算法只能用来解决正权图的单源最短路径问题但有些题目会出现负权图。

这时这个算法就不能帮助我们解决问题了而bellman—ford算法可以解决负权图的单源最短路径问题。

它的优点是可以解决有负权边的单源最短路径问题而且可以用来判断是否有负权回路。

它也有明显的缺点它的时间复杂度

O(N*E)

(N是点数E是边数)普遍是要高于Dijkstra算法O(N²)的。

像这里如果我们使用邻接矩阵实现那么遍历所有边的数量的时间复杂度就是O(N^3)这里也可以看出

我来用大白话通俗的讲一下它的思路它本质上就是一个暴力更新我们更新的主要逻辑就是从pPath数组里找出这个顶点的前一个顶点判断前一个顶点的路径前一个顶点到本顶点的路径是否小于dist中本顶点的值来进行更新。

比如上面这幅图我们先从s顶点下手的话我们就是s-s的距离dist中s的距离我们会发现s作为我们的起点肯定是一开始就是最小的0加下来我们再来看从s出去可以更新两条s-ss-t和s-ss-y从t和y出去我们又可以更新s-tt-z和s-yy-x接下来再从x出去我们又可以更新s-xx-t这个时候我们就要对t的前顶点的指向进行更新总计n轮的更新之后我们肯定就能得到我们要的最短路径了当然中间我们也可以进行一些优化来帮助我们提前结束循环我们在代码部分再来细谈。

代码实现

dist,记录srci-其他顶点最短路径权值数组dist.resize(n,

MAX_W);//vectorint

记录srci-其他顶点最短路径父顶点数组pPath.resize(n,

-1);//先更新srci-srci为缺省值dist[srci]

W();pPath[srci]

i;}}}//如果这个轮次中没有更新出更短路径那么后续轮次就不需要在走了if

(update

我们的形参和前段初始化部分的代码和我们的迪杰斯特拉算法的意思是一样的。

我们直接来讲for循环的部分。

根据我们上面的逻辑分析我们可以得知它要实现最短路径得把每个顶点都处理一遍所以我们最多是会更新n轮的我们的具体操作是将srci-ii-j的路径进行更新因此我们的if条件就是判断两个顶点是否相连且srci-ii-j的路径是否小于dist中srci-j的路径。

我们的update变量是可以优化这个循环过程的倘若我们在某一轮中一次更新操作都没有出现那么我们就可以肯定已经更新完毕了我们就可以提前退出循环。

但是我们要对可能出现的负权回路作处理因为我们的权值实会有负数的所以我们的图中如果出现了回路且都为负值那么理论上就会陷入无限循环的更新但是我们的代码就只有n轮所以我们只需要再来一轮倘若它还能更新那就是出现了负权回路的情况我们直接返回false就可以了。

测试代码

parentPath)){g.PrintShortPath(s,

dist,

parentPath2)){g2.PrintShortPath(s,

dist2,

Floyd-Warshall算法是解决任意两点间的最短路径的一种算法。

Floyd算法考虑的是一条最短路径的中间节点即简单路径p{v1,v2,…,vn}上除v1和vn的任意节点。

设k是p的一个中间节点那么从i到j的最短路径p就被分成i到k和k到j的两段最短路径p1p2。

p1

是从i到k且中间节点属于{12…k-1}取得的一条最短路径。

p2是从k到j且中间节点属于{1

即Floyd算法本质是三维动态规划D[i][j][k]表示从点i到点j只经过0到k个点最短路径然后建立起转移方程然后通过空间优化优化掉最后一维度变成一个最短路径的迭代算法最后即得到所以点的最短路。

翻译成大白话就是我们建两个二维数组一个用来记录两个顶点的权值一个用来记录它们的父亲顶点是谁。

然后让每个顶点成为中转点来依次更新。

代码实现

_vertexs.size();vvDist.resize(n);vvpPath.resize(n);//初始化权值和路径矩阵for

(size_t

vvDist[k][j];//找跟j相连的上一个邻接顶点//如果k-j直接相连上一个点就是kvvpPath[k][j]存的就是k//如果k-j没有直接相连k-...-x-j,vvpPath[k][j]存的就是xvvpPath[i][j]

vvpPath[k][j];}}}//

我们的形参就是连个二维数组一个是存权值的一个是存顶点的父亲顶点的。

我们先对两个二维数组进行初始化不相连就用MAX_W来表达没有父亲顶点就用-1来表达我们的第一步就是对直接相连的边更新一下。

接下来我们再来更新经过中转点的情况。

我们以k来充当我们的中转点我们只需要判断i-k是否相连k-j是否相连倘若都相连我们就判断一下它们的路径之和是否小于直接相连的路径之和或则是不相连是则更新ddist和ppath。

这里我们要注意父亲顶点不能直接写k因为k是我们的中转点它不一定是k-j这段路径的j的父亲顶点找跟j相连的上一个邻接顶点如果k-j直接相连上一个点就是kvvpPath[k][j]存的就是k如果k-j没有直接相连k-...-x-j,vvpPath[k][j]存的就是x。

测试代码

vvParentPath;g.FloydWarShall(vvDist,

vvParentPath);//

我们这里打印出的表的数据比我们的逻辑图少一因为我们是以下标来当父亲顶点而不是个数。



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback