簡體   English   中英

良好的數據結構或數據庫可以表示對象以及對象之間的轉換?

[英]Good data structure or database to represent objects and transitions between objects?

我在選擇用於幫助識別資源和資源之間轉換的數據結構時遇到了麻煩。 定義圖形后,我想對資源之間的轉換進行分析,以確定哪些輸入可以產生什么輸出。

例如,我們可以以傳統貨幣為例:

  • 美元-> 3:2->歐元
  • 歐元-> 2:3->美元
  • 歐元-> 1:100->日元
  • 日元-> 95:1->歐元
  • 日元-> 50:1-> T恤
  • 美元-> 2:1->糖果吧

典型的用例是獲取一些初始資源,例如5美元和100日元,並確定可以將其轉換為多少條糖果? 怎么有T恤? 通過使用數百個資源(每個資源可能有數十個過渡到其他資源),該圖將變得更加復雜。

感謝您的想法!

對於標准圖形,這聽起來像一個問題。

假設每個資源為一個節點,如果兩個節點之間存在過渡,則連接兩個節點,邊緣權重為過渡比率。

這些邊緣可能需要定向,並且,如果過渡是相反的,則具有2個邊緣,一個在任一方向上。 或者,如果過渡是逆向的,則可以有一個無向圖,並將邊緣權重定義為從“最小”節點到“最大”節點的過渡比率(您需要對節點進行一些可能的排序)。 所謂“轉換是逆的”,是指,如果您從任何資源轉到任何其他資源,也可以再次返回,並且,如果這樣做,您將獲得與最初開始時相同的金額(盡管在示例中似乎沒有成立)。

然后,您可能必須使用廣度優先搜索 (或類似搜索 )來確定從一種資源到另一種資源的獲取。

就SQL而言,可能的結構如下:

Resource
  ID, ...

Transition
  ResourceID1, ResourceID2, Cost

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM