To find the maximum depth of a binary tree from the root node, we can implement a simple recursive algorithm. We first check the base condition of whether the root node is null or not. If it's null, then the maximum depth is zero. Otherwise, we recursively find the maximum depth of the left and right subtrees. The maximum depth of the binary tree will be the maximum of the left and right subtree's maximum depth plus one (for the root node itself). Here's the Python code:

```
def maxDepth(root):
    if root is None:
        return 0
    else:
        left_depth = maxDepth(root.left)
        right_depth = maxDepth(root.right)
        return max(left_depth, right_depth) + 1
```

This algorithm has a time complexity of O(n), where n is the number of nodes in the binary tree, as we visit each node exactly once.
Data la radice di un albero binario, restituire la sua profondità massima. La profondità massima di un albero binario è il numero di nodi lungo il percorso più lungo dal nodo radice fino al nodo foglia più lontano.