Tree Datastructure Flashcards

1
Q

Como se le llama a un nodo que no tiene hijos?

A

Se le llama leaf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A que se le llama completed tree

A

Quiere decir que el tree puede o no tener dos hijos, pero en su ultimo nivel deben de terminar a la derecha, de lo contrario no se considera como completo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A que se le llama full tree

A

Se le llama tree lleno a que sus hijos o terminan en nada o terminan con dos hijos, es decir cualquier nodo no puede tener un solo hijo, debe tener dos o ninguno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A que se le llama perfect tree

A

Se le llama perfect tree a que es completed y full, es decir, tambien una propiedad de este es que su ultimo nivel es el mas grande, debe de cumplir la que la longitud sea 2 a la n -1, donde n es el numero de niveles, ejemplo si tenemos un tree de 3 niveles, deberiamos de decir 2x2x2 = 8 - 1 = 7, 7 son los nodos para que sea un perfect tree

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A que se le llama pre order traversal

A

De la familia de los depth-first, Se le llama asi al algoritmo que visita todo el tree de la siguiente manera para cada uno de sus nodos, esto por medio de recursion y un stack para ir imprimiendo, aqui root sera el primero que se imprimira

Visita el nodo actual
Visita el nodo de la izquierda
Visita el nodo de la derecha

Su complejidad en tiempo es O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A que se le llama in order traversal

A

De la familia de los depth-first, Se le llama asi al algoritmo que recorre el tree de la siguiente manera para cada uno de sus nodos, esto por medio de recursion y un stack para ir imprimiendo, aqui se imprimiran en orden acsencente

visita el nodo izquierda
visita el nodo actual
visita el nodo de la derecha

Su complejidad es de O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A que se le llama post order traversal

A

De la familia de los depth-first, Se le llama asi al algorimo que recorre el tree de la siguiente manera para cada uno de sus nodos, esto por medio de recursion y un stack para ir imprimiendo, aqui root sera el ultimo en imprimirse

Visita el nodo de la izquierda
Visita el nodo de la derecha
Visita el nodo actual

Su complejidad es de O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A que se le llama in level order traversal

A

De la familia de los breadth-first, Se le llama asi al algotimo que recorre por niveles, es decir hasta que no se terminen el nivel en donde estamos no nos movemos al que sigue, aqui se utiliza queue e iteracion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que es un binary tree

A

Es un tree que tiene la restriccion de que todos los elementos de la izquierda deben de ser menores que el nodo root y los de la derecha mayores con respecto a root, esto en todos sus niveles, la complejidad es de (log n) para insertar y para buscar, tambien debe de tener a lo mucho dos hijos, no mas, si tiene 3 por ejemplo se le considera terneary tree

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que es un heap

A

Es un tipo de tree que tiene ciertas caracteristicas, se conoce el heap max y el heap min, ambos se utilizan para priority queues y el min en root tiene al numero menor y el max al numero mayor en su root

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A que se refiere con que un tree este balanceado

A

No se pretende tener un perfect tree, simplemente se busca que este lo mas balanceado posible para garantizar complejidad de (log n) en su insercion y busqueda, algunas tecnicas son red black flag y AVL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como se representa un heap max o min

A

Un heap min o max se representa mediante un array

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Como se identifica a un nodo de la izquirda en un heap min

A

(2 * parentIndex) + 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como se identifica a un nodo de la derecha en un heap min

A

(2 * parentIndex) + 2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como se identifica a un parent sabiendo el indice uno de sus hijos?

A

(childenIdex - 1 ) /2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cuales son las operaciones que se pueden realizar en un heap min o max

A

peak - Solo nos muestra el valor del elemento con mayor prioridad (indice 0)
poll - Nos muestra y elemina el elemento con mayor prioridad, esto lo hace swapeando el primero con el ultimo y de ahi haciendo hepify down(comparando con hijos hasta que encuentra su lugar)
add - Siempre se agrega al final del heap y de apartir de ahi va haciendo heapifyUp hasta que encuentra su lugar

17
Q

Cuales son las propiedades de un heap, ya sea min o max

A

Los hijos de cada nodo deben ser mayores si es un heap min o menores si son un max heap

Cuando se agrega un elemento, siempre se hace en la ultima posicion y de ahi se hace heapifyUp hasta que queda acomodado, comparando ya sea si es mayor o menor dependiendo si es min o max

Cuando eliminamos un elemento, hacemos swap entre el primero y el ultimo elemento y despues hacemos heapifyDown hasta que se acomoda