コード例 #1
0
ファイル: model.py プロジェクト: nCaicedo789/Lab6_202010
def addYearTree(catalog, row):
    """
    Adiciona el libro al arbol anual key=original_publication_year
    """
    yearText = row['Start_Time']
    if row['Start_Time']:
        yearText = row['Start_Time'][0:row['Start_Time'].index(' ')]
    year = strToDate(yearText, '%Y-%m-%d')
    yearNode = tree.get(catalog['yearsTree'], year, greater)
    if yearNode:
        yearNode['count'] += 1
        sev = int(row['Severity'])
        yearNode['severity'][sev] += 1
        city = row['City']
        ratingCount = map.get(yearNode['ratingMap'], city, compareByKey)
        if ratingCount:
            ratingCount['Accidentes'] += 1
        else:
            ciudad = {'Ciudad': row['City'], 'Accidentes': 1}
            map.put(yearNode['ratingMap'], ciudad['Ciudad'], ciudad,
                    compareByKey)

        state = row['State']
        state_count = tree.get(yearNode['state'], state, greater)
        if state_count:
            state_count['Accidentes'] += 1
        else:
            estado = {'Estado': row['State'], 'Accidentes': 1}
            tree.put(yearNode['state'], estado['Estado'], estado, greater)
    else:
        yearNode = newYear(year, row)
        catalog['yearsTree'] = tree.put(catalog['yearsTree'], year, yearNode,
                                        greater)
コード例 #2
0
ファイル: model.py プロジェクト: nCaicedo789/Lab6_202010
def cambio_de_llaves_valor(catalog, fecha):
    fecha = strToDate(fecha, '%Y-%m-%d')
    años = tree.valueSet(catalog['yearsTree'])
    new_tree = tree.newMap()

    for i in range(1, lt.size(años)):
        elemento = lt.getElement(años, i)
        estados = tree.valueSet(elemento['state'])
        for x in range(1, lt.size(estados)):
            lt.getElement(estados, x)
            tree.put(new_tree, elemento['Accidentes'], elemento, greater)

    años['state'] = new_tree
コード例 #3
0
ファイル: test_rbt.py プロジェクト: JeOs714/Lab6_202010
 def test_rank(self):
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 90', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 20', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 60', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 10', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 40', self.comparekeys)
     self.assertEqual(omap.rank(tree, "L", self.greater), 4)
コード例 #4
0
ファイル: test_rbt.py プロジェクト: andresR0410/Lab4_202010-1
    def test_DisorderedRBT(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'E', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'C', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
コード例 #5
0
ファイル: test_rbt.py プロジェクト: JeOs714/Lab6_202010
 def test_valueRange(self):
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 90', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 20', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 60', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 10', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 40', self.comparekeys)
     kList = (omap.valueRange(tree, "A", "R", self.greater))
     print("\nRBT keys between R and X")
     print(kList)
コード例 #6
0
ファイル: model.py プロジェクト: susme2020/Lab4_202010
def addBookMap (catalog, row):
    """
    Adiciona libro al map con key=title
    """
    book = newBook(row)
    #catalog['booksTree'] = map.put(catalog['booksTree'], int(book['book_id']), book, greater)
    catalog['booksTree']  = map.put(catalog['booksTree'] , book['title'], book, greater)
コード例 #7
0
ファイル: model.py プロジェクト: susme2020/Lab4_202010
def DataDistributionByDate(catalog, tabla, row, dia_fecha):
    contiene_fecha = map.get(tabla, dia_fecha, greater)
    if contiene_fecha == None:
        datos = {"estados_accidentados": {}, "estado_mas_accidentado": None, "num_accidentes_estado_mas_accidentado": 0}
        # 4 Severidades posibles
        datos[1] = {"size":0, "data": hashmap.newMap(1613, maptype='CHAINING'), "num_accidentes_ciudad_mas_accidentada": 0, "ciudad_mas_accidentada": None, "num_ciudades_accidentadas": 0, "ciudades_accidentadas":[]}
        datos[2] = {"size":0, "data": hashmap.newMap(1613, maptype='CHAINING'), "num_accidentes_ciudad_mas_accidentada": 0, "ciudad_mas_accidentada": None, "num_ciudades_accidentadas": 0, "ciudades_accidentadas":[]}
        datos[3] = {"size":0, "data": hashmap.newMap(1613, maptype='CHAINING'), "num_accidentes_ciudad_mas_accidentada": 0, "ciudad_mas_accidentada": None, "num_ciudades_accidentadas": 0, "ciudades_accidentadas":[]}
        datos[4] = {"size":0, "data": hashmap.newMap(1613, maptype='CHAINING'), "num_accidentes_ciudad_mas_accidentada": 0, "ciudad_mas_accidentada": None, "num_ciudades_accidentadas": 0, "ciudades_accidentadas":[]}
        if datos["estados_accidentados"].get(row["State"]) == None:
            datos["estados_accidentados"][row["State"]] = 1
        else:
            datos["estados_accidentados"][row["State"]] += 1
        if datos["estados_accidentados"][row["State"]] > datos["num_accidentes_estado_mas_accidentado"]:
            datos["num_accidentes_estado_mas_accidentado"] = datos["estados_accidentados"][row["State"]]
            datos["estado_mas_accidentado"] = row["State"]
        catalog["accidentsByDate"] = map.put(catalog["accidentsByDate"], dia_fecha, {"size":0,"data":datos}, greater)
        contiene_fecha = map.get(catalog["accidentsByDate"], dia_fecha, greater)
    contiene_fecha["size"] += 1
    contiene_fecha["data"][int(row["Severity"])]["size"] += 1
    contiene_ciudad = hashmap.get(contiene_fecha["data"][int(row["Severity"])]["data"], row["City"], compareByKey)
    if contiene_ciudad == None:
        datos = {"nombre":row["City"], "accidentes":0}
        hashmap.put(contiene_fecha["data"][int(row["Severity"])]["data"], row["City"], datos, compareByKey)
        contiene_ciudad = hashmap.get(contiene_fecha["data"][int(row["Severity"])]["data"], row["City"], compareByKey)
        contiene_fecha["data"][int(row["Severity"])]["num_ciudades_accidentadas"] += 1
        contiene_fecha["data"][int(row["Severity"])]["ciudades_accidentadas"].append(row["City"])
    contiene_ciudad["value"]["accidentes"] += 1
    if contiene_ciudad["value"]["accidentes"] > contiene_fecha["data"][int(row["Severity"])]["num_accidentes_ciudad_mas_accidentada"]:
        contiene_fecha["data"][int(row["Severity"])]["num_accidentes_ciudad_mas_accidentada"] = contiene_ciudad["value"]["accidentes"]
        contiene_fecha["data"][int(row["Severity"])]["ciudad_mas_accidentada"] = contiene_ciudad["value"]["nombre"]
コード例 #8
0
ファイル: model.py プロジェクト: susme2020/Lab4_202010
def addAccidentMap (catalog, row):
    """
    Adiciona accidente al map y a la tabla hash
    """
    #catalog['booksTree'] = map.put(catalog['booksTree'], int(book['book_id']), book, greater)
    #catalog['booksTree']  = map.put(catalog['booksTree'] , book['title'], book, greater)
    
    #Se ingresa cada accidente a la tabla hash con un único valor/llave : su fecha exacta

    tabla = catalog["accidentsByDate"]
    tabla_todos = catalog["accidentsHash"]
    arbol = catalog["accidentsTree"]
    accident = newAccident(row)
    fecha = int(sacarfecha(accident["start_time"]))

    dia_fecha = int(((fecha-18000)//86400)-16801)
    DataDistributionByDate(catalog, tabla, row, dia_fecha)

    fecha_encontrada = True
    while fecha_encontrada:
        encontrado = map.contains(arbol, fecha, greater)
        if encontrado:
            fecha += 1
        else:
            catalog["accidentsTree"] = map.put(arbol, fecha, accident, greater)
            hashmap.put(tabla_todos, fecha, accident, greater)
            fecha_encontrada = False
コード例 #9
0
 def test_ceiling(self):
     """
     """
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 90', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 20', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 60', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 10', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 40', self.comparekeys)
     res = omap.ceiling(tree, 'G', self.comparekeys)
     self.assertEqual(res['key'], 'H')
コード例 #10
0
 def test_orderedData(self):
     """
     """
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
     self.assertEqual(omap.size(tree), 10)
     print(tree)
コード例 #11
0
    def test_height(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'E', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'C', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        self.assertEqual(omap.height(tree), 3)
コード例 #12
0
def addBookTree (catalog, row):
    """
    Adiciona libro al tree con key=title
    """
    book = newBook(row)
    #catalog['booksTitleTree'] = tree.put(catalog['booksTitleTree'], int(book['book_id']), book, greater)
    catalog['booksTitleTree']  = tree.put(catalog['booksTitleTree'] , book['title'], book, greater)
コード例 #13
0
ファイル: test_rbt.py プロジェクト: JeOs714/Lab6_202010
    def test_maxKey(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'E', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'C', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        print("\nRBT datos aleatorios")
        self.assertEqual(omap.max(tree)["key"], "X")
コード例 #14
0
    def test_RBT2(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'A', 'Title 50', self.comparestrkeys)
        tree = omap.put(tree, 'C', 'Title 70', self.comparestrkeys)
        tree = omap.put(tree, 'E', 'Title 30', self.comparestrkeys)
        tree = omap.put(tree, 'H', 'Title 80', self.comparestrkeys)
        tree = omap.put(tree, 'L', 'Title 80', self.comparestrkeys)
        tree = omap.put(tree, 'M', 'Title 30', self.comparestrkeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparestrkeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparestrkeys)
        tree = omap.put(tree, 'S', 'Title 30', self.comparestrkeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparestrkeys)
        print("\nRBT Ordenado")
        print(tree)
コード例 #15
0
    def test_DisorderedRBT(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'E', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'C', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        print("\nRBT datos aleatorios")
        self.assertEqual(omap.size(tree), 10)
コード例 #16
0
    def test_duplicatedData(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'S', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        print("\nRBT datos duplicados")
        self.assertEqual(omap.size(tree), 7)
コード例 #17
0
 def test_keys(self):
     """
     """
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 90', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 20', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 60', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 10', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 40', self.comparekeys)
     kList = omap.keys(tree, 'R', 'X', self.comparekeys)
     print("\nRBT keys between R and X")
     print(kList)
コード例 #18
0
ファイル: model.py プロジェクト: JeOs714/Lab5_202010
def addAccidentMap1(catalog, row):
    """
    Adiciona libro al map con key=title
    """
    accident = newAccident(row)
    #catalog['booksTree'] = map.put(catalog['booksTree'], int(book['book_id']), book, greater)
    catalog['AccidentsTree'] = tree.put(catalog['AccidentsTree'],
                                        accident['Time']["DateHI"], accident,
                                        greater)
コード例 #19
0
 def test_valueRange(self):
     """
     """
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 90', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 20', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 60', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 10', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 40', self.comparekeys)
     vList = omap.valueRange(tree, 'M', 'W', self.comparekeys)
     size = lt.size(vList)
     self.assertEqual((size), 4)
     print("\nValores entre M y W")
     print(vList)
コード例 #20
0
def addDateTree (catalog, row):
    """
    Adiciona el libro al arbol anual key=original_publication_year
    """
    DateText= row['Start_Time']     
    DateText = DateText[0:10]  
    date = strToDate(DateText,'%Y-%m-%d')
    dateNode = tree.get(catalog['dateTree'], date, greater)
    if dateNode:
        city = row['City']
        CityCount = map.get(dateNode['cityMap'], city, compareByKey)
        if  CityCount:
            CityCount+=1
            map.put(dateNode['cityMap'], city, CityCount, compareByKey)
        else:
            map.put(dateNode['cityMap'], city, 1, compareByKey)
    else:
        dateNode = newDate(date,row)
        tree.put(catalog['dateTree'],date,dateNode,greater)
コード例 #21
0
def Add_map_tree(catalogo, row):
    city_zipc = row['zip_code']
    lista_zip = city_zipc.split()
    city = lista_zip[2]
    city += lista_zip[3]

    formato = '%m/%d/%Y'
    fecha = strToDate(row['start_date'], formato)

    ciudad_arbol = map.get(catlog['map_city_req2'], city)
    if ciudad_arbol:
        arbol = tree.get(ciudad_arbol, fecha, compareByKey)
        if arbol:
            arbol['viajes'] += 1
        else:
            dic = {'date': fecha, 'viajes': 1}
            tree.put(ciudad_arbol, dic['date'], dic, compareByKey)
    else:
        value = tree.newMap()
        dic = {'date': fecha, 'viajes': 1}
        tree.put(value, dic['date'], dic, compareByKey)
        map.put(catalog['map_city_req2'], city, value)
コード例 #22
0
ファイル: model.py プロジェクト: nCaicedo789/Lab6_202010
def newYear(year, row):
    """
    Crea una nueva estructura para almacenar los libros por año 
    """
    yearNode = {
        "year": year,
        "ratingMap": None,
        "count": 1,
        'severity': None,
        'state': None
    }
    yearNode['severity'] = {1: 0, 2: 0, 3: 0, 4: 0}
    sev = int(row['Severity'])
    yearNode['severity'][sev] += 1
    yearNode['ratingMap'] = map.newMap(40009, maptype='PROBING')
    city = {'Ciudad': row['City'], 'Accidentes': 1}
    map.put(yearNode['ratingMap'], city['Ciudad'], city, compareByKey)

    yearNode['state'] = tree.newMap()
    estado = {'Estado': row['State'], 'Accidentes': 1}
    tree.put(yearNode['state'], estado['Estado'], estado, greater)
    return yearNode
コード例 #23
0
ファイル: model.py プロジェクト: JeOs714/Lab5_202010
def addAccidentDate(catalog, row):
    """
    Adiciona libro al map con key=title
    """
    #catalog['booksTree'] = map.put(catalog['booksTree'], int(book['book_id']), book, greater)
    Accidents = catalog['AccidentsTree']
    Exist = tree.get(Accidents, row["Start_Time"].split(" ")[0], greater)
    if Exist:
        lt.addLast(Exist['id'], row['ID'])
        Contador = row["Severity"]
        Nuevovalor = map.get(Exist["Severity"], Contador, compareByKey)
        if Nuevovalor:
            Nuevovalor += 1
            map.put(Exist["Severity"], Contador, Nuevovalor, compareByKey)
        else:
            map.put(Exist["Severity"], Contador, 1, compareByKey)
        tree.put(catalog['AccidentsTree'], row["Start_Time"].split(" ")[0],
                 Exist, greater)
        #director['sum_average_rating'] += float(row['vote_average'])
    else:
        Accident = newAccidentDate(catalog, row)
        catalog['AccidentsTree'] = tree.put(Accidents, Accident["Date"],
                                            Accident, greater)
コード例 #24
0
def addYearTree (catalog, row):
    """
    Adiciona el libro al arbol anual key=original_publication_year
    """
    yearText= row['original_publication_year']
    if row['original_publication_year']:
        yearText=row['original_publication_year'][0:row['original_publication_year'].index('.')]     
    year = strToDate(yearText,'%Y')
    yearNode = tree.get(catalog['yearsTree'] , year, greater)
    if yearNode:
        intRating = round(float(row['average_rating']))
        ratingCount = map.get(yearNode['ratingMap'], intRating, compareByKey)
        if  ratingCount:
            ratingCount+=1
            map.put(yearNode['ratingMap'], intRating, ratingCount, compareByKey)
        else:
            map.put(yearNode['ratingMap'], intRating, 1, compareByKey)
    else:
        yearNode = newYear(year,row)
        catalog['yearsTree']  = tree.put(catalog['yearsTree'] , year, yearNode, greater)
コード例 #25
0
def addYearTree (catalog, row):
    """
    Adiciona el libro al arbol anual key=original_publication_year
    """
    yearText= row['Start_Time']
    if row['Start_Time']:
        yearText=row['Start_Time']
        yearText.split(' ')   
        yearText= yearText[0]
    year = strToDate(yearText,'%Y-%m-%d')
    yearNode = tree.get(catalog['yearsTree'] , year, greater)
    if yearNode:
        intRating = round(float(row['Severity']))
        ratingCount = map.get(yearNode['ratingMap'], intRating, compareByKey)
        if  ratingCount:
            ratingCount+=1
            map.put(yearNode['ratingMap'], intRating, ratingCount, compareByKey)
        else:
            map.put(yearNode['ratingMap'], intRating, 1, compareByKey)
    else:
        yearNode = newYear(year,row)
        catalog['yearsTree']  = tree.put(catalog['yearsTree'] , year, yearNode, greater)
コード例 #26
0
ファイル: model.py プロジェクト: Lauraquiroga/Lab5_202010
def addDateTree(catalog, row):
    """
    Adiciona el accidente al arbol por día key=Start_Time
    """
    dateText = row['Start_Time']
    if row['Start_Time']:
        dateText = row['Start_Time'][0:row['Start_Time'].index(' ')]
    date = strToDate(dateText, '%Y-%m-%d')
    dateNode = tree.get(catalog['dateTree'], date, greater)
    if dateNode:
        severity = int(row['Severity'])
        accidentCount = map.get(dateNode['severityMap'], severity,
                                compareByKey)
        if accidentCount:
            accidentCount += 1
            map.put(dateNode['severityMap'], severity, accidentCount,
                    compareByKey)
        else:
            map.put(dateNode['severityMap'], severity, 1, compareByKey)
    else:
        dateNode = newDate(date, row)
        catalog['dateTree'] = tree.put(catalog['dateTree'], date, dateNode,
                                       greater)
コード例 #27
0
ファイル: test_bst.py プロジェクト: andresR0410/Reto4_202010
    def test_BSTCeiling(self):
        """
        """
        tree = bst.newMap('BST')
        self.assertTrue(bst.isEmpty(tree))
        bst.put(tree, '50', 'Title 50', self.comparekeys)
        bst.put(tree, '70', 'Title 70', self.comparekeys)
        bst.put(tree, '30', 'Title 30', self.comparekeys)
        bst.put(tree, '80', 'Title 80', self.comparekeys)
        bst.put(tree, '60', 'Title 60', self.comparekeys)
        bst.put(tree, '40', 'Title 40', self.comparekeys)
        bst.put(tree, '20', 'Title 20', self.comparekeys)
        bst.put(tree, '10', 'Title 10', self.comparekeys)
        bst.put(tree, '25', 'Title 6', self.comparekeys)
        bst.put(tree, '6', 'Title 3', self.comparekeys)
        bst.put(tree, '12', 'Title 12', self.comparekeys)
        bst.put(tree, '7', 'Title 7', self.comparekeys)
        bst.put(tree, '28', 'Title 28', self.comparekeys)

        node = bst.ceiling(tree, '29', self.comparekeys)
        self.assertEqual(node['key'], '30')

        node = bst.ceiling(tree, '28', self.comparekeys)
        self.assertEqual(node['key'], '28')

        node = bst.ceiling(tree, '30', self.comparekeys)
        self.assertEqual(node['key'], '30')

        node = bst.ceiling(tree, '72', self.comparekeys)
        self.assertEqual(node['key'], '80')
コード例 #28
0
ファイル: test_bst.py プロジェクト: andresR0410/Reto4_202010
    def test_BSTRemove(self):
        """
        """
        tree = bst.newMap('BST')
        self.assertTrue(bst.isEmpty(tree))
        bst.put(tree, '50', 'Title 50', self.comparekeys)
        bst.put(tree, '70', 'Title 70', self.comparekeys)
        bst.put(tree, '30', 'Title 30', self.comparekeys)
        bst.put(tree, '80', 'Title 80', self.comparekeys)
        bst.put(tree, '60', 'Title 60', self.comparekeys)
        bst.put(tree, '40', 'Title 40', self.comparekeys)
        bst.put(tree, '20', 'Title 20', self.comparekeys)
        bst.put(tree, '10', 'Title 10', self.comparekeys)
        bst.put(tree, '25', 'Title 6', self.comparekeys)
        bst.put(tree, '6', 'Title 3', self.comparekeys)
        bst.put(tree, '12', 'Title 12', self.comparekeys)
        bst.put(tree, '7', 'Title 7', self.comparekeys)
        bst.put(tree, '28', 'Title 28', self.comparekeys)

        bst.remove(tree, '20', self.comparekeys)
        self.assertIsNone(bst.get(tree, '20', self.comparekeys))
コード例 #29
0
ファイル: test_bst.py プロジェクト: andresR0410/Reto4_202010
 def test_DisorderedBST(self):
     """
     """
     tree = bst.newMap('BST')
     self.assertTrue(bst.isEmpty(tree))
     bst.put(tree, '50', 'Title 50', self.comparekeys)
     bst.put(tree, '70', 'Title 70', self.comparekeys)
     bst.put(tree, '30', 'Title 30', self.comparekeys)
     bst.put(tree, '80', 'Title 80', self.comparekeys)
     bst.put(tree, '60', 'Title 60', self.comparekeys)
     bst.put(tree, '40', 'Title 40', self.comparekeys)
     bst.put(tree, '20', 'Title 20', self.comparekeys)
     bst.put(tree, '10', 'Title 10', self.comparekeys)
     bst.put(tree, '25', 'Title 6', self.comparekeys)
     bst.put(tree, '6', 'Title 3', self.comparekeys)
     bst.put(tree, '12', 'Title 12', self.comparekeys)
     bst.put(tree, '7', 'Title 7', self.comparekeys)
     bst.put(tree, '28', 'Title 28', self.comparekeys)
     self.assertTrue(bst.contains(tree, '6', self.comparekeys))
     self.assertFalse(bst.contains(tree, '16', self.comparekeys))
     self.assertEqual(bst.min(tree)['key'], '6')
     self.assertEqual(bst.max(tree)['key'], '80')
     bst.deleteMin(tree)
     self.assertEqual(bst.min(tree)['key'], '7')
     bst.deleteMin(tree)
     self.assertEqual(bst.min(tree)['key'], '10')
     bst.deleteMax(tree)
     self.assertEqual(bst.max(tree)['key'], '70')
     bst.deleteMax(tree)
     self.assertEqual(bst.max(tree)['key'], '60')
コード例 #30
0
ファイル: test_bst.py プロジェクト: andresR0410/Reto4_202010
    def test_BSTValueSet(self):
        """
        """
        print('Test value')
        tree = bst.newMap('BST')
        self.assertTrue(bst.isEmpty(tree))
        bst.put(tree, '50', 'Title 50', self.comparekeys)
        bst.put(tree, '70', 'Title 70', self.comparekeys)
        bst.put(tree, '30', 'Title 30', self.comparekeys)
        bst.put(tree, '80', 'Title 80', self.comparekeys)
        bst.put(tree, '60', 'Title 60', self.comparekeys)
        bst.put(tree, '40', 'Title 40', self.comparekeys)
        bst.put(tree, '20', 'Title 20', self.comparekeys)
        bst.put(tree, '10', 'Title 10', self.comparekeys)
        bst.put(tree, '25', 'Title 25', self.comparekeys)
        bst.put(tree, '6', 'Title 6', self.comparekeys)
        bst.put(tree, '12', 'Title 12', self.comparekeys)
        bst.put(tree, '7', 'Title 7', self.comparekeys)
        bst.put(tree, '28', 'Title 28', self.comparekeys)

        lt = bst.valueSet(tree)

        print(lt)