zoukankan      html  css  js  c++  java
  • 问题规模的理解

    假设某算法在输入规模为n时的计算时间为T=3*2n(2的n的次方).在某台计算机上实现并完成该算法在t秒.现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t秒内能解输入输入规模为多大的问题?

    我一开始看见速度是64倍,就想成相同时间内可以计算64倍,后来看了严奶奶关于问题规模的描述

    “一个特定算法‘运行工作量’的大小,只依赖问题的规模,或者说,他是问题规模的函数”

    不应该只是单纯的看计算问题的时间,而是从问题规模角度去分析

    所以这一题

    应该是A在t秒的时间内可以进行3*2n次运算

    而B在t秒内的时间被可以进行3*2n*64=3*2n+6次运算,

    可以看到其实在t的时间下,对于问题规模来说,A的规模为n=log2(t/3),B是A的64倍速度,可以处理的规模为n+6=log2(t/3)

  • 相关阅读:
    牛客网 CSL的英语考试
    SDNU 1016.矩形合并
    SDNU 1412.Huffuman树(优先队列)
    HDU
    HDU
    HDU
    SDNU 1504.B.Fibonacci
    Find them, Catch them(种类并查集)
    golang中的net/rpc包
    gRPC
  • 原文地址:https://www.cnblogs.com/luoyoucode/p/13991615.html
Copyright © 2011-2022 走看看