Folding should be flexible. Fold by chain length, fold to leafs, fold by domain, fold by predicate e.g. ((currentNode.time - parent.time) < 30 seconds)
Answer these questions:
What information can we get from history API?
What information should contain tree node?
What information do we need to perform foldings?
How search will be implemented?
Using OOP draw diagrams for data structures and algoritms (without sticking to concrete programming language) and communications between them. Think about Input and output data for each class.
So, we have two subtasks:
Draw interfaces of tree data structures/storage and API communication.
Describe folding/search algorithms, interfaces and classes.
Don't forget to talk to each other :)
Folding should be flexible. Fold by chain length, fold to leafs, fold by domain, fold by predicate e.g. ((currentNode.time - parent.time) < 30 seconds)
Answer these questions:
Using OOP draw diagrams for data structures and algoritms (without sticking to concrete programming language) and communications between them. Think about Input and output data for each class.
So, we have two subtasks: