有向图的邻接矩阵_图形算法(邻接矩阵)在前端领域的应用

本文介绍了邻接矩阵在前端领域的应用,特别是在无向图和有向图的联动表单场景。通过邻接矩阵可以简化表单联动的复杂性,实现颜色、套餐等多因素的相互影响。同时,文章讨论了有向图的深度优先和广度优先算法在地图导航中的应用,以及加权有向图和迪科斯彻算法在求解最短路径问题上的作用。
摘要由CSDN通过智能技术生成
本文为代发,原作者为蚂蚁保险体验技术组-伯龄

前言

最近有些小伙伴在写表单联动关系是觉得非常复杂,不知道从何下手。大多数情况下会要求后端同学给到嵌套结构,但是这种结构有个致命的缺点,无法向上联动而且存在大量多余数据。推荐了一下邻接矩阵发现有好多同学不了解,写个简单的科普文章解释一下。

什么是邻接矩阵

别问惯性开头没有为什么

邻接矩阵是一个用来描绘顶点与边关系的数据结构。它的本质是一个二维数组,适合用来处理最小数据单元之间的关联关系。邻接矩阵有两种模式:无向图以及有向图。无向图主要的特点是不表示方向点与点之间可以双向流通,有向图则包含方向两点间可单向亦可双向。他们主要应用在迷宫、简单地图、级联表单等等图形化场景

无向图

描述

无向图:指的是点与点之间的关联边没有方向限制。两点间可以来回往返

举个例子:

a8e1c7cba527de1c6f7c0cfec065df0b.png

上图就是一个简单边与点的关联关系:

V0 相接的顶线是 v2 v3

V1 相接的顶线是 v3 v4

V2 相接的顶线是 v0 v3 v4

V3 相接的顶线是 v0 v1 v2

V4 相接的顶线是 v1 v2

以上图形被邻接矩阵数据化以后是怎么样的格式呢?

const 

无向图的几个特点:

  • 矩阵的length必然是顶点个数的平方 lengt^2
  • 矩阵斜边必然无值
  • 矩阵依据斜边对称

7e427cb0996b714ee8f65fe9c9989d34.png

简单实现

简单介绍后,我们通过JS简单实现一个邻接矩阵无向图

class 

应用场景:联动表单

经过上面的简单介绍我们应该对邻接矩阵无向图有一个基本概念。那么我们怎么应用到实际的项目中呢。下面是一个我们再熟悉不过的天猫下单规格选择页面,这个销售页面的订单页面包含颜色、套餐类型、储存容量等三个关键因子。而且三个关键因子间存在相互关联关系。

6c264b8a5f752c7cb5db31b7ee534268.png

分析交互

  • 当用户选择颜色的规格时,所有黑色相关的可选项均亮起
  • 同规格可选项也为亮起状态
  • 当用户选择套餐类型时,在颜色以及套餐的公共作用下,部分规格亮起
如果让后端下发一个递归的树结构1:会产生非常多的数据囤余。2:导致传输的数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值