In [20]:
# Estrutura de dados
lista = [1,2,2, [2,3,4], 3.9, 4, 2.8,'uma string']
print(lista)
print(type(lista))
lista
[1, 2, 2, [2, 3, 4], 3.9, 4, 2.8, 'uma string']
<class 'list'>
Out[20]:
[1, 2, 2, [2, 3, 4], 3.9, 4, 2.8, 'uma string']
In [1]:
# Arvore:binária não ordenada

#                             root
#                        .           .              
#                     A                  B
#                  ,                        .        
#                C
    
# Vetor ou array ou lista


# Inseção de valores na arvore
# ------------------------
# Root  |  left  |  right    
# ------------------------
#   0   |   1    |   2
  
# Root    None     None
# Root     A       None
# Root     A        B
#  A      None     None
#  A       C       None

  
In [2]:
# INSERE raiz
r = ["Root",None,None]
r
Out[2]:
['Root', None, None]
In [3]:
# INSERE A
a = ["A",None,None]
a
Out[3]:
['A', None, None]
In [4]:
#verifica o que tem na raiz
r[0], r[1],r[2]
Out[4]:
('Root', None, None)
In [5]:
# verica o que tem em a
a[0], a[1],a[2]
Out[5]:
('A', None, None)
In [6]:
# faz ligação do r para a
r[1]= a
r[1]
Out[6]:
['A', None, None]
In [7]:
# verifica r
r
Out[7]:
['Root', ['A', None, None], None]
In [8]:
# INSERE o B
b = ["B",None,None]
b
Out[8]:
['B', None, None]
In [9]:
# faz ligação da raiz para B
r[2]= b
r[2]
Out[9]:
['B', None, None]
In [10]:
# verifica B
b
Out[10]:
['B', None, None]
In [11]:
# verifica raiz
r
Out[11]:
['Root', ['A', None, None], ['B', None, None]]
In [12]:
# INSERE o 
c = ["C",None,None]
c
Out[12]:
['C', None, None]
In [13]:
# faz ligação do a para c
a[1]= c
a[1]
Out[13]:
['C', None, None]
In [14]:
# verifica a
a
Out[14]:
['A', ['C', None, None], None]
In [15]:
# verifica raiz
r
Out[15]:
['Root', ['A', ['C', None, None], None], ['B', None, None]]