Olá pessoal.
Foi um desafio entender o que acontece no merge sort "por baixo dos panos" mas acredito que consegui. Tem dois conceitos importantes que deixam tudo mais claro:
- O mecanismo Call Stack: Aqui voce entende como são feitas as chamadas recursivas das funções.
- Lexical environment: Aqui voce entende como cada chamada recursiva consegue acessar as variáveis referentes ao seu escopo.
Sugiro assistir esse video https://www.youtube.com/watch?v=i56B0xN7jSc&ab_channel=ComputerScience e ler sobre os assuntos que mencionei.
Um abraço,