Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    ricerca Con tecnica binaria

    Salve ,sto cercando di scrivere un metodo per la ricerca binaria per le stringhe,secondo l'ordine lessicografico...mi da un po di problemi potete darmi una mano



    codice:
    
     static void RicercaConTecnicaBinaria(String riga,ArrayList<String> L){
    		 int inizio = 0;
    		 int fine =L.size();
    			
    	  while(inizio<=fine){
    		  int meta= (inizio+fine)/2;
    
    		  if(riga.compareTo(L.get(meta))==0 ){	 
    	         System.out.println("riga In comune"+ riga);
    	         return ;
    	      }
    
    		  else 
    			    if(riga.compareTo(L.get(meta))<0){
    			 		     fine=meta-1;
    			    }
    			    else{
    				     inizio=meta+1;
    			    }	    	    			            	
    	  }		      
    		System.out.println("elemento non trovato!!!!!!!!!!!!!!!!!");
        }

  2. #2
    Se non lo stai facendo per esercizio, allora sappi che ci sono implementazioni già fatte per la ricerca binaria su oggetti. In particolare, dato che la classe String implementa Comparable<String> puoi usare :

    codice:
    Collections.binarySearch(listaString, "una stringa da trovare");
    senza passare un Comparator alla funzione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.