def newAnalyzer(): analyzer = {'TaxiNum': None, 'TaxiPQ': None, 'ServicePQ': None, 'ServicePQ': None, 'PointsTree': None, 'AreaGraph': None} analyzer["TaxiNum"] = m.newMap(numelements=2000, maptype="PROBING", comparefunction=compareCompanies) analyzer['TaxiPQ'] = {'PQ': ipq.newIndexMinPQ(compareCompanies), 'Map': m.newMap(numelements=500, comparefunction=compareCompanies)} analyzer['ServicePQ'] = {'PQ': ipq.newIndexMinPQ(compareCompanies), 'Map': m.newMap(numelements=500, comparefunction=compareCompanies)} analyzer['PointsTree'] = om.newMap(omaptype='BST',comparefunction=compareDates) analyzer['AreaGraph'] = gr.newGraph(datastructure='ADJ_LIST', directed=True, size=1000, comparefunction = compareAreas) return analyzer
def iminpq(): iminpq = pq.newIndexMinPQ(greater) iminpq = pq.insert(iminpq, 'A', 23) iminpq = pq.insert(iminpq, 'B', 7) iminpq = pq.insert(iminpq, 'C', 30) iminpq = pq.insert(iminpq, 'D', 5) iminpq = pq.insert(iminpq, 'E', 15) return iminpq
def newAnalyzer(): bikes = { "Stations": None, "Trips": None, "grafo": None, 'paths': None, "table": None } bikes["grafo"] = gr.newGraph(datastructure="ADJ_LIST", directed=True, size=1000, comparefunction=compareStations) bikes["topsalida"] = iminpq.newIndexMinPQ(cmpfunction=cmpimin) bikes["topllegada"] = iminpq.newIndexMinPQ(cmpfunction=cmpimin) bikes["topuso"] = iminpq.newIndexMinPQ(cmpfunction=cmpimin) bikes["stationtree"] = om.newMap(omaptype='', comparefunction=comparebycoord) bikes["tablesalida"] = m.newMap(maptype='', comparefunction=compareIds) bikes["tablellegada"] = m.newMap(maptype='', comparefunction=compareIds) bikes["mayoressalida"] = m.newMap(maptype='', comparefunction=compareIds) bikes["mayoresllegada"] = m.newMap(maptype='', comparefunction=compareIds) bikes["names"] = m.newMap(maptype='', comparefunction=compareIds) bikes["BikesIDs"] = m.newMap(50000, maptype='PROBING', loadfactor=0.5, comparefunction=compareIds) bikes["ageVertexAHash"] = m.newMap(maptype='', comparefunction=compareIds) bikes["ageVertexBHash"] = m.newMap(maptype='', comparefunction=compareIds) bikes["stationVertexAHash"] = m.newMap(maptype='', comparefunction=compareIds) bikes["stationVertexBHash"] = m.newMap(maptype='', comparefunction=compareIds) bikes["ageTrips"] = m.newMap(maptype='', comparefunction=compareIds) bikes["agesA"] = lt.newList('SINGLE_LINKED') bikes["agesB"] = lt.newList('SINGLE_LINKED') return bikes
def initSearch(graph): """ Inicializa la estructura de busqueda y deja todos los arcos en infinito. Se inserta en la cola el vertice source Args: graph: El grafo a examinar source: El vertice fuente Returns: Estructura de busqueda inicializada Raises: Exception """ try: search = { 'edgeTo': None, 'distTo': None, 'marked': None, 'pq': None, 'mst': None } search['edgeTo'] = map.newMap(numelements=g.numVertices(graph), maptype='PROBING', comparefunction=graph['comparefunction']) search['distTo'] = map.newMap(numelements=g.numVertices(graph), maptype='PROBING', comparefunction=graph['comparefunction']) search['marked'] = map.newMap(numelements=g.numVertices(graph), maptype='PROBING', comparefunction=graph['comparefunction']) vertices = g.vertices(graph) for vert in lt.iterator(vertices): map.put(search['distTo'], vert, math.inf) map.put(search['marked'], vert, False) search['pq'] = pq.newIndexMinPQ(cmpfunction=graph['comparefunction']) search['mst'] = q.newQueue() return search except Exception as exp: error.reraise(exp, 'bellman:init')
def initSearch(graph, source): """ Inicializa la estructura de busqueda y deja todos los arcos en infinito. Se inserta en la cola indexada el vertice source Args: graph: El grafo a examinar source: El vertice fuente Returns: Estructura de busqueda inicializada Raises: Exception """ try: search = { 'source': source, 'visited': None, 'iminpq': None } search['visited'] = map.newMap(numelements=g.numVertices(graph), maptype='PROBING', comparefunction=graph['comparefunction'] ) vertices = g.vertices(graph) itvertices = it.newIterator(vertices) while (it.hasNext(itvertices)): vert = it.next(itvertices) map.put(search['visited'], vert, {'marked': False, 'edgeTo': None, 'distTo': math.inf} ) map.put(search['visited'], source, {'marked': True, 'edgeTo': None, 'distTo': 0} ) pq = iminpq.newIndexMinPQ( cmpfunction=graph['comparefunction'] ) search['iminpq'] = pq iminpq.insert(search['iminpq'], source, 0) return search except Exception as exp: error.reraise(exp, 'dks:init')