I want to make a combinatorial game solver in python.The algorithm is to perform Depth First Search (DFS) on the states of the game.<div><div>For DFS I,would need to keep a record of the visited states.What is the best data structure for it,keeping in mind that the number of states could be large?</div>
<div><br></div><div>I was thinking about using Dictionary or a Binary Search Tree (BST) ,assuming that the states can be made hashable and totally ordered respectively.</div><div>I am not sure,but if there are large number of states Dictionaries wont help much right? </div>
<div><br></div><div>Anyway, does python have a built-in BST like data-structure ?</div><div>  </div>Thanks,<br>Miheer<br>
</div>