当前位置: 首页>>代码示例>>Python>>正文


Python Nodo.en_lista方法代码示例

本文整理汇总了Python中Nodo.Nodo.en_lista方法的典型用法代码示例。如果您正苦于以下问题:Python Nodo.en_lista方法的具体用法?Python Nodo.en_lista怎么用?Python Nodo.en_lista使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Nodo.Nodo的用法示例。


在下文中一共展示了Nodo.en_lista方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: buscar_solucion_bfs

# 需要导入模块: from Nodo import Nodo [as 别名]
# 或者: from Nodo.Nodo import en_lista [as 别名]
def buscar_solucion_bfs(conexiones, estado_inicial, solucion):
    solucionado = False
    nodos_visitados = []
    nodos_frontera = []
    nodoInicial = Nodo(estado_inicial)
    nodos_frontera.append(nodoInicial)
    while (not solucionado) and (len(nodos_frontera) != 0):
        nodo = nodos_frontera[0]
        #   extraer nodo y anadirlo a visitados
        nodos_visitados.append(nodos_frontera.pop(0))
        if (nodo.get_datos() == solucion):
            #   solucion encontrada
            solucionado = True
            return nodo
        else:
            #   expandir nodos hijos (ciudades con conexion)
            dato_nodo = nodo.get_datos()
            lista_hijos = []
            for un_hijo in conexiones[dato_nodo]:
                hijo = Nodo(un_hijo)
                lista_hijos.append(hijo)
                if (not hijo.en_lista(nodos_visitados)) and (not hijo.en_lista(nodos_frontera)):
                    nodos_frontera.append(hijo)
                
            nodo.set_hijos(lista_hijos)
开发者ID:KiiraGit,项目名称:Python,代码行数:27,代码来源:vuelos_bfs.py

示例2: buscar_solucion_BFS

# 需要导入模块: from Nodo import Nodo [as 别名]
# 或者: from Nodo.Nodo import en_lista [as 别名]
def buscar_solucion_BFS(estado_inicial, solucion):
    solucionado = False
    nodos_visitados = []
    nodos_frontera = []
    nodoInicial = Nodo(estado_inicial)
    nodos_frontera.append(nodoInicial)

    while (not solucionado) and (len(nodos_frontera) != 0):
        nodo = nodos_frontera.pop(0)
        # 	extraer nodo y anadirlo a visitados
        nodos_visitados.append(nodo)
        if nodo.get_datos() == solucion:
            # 	solucion encontrada
            solucionado = True
            return nodo
        else:
            # 	expandir nodos hijos
            dato_nodo = nodo.get_datos()

            # 	operador Izquierdo
            hijo = [dato_nodo[1], dato_nodo[0], dato_nodo[2], dato_nodo[3]]
            hijo_izquierdo = Nodo(hijo)
            if not hijo_izquierdo.en_lista(nodos_visitados) and not hijo_izquierdo.en_lista(nodos_frontera):
                nodos_frontera.append(hijo_izquierdo)

                # 	operador Central
            hijo = [dato_nodo[0], dato_nodo[2], dato_nodo[1], dato_nodo[3]]
            hijo_central = Nodo(hijo)
            if not hijo_central.en_lista(nodos_visitados) and not hijo_central.en_lista(nodos_frontera):
                nodos_frontera.append(hijo_central)

                # 	operador Derecho
            hijo = [dato_nodo[0], dato_nodo[1], dato_nodo[3], dato_nodo[2]]
            hijo_derecho = Nodo(hijo)
            if not hijo_derecho.en_lista(nodos_visitados) and not hijo_derecho.en_lista(nodos_frontera):
                nodos_frontera.append(hijo_derecho)

            nodo.set_hijos([hijo_izquierdo, hijo_central, hijo_derecho])
开发者ID:KiiraGit,项目名称:Python,代码行数:40,代码来源:puzlelineal_bfs.py


注:本文中的Nodo.Nodo.en_lista方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。