---
# System prepended metadata

title: 'Construyendo Bitcoin: Árboles de Merkle'

---

# Construyendo Bitcoin: Árboles de Merkle

En esta actividad desarrollarás un árbol de Merkle.

## Actividad

Utiliza la siguiente definición de un nodo de un árbol para construir un árbol de Merkle. 

* Python:
```
class TreeNode:
     def __init__(self, val=0, left=None, right=None):
         self.val = val
         self.left = left
         self.right = right
```

* Java
```
public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode() {}
    TreeNode(int val) { this.val = val; }
    TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }
}
```
* C++

```
struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode() : val(0), left(nullptr), right(nullptr) {}
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
};
```

## Instrucciones de entrega

Sube tu código en Canvas. No olvides agregar la documentación necesaria para que pueda entender tu código y ejecutarlo.