Spaces:
Running
Running
Upload code.txt
Browse files
code.txt
CHANGED
|
@@ -1316,6 +1316,70 @@ if c == 2 :
|
|
| 1316 |
print("OK")
|
| 1317 |
else :
|
| 1318 |
print("KO")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1319 |
;;;
|
| 1320 |
nombre de boites (N4)
|
| 1321 |
;;;
|
|
@@ -1409,6 +1473,70 @@ if c == 5 :
|
|
| 1409 |
else :
|
| 1410 |
print("KO")
|
| 1411 |
;;;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1412 |
sépare 0 et 1 (N3)
|
| 1413 |
;;;
|
| 1414 |
Écrire la fonction separe qui prend en paramètre un tableau tab dont les éléments sont des 0 et des 1. Cette fonction renvoie un tableau qui contient autant de 0 et de 1 qu'il y en a dans tab mais où tous les 0 sont placés en début de tableau et tous les 1 sont placés en fin de tableau.
|
|
@@ -1465,6 +1593,70 @@ if c == 2 :
|
|
| 1465 |
else :
|
| 1466 |
print("KO")
|
| 1467 |
;;;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1468 |
recherche dichotomique (N2)
|
| 1469 |
;;;
|
| 1470 |
Écrire une fonction dichotomie qui prend en paramètre un tableau tab d'entiers triés et un entier n. Cette fonction renvoie True si n est présent dans le tableau et False dans le cas contraire.
|
|
@@ -1491,6 +1683,70 @@ if c == 2 :
|
|
| 1491 |
else :
|
| 1492 |
print("KO")
|
| 1493 |
;;;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1494 |
palindrome (N3)
|
| 1495 |
;;;
|
| 1496 |
Un mot palindrome peut se lire de la même façon de gauche à droite ou de droite à gauche : kayak, radar, et non sont des mots palindromes.
|
|
@@ -1571,7 +1827,71 @@ g_node.insert_gauche('I')
|
|
| 1571 |
h_node = f_node.get_droit()
|
| 1572 |
h_node.insert_droit('J')
|
| 1573 |
c = 0
|
| 1574 |
-
if hauteur(racine):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1575 |
print("Test 1 : OK")
|
| 1576 |
c += 1
|
| 1577 |
else :
|
|
@@ -1581,3 +1901,4 @@ if c == 1 :
|
|
| 1581 |
else :
|
| 1582 |
print("KO")
|
| 1583 |
;;;
|
|
|
|
|
|
| 1316 |
print("OK")
|
| 1317 |
else :
|
| 1318 |
print("KO")
|
| 1319 |
+
;;;
|
| 1320 |
+
parcours suffixe d'un arbre binaire (N3 T)
|
| 1321 |
+
;;;
|
| 1322 |
+
Écrire une fonction parcours_suffixe qui prend en paramètre une instance de la classe arbre T et renvoie un tableau (de type list) contenant les valeurs des noeuds de l'arbre T classés dans un ordre compatible avec un parcours suffixe de l'arbre T.
|
| 1323 |
+
La classe Arbre possède 3 méthodes :
|
| 1324 |
+
- get_gauche() renvoie l'arbre gauche
|
| 1325 |
+
- get_droit() renvoie l'arbre droit
|
| 1326 |
+
- get_valeur() renvoie la valeur du noeud
|
| 1327 |
+
;;;
|
| 1328 |
+
class ArbreBinaire:
|
| 1329 |
+
def __init__(self, valeur):
|
| 1330 |
+
self.valeur = valeur
|
| 1331 |
+
self.enfant_gauche = None
|
| 1332 |
+
self.enfant_droit = None
|
| 1333 |
+
def insert_gauche(self, valeur):
|
| 1334 |
+
if self.enfant_gauche == None:
|
| 1335 |
+
self.enfant_gauche = ArbreBinaire(valeur)
|
| 1336 |
+
else:
|
| 1337 |
+
new_node = ArbreBinaire(valeur)
|
| 1338 |
+
new_node.enfant_gauche = self.enfant_gauche
|
| 1339 |
+
self.enfant_gauche = new_node
|
| 1340 |
+
def insert_droit(self, valeur):
|
| 1341 |
+
if self.enfant_droit == None:
|
| 1342 |
+
self.enfant_droit = ArbreBinaire(valeur)
|
| 1343 |
+
else:
|
| 1344 |
+
new_node = ArbreBinaire(valeur)
|
| 1345 |
+
new_node.enfant_droit = self.enfant_droit
|
| 1346 |
+
self.enfant_droit = new_node
|
| 1347 |
+
def get_valeur(self):
|
| 1348 |
+
return self.valeur
|
| 1349 |
+
def get_gauche(self):
|
| 1350 |
+
return self.enfant_gauche
|
| 1351 |
+
def get_droit(self):
|
| 1352 |
+
return self.enfant_droit
|
| 1353 |
+
racine = ArbreBinaire('A')
|
| 1354 |
+
racine.insert_gauche('B')
|
| 1355 |
+
racine.insert_droit('F')
|
| 1356 |
+
|
| 1357 |
+
b_node = racine.get_gauche()
|
| 1358 |
+
b_node.insert_gauche('C')
|
| 1359 |
+
b_node.insert_droit('D')
|
| 1360 |
+
|
| 1361 |
+
f_node = racine.get_droit()
|
| 1362 |
+
f_node.insert_gauche('G')
|
| 1363 |
+
f_node.insert_droit('H')
|
| 1364 |
+
|
| 1365 |
+
c_node = b_node.get_gauche()
|
| 1366 |
+
c_node.insert_droit('E')
|
| 1367 |
+
|
| 1368 |
+
g_node = f_node.get_gauche()
|
| 1369 |
+
g_node.insert_gauche('I')
|
| 1370 |
+
|
| 1371 |
+
h_node = f_node.get_droit()
|
| 1372 |
+
h_node.insert_droit('J')
|
| 1373 |
+
c = 0
|
| 1374 |
+
if parcours_suffixe(racine) == ['E', 'C', 'D', 'B', 'I', 'G', 'J', 'H', 'F', 'A']:
|
| 1375 |
+
print("Test 1 : OK")
|
| 1376 |
+
c += 1
|
| 1377 |
+
else :
|
| 1378 |
+
print("Test 1 : échec")
|
| 1379 |
+
if c == 1 :
|
| 1380 |
+
print("OK")
|
| 1381 |
+
else :
|
| 1382 |
+
print("KO")
|
| 1383 |
;;;
|
| 1384 |
nombre de boites (N4)
|
| 1385 |
;;;
|
|
|
|
| 1473 |
else :
|
| 1474 |
print("KO")
|
| 1475 |
;;;
|
| 1476 |
+
taille d'un arbre binaire (N2 T)
|
| 1477 |
+
;;;
|
| 1478 |
+
Écrire une fonction taille qui prend en paramètre une instance de la classe arbre T et renvoie la taille de l'arbre T.
|
| 1479 |
+
La classe Arbre possède 3 méthodes :
|
| 1480 |
+
- get_gauche() renvoie l'arbre gauche
|
| 1481 |
+
- get_droit() renvoie l'arbre droit
|
| 1482 |
+
- get_valeur() renvoie la valeur du noeud
|
| 1483 |
+
;;;
|
| 1484 |
+
class ArbreBinaire:
|
| 1485 |
+
def __init__(self, valeur):
|
| 1486 |
+
self.valeur = valeur
|
| 1487 |
+
self.enfant_gauche = None
|
| 1488 |
+
self.enfant_droit = None
|
| 1489 |
+
def insert_gauche(self, valeur):
|
| 1490 |
+
if self.enfant_gauche == None:
|
| 1491 |
+
self.enfant_gauche = ArbreBinaire(valeur)
|
| 1492 |
+
else:
|
| 1493 |
+
new_node = ArbreBinaire(valeur)
|
| 1494 |
+
new_node.enfant_gauche = self.enfant_gauche
|
| 1495 |
+
self.enfant_gauche = new_node
|
| 1496 |
+
def insert_droit(self, valeur):
|
| 1497 |
+
if self.enfant_droit == None:
|
| 1498 |
+
self.enfant_droit = ArbreBinaire(valeur)
|
| 1499 |
+
else:
|
| 1500 |
+
new_node = ArbreBinaire(valeur)
|
| 1501 |
+
new_node.enfant_droit = self.enfant_droit
|
| 1502 |
+
self.enfant_droit = new_node
|
| 1503 |
+
def get_valeur(self):
|
| 1504 |
+
return self.valeur
|
| 1505 |
+
def get_gauche(self):
|
| 1506 |
+
return self.enfant_gauche
|
| 1507 |
+
def get_droit(self):
|
| 1508 |
+
return self.enfant_droit
|
| 1509 |
+
racine = ArbreBinaire('A')
|
| 1510 |
+
racine.insert_gauche('B')
|
| 1511 |
+
racine.insert_droit('F')
|
| 1512 |
+
|
| 1513 |
+
b_node = racine.get_gauche()
|
| 1514 |
+
b_node.insert_gauche('C')
|
| 1515 |
+
b_node.insert_droit('D')
|
| 1516 |
+
|
| 1517 |
+
f_node = racine.get_droit()
|
| 1518 |
+
f_node.insert_gauche('G')
|
| 1519 |
+
f_node.insert_droit('H')
|
| 1520 |
+
|
| 1521 |
+
c_node = b_node.get_gauche()
|
| 1522 |
+
c_node.insert_droit('E')
|
| 1523 |
+
|
| 1524 |
+
g_node = f_node.get_gauche()
|
| 1525 |
+
g_node.insert_gauche('I')
|
| 1526 |
+
|
| 1527 |
+
h_node = f_node.get_droit()
|
| 1528 |
+
h_node.insert_droit('J')
|
| 1529 |
+
c = 0
|
| 1530 |
+
if taille(racine) == 10:
|
| 1531 |
+
print("Test 1 : OK")
|
| 1532 |
+
c += 1
|
| 1533 |
+
else :
|
| 1534 |
+
print("Test 1 : échec")
|
| 1535 |
+
if c == 1 :
|
| 1536 |
+
print("OK")
|
| 1537 |
+
else :
|
| 1538 |
+
print("KO")
|
| 1539 |
+
;;;
|
| 1540 |
sépare 0 et 1 (N3)
|
| 1541 |
;;;
|
| 1542 |
Écrire la fonction separe qui prend en paramètre un tableau tab dont les éléments sont des 0 et des 1. Cette fonction renvoie un tableau qui contient autant de 0 et de 1 qu'il y en a dans tab mais où tous les 0 sont placés en début de tableau et tous les 1 sont placés en fin de tableau.
|
|
|
|
| 1593 |
else :
|
| 1594 |
print("KO")
|
| 1595 |
;;;
|
| 1596 |
+
parcours préfixe d'un arbre binaire (N3 T)
|
| 1597 |
+
;;;
|
| 1598 |
+
Écrire une fonction parcours_prefixe qui prend en paramètre une instance de la classe arbre T et renvoie un tableau (de type list) contenant les valeurs des noeuds de l'arbre T classés dans un ordre compatible avec un parcours préfixe de l'arbre T.
|
| 1599 |
+
La classe Arbre possède 3 méthodes :
|
| 1600 |
+
- get_gauche() renvoie l'arbre gauche
|
| 1601 |
+
- get_droit() renvoie l'arbre droit
|
| 1602 |
+
- get_valeur() renvoie la valeur du noeud
|
| 1603 |
+
;;;
|
| 1604 |
+
class ArbreBinaire:
|
| 1605 |
+
def __init__(self, valeur):
|
| 1606 |
+
self.valeur = valeur
|
| 1607 |
+
self.enfant_gauche = None
|
| 1608 |
+
self.enfant_droit = None
|
| 1609 |
+
def insert_gauche(self, valeur):
|
| 1610 |
+
if self.enfant_gauche == None:
|
| 1611 |
+
self.enfant_gauche = ArbreBinaire(valeur)
|
| 1612 |
+
else:
|
| 1613 |
+
new_node = ArbreBinaire(valeur)
|
| 1614 |
+
new_node.enfant_gauche = self.enfant_gauche
|
| 1615 |
+
self.enfant_gauche = new_node
|
| 1616 |
+
def insert_droit(self, valeur):
|
| 1617 |
+
if self.enfant_droit == None:
|
| 1618 |
+
self.enfant_droit = ArbreBinaire(valeur)
|
| 1619 |
+
else:
|
| 1620 |
+
new_node = ArbreBinaire(valeur)
|
| 1621 |
+
new_node.enfant_droit = self.enfant_droit
|
| 1622 |
+
self.enfant_droit = new_node
|
| 1623 |
+
def get_valeur(self):
|
| 1624 |
+
return self.valeur
|
| 1625 |
+
def get_gauche(self):
|
| 1626 |
+
return self.enfant_gauche
|
| 1627 |
+
def get_droit(self):
|
| 1628 |
+
return self.enfant_droit
|
| 1629 |
+
racine = ArbreBinaire('A')
|
| 1630 |
+
racine.insert_gauche('B')
|
| 1631 |
+
racine.insert_droit('F')
|
| 1632 |
+
|
| 1633 |
+
b_node = racine.get_gauche()
|
| 1634 |
+
b_node.insert_gauche('C')
|
| 1635 |
+
b_node.insert_droit('D')
|
| 1636 |
+
|
| 1637 |
+
f_node = racine.get_droit()
|
| 1638 |
+
f_node.insert_gauche('G')
|
| 1639 |
+
f_node.insert_droit('H')
|
| 1640 |
+
|
| 1641 |
+
c_node = b_node.get_gauche()
|
| 1642 |
+
c_node.insert_droit('E')
|
| 1643 |
+
|
| 1644 |
+
g_node = f_node.get_gauche()
|
| 1645 |
+
g_node.insert_gauche('I')
|
| 1646 |
+
|
| 1647 |
+
h_node = f_node.get_droit()
|
| 1648 |
+
h_node.insert_droit('J')
|
| 1649 |
+
c = 0
|
| 1650 |
+
if parcours_prefixe(racine) == ['A', 'B', 'C', 'E', 'D', 'F', 'G', 'I', 'H', 'J']:
|
| 1651 |
+
print("Test 1 : OK")
|
| 1652 |
+
c += 1
|
| 1653 |
+
else :
|
| 1654 |
+
print("Test 1 : échec")
|
| 1655 |
+
if c == 1 :
|
| 1656 |
+
print("OK")
|
| 1657 |
+
else :
|
| 1658 |
+
print("KO")
|
| 1659 |
+
;;;
|
| 1660 |
recherche dichotomique (N2)
|
| 1661 |
;;;
|
| 1662 |
Écrire une fonction dichotomie qui prend en paramètre un tableau tab d'entiers triés et un entier n. Cette fonction renvoie True si n est présent dans le tableau et False dans le cas contraire.
|
|
|
|
| 1683 |
else :
|
| 1684 |
print("KO")
|
| 1685 |
;;;
|
| 1686 |
+
parcours infixe d'un arbre binaire (N3 T)
|
| 1687 |
+
;;;
|
| 1688 |
+
Écrire une fonction parcours_infixe qui prend en paramètre une instance de la classe arbre T et renvoie un tableau (de type list) contenant les valeurs des noeuds de l'arbre T classés dans un ordre compatible avec un parcours infixe de l'arbre T.
|
| 1689 |
+
La classe Arbre possède 3 méthodes :
|
| 1690 |
+
- get_gauche() renvoie l'arbre gauche
|
| 1691 |
+
- get_droit() renvoie l'arbre droit
|
| 1692 |
+
- get_valeur() renvoie la valeur du noeud
|
| 1693 |
+
;;;
|
| 1694 |
+
class ArbreBinaire:
|
| 1695 |
+
def __init__(self, valeur):
|
| 1696 |
+
self.valeur = valeur
|
| 1697 |
+
self.enfant_gauche = None
|
| 1698 |
+
self.enfant_droit = None
|
| 1699 |
+
def insert_gauche(self, valeur):
|
| 1700 |
+
if self.enfant_gauche == None:
|
| 1701 |
+
self.enfant_gauche = ArbreBinaire(valeur)
|
| 1702 |
+
else:
|
| 1703 |
+
new_node = ArbreBinaire(valeur)
|
| 1704 |
+
new_node.enfant_gauche = self.enfant_gauche
|
| 1705 |
+
self.enfant_gauche = new_node
|
| 1706 |
+
def insert_droit(self, valeur):
|
| 1707 |
+
if self.enfant_droit == None:
|
| 1708 |
+
self.enfant_droit = ArbreBinaire(valeur)
|
| 1709 |
+
else:
|
| 1710 |
+
new_node = ArbreBinaire(valeur)
|
| 1711 |
+
new_node.enfant_droit = self.enfant_droit
|
| 1712 |
+
self.enfant_droit = new_node
|
| 1713 |
+
def get_valeur(self):
|
| 1714 |
+
return self.valeur
|
| 1715 |
+
def get_gauche(self):
|
| 1716 |
+
return self.enfant_gauche
|
| 1717 |
+
def get_droit(self):
|
| 1718 |
+
return self.enfant_droit
|
| 1719 |
+
racine = ArbreBinaire('A')
|
| 1720 |
+
racine.insert_gauche('B')
|
| 1721 |
+
racine.insert_droit('F')
|
| 1722 |
+
|
| 1723 |
+
b_node = racine.get_gauche()
|
| 1724 |
+
b_node.insert_gauche('C')
|
| 1725 |
+
b_node.insert_droit('D')
|
| 1726 |
+
|
| 1727 |
+
f_node = racine.get_droit()
|
| 1728 |
+
f_node.insert_gauche('G')
|
| 1729 |
+
f_node.insert_droit('H')
|
| 1730 |
+
|
| 1731 |
+
c_node = b_node.get_gauche()
|
| 1732 |
+
c_node.insert_droit('E')
|
| 1733 |
+
|
| 1734 |
+
g_node = f_node.get_gauche()
|
| 1735 |
+
g_node.insert_gauche('I')
|
| 1736 |
+
|
| 1737 |
+
h_node = f_node.get_droit()
|
| 1738 |
+
h_node.insert_droit('J')
|
| 1739 |
+
c = 0
|
| 1740 |
+
if parcours_infixe(racine) == ['C', 'E', 'B', 'D', 'A', 'I', 'G', 'F', 'H', 'J']:
|
| 1741 |
+
print("Test 1 : OK")
|
| 1742 |
+
c += 1
|
| 1743 |
+
else :
|
| 1744 |
+
print("Test 1 : échec")
|
| 1745 |
+
if c == 1 :
|
| 1746 |
+
print("OK")
|
| 1747 |
+
else :
|
| 1748 |
+
print("KO")
|
| 1749 |
+
;;;
|
| 1750 |
palindrome (N3)
|
| 1751 |
;;;
|
| 1752 |
Un mot palindrome peut se lire de la même façon de gauche à droite ou de droite à gauche : kayak, radar, et non sont des mots palindromes.
|
|
|
|
| 1827 |
h_node = f_node.get_droit()
|
| 1828 |
h_node.insert_droit('J')
|
| 1829 |
c = 0
|
| 1830 |
+
if hauteur(racine) == 4:
|
| 1831 |
+
print("Test 1 : OK")
|
| 1832 |
+
c += 1
|
| 1833 |
+
else :
|
| 1834 |
+
print("Test 1 : échec")
|
| 1835 |
+
if c == 1 :
|
| 1836 |
+
print("OK")
|
| 1837 |
+
else :
|
| 1838 |
+
print("KO")
|
| 1839 |
+
;;;
|
| 1840 |
+
hauteur d'un arbre binaire (N2 T)
|
| 1841 |
+
;;;
|
| 1842 |
+
Écrire une fonction hauteur qui prend en paramètre une instance de la classe arbre T et renvoie la hauteur de l'arbre T.
|
| 1843 |
+
La classe Arbre possède 3 méthodes :
|
| 1844 |
+
- get_gauche() renvoie l'arbre gauche
|
| 1845 |
+
- get_droit() renvoie l'arbre droit
|
| 1846 |
+
- get_valeur() renvoie la valeur du noeud
|
| 1847 |
+
;;;
|
| 1848 |
+
class ArbreBinaire:
|
| 1849 |
+
def __init__(self, valeur):
|
| 1850 |
+
self.valeur = valeur
|
| 1851 |
+
self.enfant_gauche = None
|
| 1852 |
+
self.enfant_droit = None
|
| 1853 |
+
def insert_gauche(self, valeur):
|
| 1854 |
+
if self.enfant_gauche == None:
|
| 1855 |
+
self.enfant_gauche = ArbreBinaire(valeur)
|
| 1856 |
+
else:
|
| 1857 |
+
new_node = ArbreBinaire(valeur)
|
| 1858 |
+
new_node.enfant_gauche = self.enfant_gauche
|
| 1859 |
+
self.enfant_gauche = new_node
|
| 1860 |
+
def insert_droit(self, valeur):
|
| 1861 |
+
if self.enfant_droit == None:
|
| 1862 |
+
self.enfant_droit = ArbreBinaire(valeur)
|
| 1863 |
+
else:
|
| 1864 |
+
new_node = ArbreBinaire(valeur)
|
| 1865 |
+
new_node.enfant_droit = self.enfant_droit
|
| 1866 |
+
self.enfant_droit = new_node
|
| 1867 |
+
def get_valeur(self):
|
| 1868 |
+
return self.valeur
|
| 1869 |
+
def get_gauche(self):
|
| 1870 |
+
return self.enfant_gauche
|
| 1871 |
+
def get_droit(self):
|
| 1872 |
+
return self.enfant_droit
|
| 1873 |
+
racine = ArbreBinaire('A')
|
| 1874 |
+
racine.insert_gauche('B')
|
| 1875 |
+
racine.insert_droit('F')
|
| 1876 |
+
|
| 1877 |
+
b_node = racine.get_gauche()
|
| 1878 |
+
b_node.insert_gauche('C')
|
| 1879 |
+
b_node.insert_droit('D')
|
| 1880 |
+
|
| 1881 |
+
f_node = racine.get_droit()
|
| 1882 |
+
f_node.insert_gauche('G')
|
| 1883 |
+
f_node.insert_droit('H')
|
| 1884 |
+
|
| 1885 |
+
c_node = b_node.get_gauche()
|
| 1886 |
+
c_node.insert_droit('E')
|
| 1887 |
+
|
| 1888 |
+
g_node = f_node.get_gauche()
|
| 1889 |
+
g_node.insert_gauche('I')
|
| 1890 |
+
|
| 1891 |
+
h_node = f_node.get_droit()
|
| 1892 |
+
h_node.insert_droit('J')
|
| 1893 |
+
c = 0
|
| 1894 |
+
if hauteur(racine) == 4:
|
| 1895 |
print("Test 1 : OK")
|
| 1896 |
c += 1
|
| 1897 |
else :
|
|
|
|
| 1901 |
else :
|
| 1902 |
print("KO")
|
| 1903 |
;;;
|
| 1904 |
+
|