sexta-feira, 27 de outubro de 2017

Código para atividade 2

public class HelloWorld
{
  // arguments are passed using the text field below this editor
  public static void main(String[] args)
  {
    Comparador.inicio();
    for (int i=0;Comparador.menor (i,10);i++) {
      System.out.println (i);
    }
    if (Comparador.igual(0,33)) System.exit (0);
    Comparador.fim();
    Comparador.imprimeResultado();  }
}

public class Comparador
{
  static long tI, tF;
  static int nComp;
 
  Comparador () {
    tI=0;tF=0;nComp=0;
  }

  public static void reIniciaTempo() {
    tI=0;tF=0;
  }
  public static void reIniciaComp() {
    nComp=0;
  }
  public static boolean igual (int a, int b) {
    nComp++;
    return a==b;
  }
  public static boolean menor (int a, int b) {
    nComp++;
    return a<b;
  }

  public static void inicio () {
    tI=System.nanoTime();
  }
  public static void fim () {
    tF=System.nanoTime();
  }
  public static void imprimeResultado () {
    System.out.println ("Tempo transcorrido = " + (tF-tI));
    System.out.println ("Comparações efetuadas = " + nComp);
  }
}

sexta-feira, 20 de outubro de 2017

Interface para Atividade 1

O próximo passo é testar esta estrutura: medir tempos de inserção, remoção e busca, contar comparações, em conjuntos de dados pequenos e grandes, graficar, ajustar as escalas e verificar se o que se sabe na teoria é confirmado.

01 /** A classe que implementar esta interface deve ocultar sua estrutura interna.
02     A estrutura interna pode ser qualquer, assim como o funcionamento dos 
03     métodos. Assim, precisamos diferenciar elementos internos, que são os que 
04     você define para armazenar a informação e elementos externos, que são os
05     usados para passar informação, e que estão nos parâmetros e valores de
06     retorno dos métodos.
07     Para fins deste exercício, a estrutura interna deve ser uma tabela de 
08     hashing com solução de colisão por encadeamento. A função de hashing deve
09     ser encapsulada em método privado.
10 */
11 
12 interface Dicionario {
13 /** Cria um elemento interno, copia o que for necessário de 'o' que é
14     elemento externo para o elemento interno, insere o elemento interno na
15     estrutura interna.
16     */
17    public void insere (Object o);
18 /** Busca um elemento interno com base no elemento externo, caso encontre,
19     preenche o objeto externo com a informação e o retorna. Caso não
20     encontre, retorna null.
21     */
22    public Object busca (Object o);
23 /** Busca um elemento interno com base no elemento externo, caso encontre,
24     remove-o.
25     */
26    public void remove (Object o);
27 }
Java2html