Tell me about the trade-offs you consider between different data structures when solving for optimal time complexity.