def barrido_por_nivel_huff(self): pendientes = Cola() pendientes.arribo(self) while (not pendientes.cola_vacia()): nodo = pendientes.atencion() print(nodo.info, nodo.frecuencia) if (nodo.izq is not None): pendientes.arribo(nodo.izq) if (nodo.der is not None): pendientes.arribo(nodo.der)
def barrido_por_nivel_huff(self): """Realiza el barrido por nivel del arbol con codigos de Huffman.""" pendientes = Cola() pendientes.arribo(self) while (not pendientes.cola_vacia()): nodo = pendientes.atencion() print(nodo.info, nodo.frecuencia) if (nodo.izq is not None): pendientes.arribo(nodo.izq) if (nodo.der is not None): pendientes.arribo(nodo.der)
def barrido_por_nivel(self): """Realiza el barrido por nivel del arbol.""" pendientes = Cola() pendientes.arribo(self) while (not pendientes.cola_vacia()): nodo = pendientes.atencion() print(nodo.info) if (nodo.izq is not None): pendientes.arribo(nodo.izq) if (nodo.der is not None): pendientes.arribo(nodo.der)
def ordenarPrioridad(cola): empleados = Cola() staff = Cola() gerente = Cola() while not cola.cola_vacia(): A = cola.atencion() if A[1] == 1: empleados.arribo(A) elif A[1] == 2: staff.arribo(A) elif A[1] == 3: gerente.arribo(A) while (not gerente.cola_vacia()): cola.arribo(gerente.atencion()) while (not staff.cola_vacia()): cola.arribo(staff.atencion()) while (not empleados.cola_vacia()): cola.arribo(empleados.atencion())
def cargar_descripcion(arbol): pendientes = Cola() pendientes.arribo(arbol) while (not pendientes.cola_vacia()): nodo = pendientes.atencion() print(nodo.info, nodo.datos) nodo.datos['Descripcion'] = input( 'Cargar descripcion de la criatura: ') if (nodo.izq is not None): pendientes.arribo(nodo.izq) if (nodo.der is not None): pendientes.arribo(nodo.der)
def ocurrencias(d): # 6 C = Cola() for i in range(0, 10): C.arribo(randint(0, 10)) cont = 0 while not C.cola_vacia(): if C.atencion() == d: cont += 1 if (cont == 0): print(d, " no aparece en la cola") else: print(d, " aparece ", cont, " veces en la cola")
def barrido_amplitud(self, ver_origen): """Barrido en amplitud del grafo.""" cola = Cola() while(ver_origen < self.tamanio()): vertice = self.inicio.obtener_elemento(ver_origen) if(not vertice['visitado']): vertice['visitado'] = True cola.arribo(vertice) while(not cola.cola_vacia()): nodo = cola.atencion() print(nodo['info'], nodo['data']) aristas = 0 while(aristas < nodo['aristas'].tamanio()): adyacente = nodo['aristas'].obtener_elemento(aristas) pos_vertice = self.buscar_vertice(adyacente['destino']) nuevo_vertice = self.inicio.obtener_elemento(pos_vertice) if(not nuevo_vertice['visitado']): nuevo_vertice['visitado'] = True cola.arribo(nuevo_vertice) aristas += 1 ver_origen += 1
while (not empleados.cola_vacia()): cola.arribo(empleados.atencion()) def imprimirDocumento(cola): print(cola.atencion()[0]) cargarDocumento(C) #Empleados cargarDocumento(C) #Empleados cargarDocumento(C) #Empleados cargarDocumento(C) #Staff cargarDocumento(C) #Staff cargarDocumento(C) #Gerente ordenarPrioridad(C) #Se ordena la cola por prioridad imprimirDocumento(C) #Se imprime el primer documento imprimirDocumento(C) #Se imprime el segundo documento cargarDocumento(C) #Se carga un documento de empleados cargarDocumento(C) #Se carga un documento de empleados cargarDocumento(C) #Se carga un documento de gerente ordenarPrioridad(C) #Se ordena la cola por prioridad while not C.cola_vacia(): # Se imprime toda la cola imprimirDocumento(C)
B.arribo(i) def barrido_Colas(A, B): print("Cola A:") for i in range(0, A.tamanio()): print(A.move_end()) print("Cola B:") for i in range(0, B.tamanio()): print(B.move_end()) cargar_colas(Cola_A, Cola_B) barrido_Colas(Cola_A, Cola_B) print("Colas Cargadas...") while not Cola_B.cola_vacia(): valorB = Cola_B.atencion() valorA = Cola_A.atencion() if (valorB >= valorA): Cola_A.arribo(valorA) Cola_A.arribo(valorB) print("Fin") barrido_Colas(Cola_A, Cola_B)