Explain the time and space complexity of your recursive versus iterative solutions.
Implement maximum depth for a binary tree represented as [value, left, right], where an empty subtree is null. Return the tree's maximum number of nodes from the root to any leaf. Discuss the complexity of both recursive and iterative approaches.
def max_depth(tree):