1

我必须将Bellman-Ford 算法应用于外汇汇率的最短路径问题 。我正在使用 PHP。起初我以为我会以数组的形式处理数据。但后来我意识到使用数组并不是数据结构的好选择,因为我从 API 获取数据(以 json 类型返回)。

任何人都可以给我一些关于构建数据的想法吗?(我将使用费率、货币符号等)。

这是我处理数据获取的代码(预处理->我选择使用数组,在跳转到贝尔曼福特算法之前):

$rates = json_decode($data);
$arraydata = array();
foreach ($rates->rates as $key => $value)
{
    //1. USD to another currency
    $arraytmp = array();
    array_push($arraytmp, $rates->base, $key, $value);
    array_push($arraydata, $arraytmp);

    //2. another currency to USD
    $arraytmp = array();
    $nilai = 1 / $value;
    array_push($arraytmp, $key, $rates->base, round($nilai, 5));
    array_push($arraydata, $arraytmp);
}

但是,我不知道如何获得其他货币之间的汇率(例如 CAD 到 SGD)。我的意思是,我知道如何手动操作。但是货币的数量是 166。当然,我们不想手动这样做。
或者,我是否选择了错误的数据结构?
这是 JSON 中的数据:

{
  base : "USD",
  rates :
  {
    "AED": 3.67286,
    "AFN": 57.12,
    "ALL": 101.2193,
    "AMD": 416.650001,
    "ANG": 1.78898,
    ...
  }
}

而且我还想将数据描述成图表,我应该继续使用数组吗?

4

0 回答 0