外存图数据算法之线性表内存排名

线性表排名问题是求出表里面的每一个元素到头结点的距离有多远。例如这样一个排名(1,2,3,4,5,6)

线性表排名问题

输入:线性表L。

输出:L中每个元素到L头结点的元素数。

其中每个排名值也可以当做权重来计算,总权重是每个结点到根结点之间的路径上所有结点的权重之和。

下面的图为计算完权重的结点。

第一个结点到根结点之间所有结点的权重之和是3,

第二个结点到根结点之间的所有结点的权重之和是3+1=4,

第三个结点到根结点之间所有结点的权重之和是3+1+5=9,......

加权线性表排名问题

输入:线性表L,其中结点v上有权重w(v)。

输出:设L中每个元素v到L头结点的所有元素集合为S,对每个v求w(ui),i=1,2...

线性时间复杂度的列表内存排名算法

  v = L.head         

 p = 0                 

    while v != nil do

        p = p + w(v) 

        p(v) = p        

       v = succ(v)    

   endwhile           

只需要扫描一遍线性表就可以了,把所有经过的权重求和。

但是如果线性表放在外存里,考虑到线性表中的结点随机存储,这个问题就会变得复杂。

如何解决在外存排名问题

可以设计一种比较聪明但也相对复杂的访问方法。首先取一个大小至少为N/3的独立集合。图当中的独立集合是指图当中点的集合,在这个点的集合当中任意两点之间不存在边。每一个去掉的独立集合链表中的结点合并到其后继结点当中,从而计算出链表中每个结点的排名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据在不论在研究还是工程领域都是热点之一,算法大数据管理与计算的核心主题。本课程试简要介绍大数据计算中涉及到的基本算法设计方法。适用于大数据研究与开发人员,也适用于数据科学爱好者。 大数据算法这门课程旨在通过讲授一些大数据上基本算法设计思想,包括概率算法、I/O有效算法和并行算法,让听课的同学们接触到和传统算法课程不一样的算法设计与分析思路,并且以最新的研究成果为导向,让参与这门课程学习的同学了解大数据算法的前沿知识。通过这门课程的学习,同学可以掌握大数据算法设计的基本思想,掌握大数据算法设计与分析的技术。 【课程目录】 第1章 大数据算法概述 大数据的定义与特点 大数据算法 大数据算法设计与分析 第2章 亚线性算法概述 亚线性算法的定义 水库抽样—空间亚线性算法 平面直径—时间亚线性计算算法 全0数组判定—时间亚线性判定算法 第3章 亚线性算法例析 数据流中频繁元素 最小生成树 序列有序的判定 第4章 外存算法概述 外存存储结构与外存算法 外存算法示例:外存排序算法 外存数据结构示例:外存查找树 第5章 外存查找结构 B树 KD树 第6章 外存数据算法 表排序及其应用 时间前向处理方法 缩法 第7章 基于MapReduce的并行算法设计 MapReduce概述 字数统计 平均数计算 单词共现矩阵的计算 第8章 MapReduce算法例析 连接(Join)算法 算法 第9章 非MapReduce的并行算法设计 基于迭代处理平台的并行算法 基于处理平台的并行算法 第10章 众包算法 众包的定义 众包的实例 众包的要素 众包算法例析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值