Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Matrici dinamiche

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    Matrici dinamiche

    Io ho bisogno di una struttura dati che permetta di memorizzare due colonne di stringhe che però sia dinamica (nel senso che per aggiungere un nuovo elemento nn devo riallocare con lunghezza+1). I dati di una riga sono collegati

    Come ad esempio che ne so: uno stato con la sua capitale

    ----------------------
    italia | roma
    ----------------------
    francia | parigi
    ----------------------
    inghilterra| londra
    ----------------------


    e via così

    in modo che possa fare una ricerca nel primo campo e possa risalire al secondo campo in base alla posizione

    Ad esempio:


    int n = BinarySearch(vettore,"italia");
    System.out.println("La capitale dell'italia è " + vettore.secondocampo(n));

    Spero si capisca con l'esempio.....

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Matrici dinamiche

    Originariamente inviato da Pegasys
    Come ad esempio che ne so: uno stato con la sua capitale

    ----------------------
    italia | roma
    ----------------------
    francia | parigi
    ----------------------
    inghilterra| londra
    ----------------------


    e via così

    in modo che possa fare una ricerca nel primo campo e possa risalire al secondo campo in base alla posizione
    Stando a quanto hai appena detto, hai una associazione stato -> capitale e cerchi sempre in base allo stato. La soluzione più ovvia è usare una Map.

    Originariamente inviato da Pegasys
    int n = BinarySearch(vettore,"italia");
    System.out.println("La capitale dell'italia è " + vettore.secondocampo(n));
    Una ricerca con algoritmo "binary search" si può fare solo se l'insieme di dati è un array o una collezione basata su indice ed già ordinata.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Il binary search l'ho usato giusto per far capire.

    Map sarebbe il nome esatto della classe? Così mi informo.

    Cmq a parte l'esempio concettualmente ho una struttura dati formata da due colonne stringhe e n righe.
    Devo fare una ricerca sulla prima colonna e accedere al dato della seconda colonna in base alla riga fornita dalla ricerca.

    E per riempirla avere un comando add per non riallocare tutte le volte

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Pegasys
    Map sarebbe il nome esatto della classe? Così mi informo.

    Cmq a parte l'esempio concettualmente ho una struttura dati formata da due colonne stringhe e n righe.
    Devo fare una ricerca sulla prima colonna e accedere al dato della seconda colonna in base alla riga fornita dalla ricerca.

    E per riempirla avere un comando add per non riallocare tutte le volte
    Deduco che non conosci o conosci poco il "collections framework".

    --> http://java.sun.com/docs/books/tutor...ons/index.html
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Non ci sono le struct come nel C?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Pegasys
    Non ci sono le struct come nel C?
    Una struct del C può contenere un insieme eterogeneo di dati. Una classe Java può contenere un insieme eterogeneo di dati.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    Re: Re: Matrici dinamiche

    Una ricerca con algoritmo "binary search" si può fare solo se l'insieme di dati è un array o una collezione basata su indice ed già ordinata.
    Una domanda sul BinarySearch.

    Ad esempio, se un vettore di stringhe è fatto da

    ---------
    uno
    due
    tre
    quattro
    cinque
    ---------

    1) La funzione ricerca lo stringa esatta o se è contenuta? (esempio se cerco "att" mi ritorna la posizione di "quattro" o mi dice che non esiste)
    2) Avendo ordinato il vettore in ordine alfabetico parte dall'alto a cercare no?

    Se ad esempio nel vettore c'è dentro

    c
    ci
    cia
    ciao

    e cerco "c", mi restituisce la prima riga perchè trova 'c'?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Matrici dinamiche

    Originariamente inviato da Pegasys
    1) La funzione ricerca lo stringa esatta o se è contenuta? (esempio se cerco "att" mi ritorna la posizione di "quattro" o mi dice che non esiste)
    In Java la comparazione degli oggetti si basa su Comparable/Comparator. Per String (che implementa Comparable) la comparazione è per "intero" sulla stringa.

    Originariamente inviato da Pegasys
    2) Avendo ordinato il vettore in ordine alfabetico parte dall'alto a cercare no?
    Ok, non ti è chiaro cosa è un "binary search".
    --> http://it.wikipedia.org/wiki/Ricerca_dicotomica
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    come posso fare una ricerca sul nome parziale partendo dall'alto?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Pegasys
    come posso fare una ricerca sul nome parziale partendo dall'alto?
    Se è un array di String, fai una iterazione sull'array e su ogni elemento usi indexOf() o contains() per vedere se contiene una certa stringa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.