trie
This commit is contained in:
16
arbol.hpp
Normal file
16
arbol.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
#include "fecha.hpp"
|
||||
#include "nodo.hpp"
|
||||
#include <iostream>
|
||||
|
||||
|
||||
class Arbol {
|
||||
private:
|
||||
Nodo* raiz;
|
||||
public:
|
||||
Arbol();
|
||||
~Arbol();
|
||||
void insertar();
|
||||
void last(int N);
|
||||
void date(Fecha f1, Fecha f2);
|
||||
}
|
||||
@@ -5,7 +5,8 @@ DiccionarioCuacs::DiccionarioCuacs(int m) {
|
||||
this -> tabla = th;
|
||||
}
|
||||
void DiccionarioCuacs::insertar(Cuac nuevo) {
|
||||
tabla.insertar(nuevo);
|
||||
Cuac *ref = tabla.insertar(nuevo);
|
||||
arbol.insertar(ref);
|
||||
}
|
||||
|
||||
void DiccionarioCuacs::follow(string nombre){
|
||||
|
||||
@@ -9,6 +9,7 @@ using namespace std;
|
||||
class DiccionarioCuacs {
|
||||
private:
|
||||
TablaHash tabla;
|
||||
Arbol arbol;
|
||||
public:
|
||||
DiccionarioCuacs(int m);
|
||||
~DiccionarioCuacs();
|
||||
|
||||
2
main.cpp
2
main.cpp
@@ -10,7 +10,7 @@ using namespace std;
|
||||
// el número de cubetas tiene que cumplir B = 4r + 3 para todo r en N
|
||||
// usamos 20003 porque queda cerca de 20000
|
||||
// hay que redimensionar dinámicamente
|
||||
DiccionarioCuacs dic = DiccionarioCuacs(5000);
|
||||
DiccionarioCuacs dic = DiccionarioCuacs(1000);
|
||||
|
||||
void procesar_pcuac() {
|
||||
Cuac nuevo;
|
||||
|
||||
22
nodo.cpp
Normal file
22
nodo.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#include "nodo.hpp"
|
||||
|
||||
Nodo::Nodo(){
|
||||
sig = nullptr;
|
||||
ptr = nullptr;
|
||||
}
|
||||
Nodo::~Nodo() {
|
||||
delete sig;
|
||||
delete ptr;
|
||||
}
|
||||
|
||||
Nodo* consulta(char letra);
|
||||
void inserta(char l);
|
||||
bool HayMarca();
|
||||
void PonerMarca();
|
||||
void PonerEnLista(Cuac *ref) {
|
||||
|
||||
}
|
||||
list<Cuac*> getLista() {
|
||||
return lista;
|
||||
}
|
||||
|
||||
24
nodo.hpp
Normal file
24
nodo.hpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
#include "fecha.hpp"
|
||||
#include "cuac.hpp"
|
||||
#include <list>
|
||||
#define TAM 11
|
||||
|
||||
class Nodo {
|
||||
private:
|
||||
char car;
|
||||
Nodo *sig, *ptr;
|
||||
Fecha f;
|
||||
list<Cuac*> lista;
|
||||
|
||||
public:
|
||||
Nodo();
|
||||
~Nodo();
|
||||
Nodo* consulta(char letra);
|
||||
void inserta(char l);
|
||||
bool HayMarca();
|
||||
void PonerMarca();
|
||||
void PonerEnLista(Cuac *ref);
|
||||
list<Cuac*> getLista();
|
||||
};
|
||||
@@ -40,12 +40,7 @@ void TablaHash::consultar(string clave) {
|
||||
|
||||
}
|
||||
|
||||
// probamos suma posicional
|
||||
// 19s
|
||||
// probamos suma posicional por trozos
|
||||
// ruina
|
||||
// es disp. abierta, no necesita redispersión
|
||||
// 19s a superar
|
||||
// suma posicional
|
||||
unsigned int TablaHash::h(string clave) {
|
||||
unsigned int res = 0;
|
||||
for (int i = 0; i < (int) clave.length(); i++) {
|
||||
|
||||
Reference in New Issue
Block a user