亚线性算法

本文探讨了亚线性算法的概念,包括亚线性时间与空间算法。通过社交网络中平均朋友数的计算问题,展示了亚线性时间算法的需求。水库抽样作为亚线性空间算法的例子,用于在数据流中进行均匀抽样,同时保持较低的空间复杂性。此外,文章还提及了平面图直径的亚线性时间近似算法,以快速估算图的最大距离。这些算法在处理大规模数据时具有重要的实际意义。
摘要由CSDN通过智能技术生成

亚线性算法的定义

亚线性时间算法

  • 亚线性时间近似算法

  • 性质检测算法

亚线性空间算法

  • 数据流算法

 

亚线性时间问题 例子

给定一个社交网络,如何平均每个人的朋友个数,即在图中计算其节点的平均度

(如果随机抽取样本的方式 有些度很大的点将会抽不到)

能否在不访问所有顶点的情况下完成次任务?

  • 精确计算需要访问最少n-1个 顶点

亚线性空间算法 例子

一个(源源不断的到来)数据集合(流),只扫描一次,如何求其中位数?

  • 不能存储所有数据->不能对其进行排序
  • 应当存那些数据?

水库抽样--一个亚线性空间算法

  • 输入:一组数据,其大小未知

  • 输出:这组数据的k个均匀抽样
  • 要求:
  1. 仅扫描数据一次
  2. 空间复杂性为o(k)
  3. 扫描到数据的前n个数字时(n>k),保存当前已扫描数据的k个均匀抽样

水库抽样算法

  1. 申请一个长度为k的数组A保存抽样
  2. 保存首先接收到的k个元素
  3. 当接收到第i个新元素t时,以k/i的概率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值