关于Unity最小生成树

本文介绍了在Unity中实现最小生成树算法的过程,用于在2D地图上连接随机点并确保路径最短且不相交。作者通过创建结构体记录点的序号和距离,然后遍历所有点对,寻找并连接最短距离的两个点,逐步构建最小生成树。代码中详细解释了算法的执行步骤。
摘要由CSDN通过智能技术生成

最近在恶补各种知识,而且在寻找工作的过程中,也见识了好多面试题,开阔了自己的眼界。下面我来给大家分享下,我在解决问题过程中,用到的一个最小生成树算法。(写这个的原因有2个方面,1.首先,搜索关于最小生成树的部分,我没找到太多和Unity相关的知识,大部分是原理,所以,写个博客,强化一下自己的记忆。2.也方便大部分和我一样,找资料但是找不到太相关的文章,而抓瞎的人。当然,自己对最小生成树的算法理解,也相对浅显。欢迎各位大神指正。)

         闲言少序,咱们直接进入正题。最近接到的需求是,在2D地图上,生成随机数个点,并通过最小路径,将他们连接起来,而且路径不能重复,不能相交。这就让我想到了算法里面的最小生成树的概念。至于具体概念,我就不在这里赘述了。具体的概念和相关代码可以查看这个文章。数据结构--最小生成树详解_William-CSDN博客_最小生成树

我主要讲讲我的实现方式吧。先贴代码,再逐行解释。

public struct tree
    {
        public int goIndex1;
        public int goIndex2;
        public float distance;
    }

List<tree> gosDistance = new List<tree>();
        //计算各特殊点之间的距离ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值