数据结构与算法(广度优先算法,如何找到qq好友的3度好友关系来达到推荐的目的)

本文介绍了图的广度优先搜索算法在社交网络中的应用,特别是如何利用这种算法找到QQ好友的3度关系以实现推荐。通过算法原理及实现代码的讲解,阐述了BFS如何从起点开始逐层搜索,找到最近和次近的连接,并讨论了其时间复杂度和空间复杂度。
摘要由CSDN通过智能技术生成

回顾;上一节课中,我们学习了图这种比较复杂的非线性结构的基础,以及表示方法,以及他在社交网络中的应用,其中这种数据结构存储数据的方式有领连接矩阵存储和领连接链表存储,分别采用空间换时间和时间换空间的思想,其中采用领连接矩阵存储具有更广的应用,只是他的底层以矩阵进行描述,可以进行多种矩阵的计算,达到我们的业务目的.

1>提出问题,什么是搜索算法

         要想搞清楚这个问题,我还是先讲讲大家常用的qq是如何实现好友进行推荐的,比如说,A添加了B,B添加了C,C添加了D,其中B,C,D分别是A的一度好友,二度好友,三度好友,qq软件就是通过这种方式现实呢qq可能认识的好友进行推荐.

     所谓针对图的搜索算法很直观的理解,从图找某一点出发,找到我们需要说的顶点的路径,这就是图的搜索算法,比较有名的是图的广度优先算法,深度优先算法,当然还有其他算法,今天我们重点讲一下图的广度优先算法

2>广度优先算法(简称BFS)的原理:即就是先寻找其实起点最近的点,然后次近的,以此往外搜索,我们来看一下下面的一张图的搜索原理

       a>在初始状态下,从顶点1开始,其中队列放入1即queue = {1};

        b>访问1的临近顶点,1出队,且变黑,2,3入队,此时q

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值