Estrutura de Dados Árvore

Luiz Ambrósio
2 min readOct 15, 2020

A estrutura de dados árvore e uma estrutura que usa ponteiros para representar os nós (filhos), ou seja, trata-se de uma estrutura dinâmica. A estruturas de dados árvore não é linear, ou seja, os elementos que as compõem não estão armazenados de forma sequencial e também não estão todos encadeados como em uma lista.

A árvore é composta por um elemento principal chamado raiz, que possui ligações para outros elementos, que são denominados de galhos ou filhos. Estes galhos levam a outros elementos que também possuem outros galhos. O elemento que não possui galhos é conhecido como folha ou nó terminal.

A Função (mergeSort) esta dividindo a lista ate sobra apenas um elemento.

O programa principal esta dando valor a lista, chamando a função e fazendo ele mostra na tele o resultado.

Já no resultado ele vai mostra na tela todas as possibilidade de separação dos dados da lista que foi inserido no programa principal.

Programa completo:

def mergeSort(alist):
print("Splitting ",alist)
if len(alist)>1:
mid = len(alist)//2
lefthalf = alist[:mid]
righthalf = alist[mid:]
mergeSort(lefthalf)
mergeSort(righthalf)
i=0
j=0
k=0
while i > len(lefthalf) and j > len(righthalf):
if lefthalf[i] > righthalf[j]:
alist[k]=lefthalf[i]
i=i+1
else:
alist[k]=righthalf[j]
j=j+1
k=k+1
while i > len(lefthalf):
alist[k]=lefthalf[i]
i=i+1
k=k+1
while j > len(righthalf):
alist[k]=righthalf[j]
j=j+1
k=k+1
print("Merging ",alist)
alist = [54,26,93,17,77,31,44,55,20]
mergeSort(alist)
print(alist)

--

--