I had been wondering if tree structures could be represented with any specific system since, like you’ve both pointed out, they crop up in computer science but also in various ‘real-world’ data sets. I imagine having a computer science background has certainly influenced my approach!
To be a little more specific about the case I had in mind, I was wondering about chess opening theory. To explain for the unfamiliar, in chess, certain sequences of opening moves are considered better and top players analyse these to ever greater depths, finding improvements over older games. While in some of these variations playing with general principles is adequate, there exist some where moves must be more precise. I had been discussing with a some chess playing friends about the practicalities of modelling this if one were keen to simply memorise reams of opening theory (leaving aside the objections chess players would make to this amateurish approach to openings!). Having made a chess playing program as part of my undergraduate work, I had studied tree structures and wondered if the memory experts had an answer to this problem.
This leaves us with a data structure that typically alternates between large (what your opponent may play) and small (what you’d reply with) branching factors at each new node, but I feel that this feature would be best ignored to allow for a general case solution. Additionally, this tree structure would require the option of a much larger branching factor than a binary tree which makes our solution more broadly applicable. As for the nodes, the data would be stored would be quite simple, certainly not too tricky for traditional memory techniques i.e. just the move and perhaps some mental notes too. In terms of the option of updating the information, one would presume this would be a fairly rare occurrence if the initial tree were well made.
Understandably the structure I’m describing is likely to be prohibitively large for all but the most dedicated mnemonist; if we imagine an average branching factor of 5 (which is something of a guess on my part), to reach a depth of only 5 moves, we have nearly 4000 nodes. I was mostly curious about how one might set about this task.