Python で非常に高速なツリー オブジェクトが必要です。検索の速度は、メモリよりも重要です。葉ノードは、私が望む値です。したがって、state=NY、position=3、hourOfDay=2、dayOfWeek=3 の場合、値 =100 を高速で取得する必要があります。* が付いているノードはリーフ ノードです。
0) root
1) {state: [NY,LA]}
2) {howOfDay:[1,2,3,4,5], postion:[1,2,3]}
*3) {dayOfWeek:[234]} => value:100
4) {state: [FL,NV,……rest of the states]}
5) {howOfDay:[1,6,7,8,9….23]}
*6) {dayOfWeek:[1,5,6,7]} => value:120
私のデータベースでは、属性をjsonオブジェクトとして使用すると、データは次のようになります。
parent child attribute value
0 1 state NY,LA
1 2 {howOfDay:[1,2,3,4,5], postion:[1,2,3]}
2 3 dayOfWeek dayOfWeek [2,3,4] 100
0 3 state [FL,NV,……rest of the states]
4 5 howOfDay:[1,6,7,8,9….23]
5 6 dayOfWeek:[1,5,6,7] 120
では、値を最適に見つけるには、どの python ライブラリとツリー構造を使用する必要がありますか? データを変換して高速ルックアップを行うにはどうすればよいですか?