1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Percorrer Vector Java

Discussão em 'Programação' iniciada por jahred, 21 de Abril de 2008. (Respostas: 5; Visualizações: 2570)

  1. jahred

    jahred Power Member

    Boas!
    O meu objectivo é, em Java, percorrer um vector de Tarefas (da classe tarefa) do fim para o início, mas sem tornar o algoritmo quadrático, ou seja, sem usar "for (int i=tarefas.size-1 ; i>=0;i--)...".
    Do início para o fim seria qualquer coisa como "for (Tarefa a : tarefas) ...", agora o que eu queria era o inverso! Obrigado por qq ajuda! cumprimentos
     
  2. andrepadez

    andrepadez Power Member

    Confesso a minha ignorância neste caso, não te sei resolver o problema.

    No entanto, qual o problema do for (quadrático) que exemplificaste?
     
  3. jahred

    jahred Power Member

    é que o prof liga muito à eficiencia e rapidez do projecto, e desaconselhou toda a gente a não usar for(i=0....) senão :rcarton:
     
  4. Ou tu não te explicaste bem ou eu percebi mal. Se só tiveres um ciclo o algoritmo é linear, só é quadrático se tiveres dois ciclos encadeados. Explica melhor a situação.
     
  5. arkannis

    arkannis Power Member

    Exacto, esse ciclo que puseste é O(n). Não é quadratico.

    1) for(int i = 0 ; i < tarefas.size ; i++) {
    Tarefa t = tarefas;
    }

    2) for(Tarefa t : tarefas)

    O primeiro não é mais eficiente que o segundo, têm a mesma eficácia, a unica diferença é que o segundo usa uma notaçao mais "moderna" e simples (java >= 1.5)
    *Isto quando é para vectores, porque quando é para listas ou estruturas de dados semelhantes, a eficácia já é bem diferente*

    Como deves imaginar, percorrer de trás para a frente custa o mesmo que percorrer de frente para trás, portanto o ciclo for (int i=tarefas.size-1 ; i>=0;i--) é na mesma linear.
     
    Última edição: 21 de Abril de 2008
  6. theforbidden1

    theforbidden1 Banido


    Pois claro se estais a aprender a analise da complexidade é claro que liga.

    O teu problema é que nem sabes o que queres, ou pelo menos te sabes explicar minimamente em condições.

    Mas a culpa de vocês não saberem resolver o exercício é dp vosso professor que é cromo e crente ao esperar que vocês apareçam com a solução sozinhos

    O que tu queres é um algoritmo de pesquisa logarítmica, agora é só ires ao Google e pesquisar...
     

Partilhar esta Página