Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    rompicapo informatico... si puo' risolvere?

    salve a tutti,
    ieri stavo pensando a come realizzare una funzionalita' di questo tipo (lo semplifico per andare subito al succo del problema):
    diciamo che un sito ha tanti iscritti, ogni iscritto indica i propri amici, e' possibile con un algoritmo generare i passaggi che legano un iscritto ad un altro?
    es semplice:
    A vuole sapere in che modo e' collegato a C (che magari non conosce)
    A e' amico di B, B e' amico di C => A e C sono collegati tramite B
    ma puo' anche essere che i passaggi siano molti di piu' o che addirittura A e C non siano collegati (ovviamente dipende da quanti utenti ha il sito)
    secondo voi e' un problema risolvibile con risorse non infinite?
    se si, come lo impostereste?

    ale

  2. #2
    con una funzione ricorsiva, come quelle che "scavano" le cartelle e le sotto-cartelle

  3. #3
    Originariamente inviato da optime
    con una funzione ricorsiva, come quelle che "scavano" le cartelle e le sotto-cartelle
    si ok la funzione ricorsiva... ma per db grossi (anche nell'ordine di 100.000 utenti) avrei bisogno di risorse non dico infinite ma quasi: non c'e' un albero semplice come root/cartella/cartella/file
    o sono io che la vedo piu' complicata di quella che e'?

  4. #4

  5. #5

  6. #6
    Originariamente inviato da optime
    che db usi?
    e' un problema teorico (non e' una cosa che devo realizzare...)
    comunque fai conto che ho oracle

  7. #7
    mi sembra un problema da teoria dei grafi e percorsi

  8. #8
    faccio conto che hai oracle o ce l'hai davvero? cmq, così come mssql, immagino che anche oracle abbia delle funzioni ricorsive. e 100.000 record non mi sembrano possano impensierire il re dei db

  9. #9
    dipene dal grafo teorico che le tue associazioni creano, tutto là. anche se 100.000 record per il re dei db non sono tanti, potrebbe essere che il lancio sbagliato di una funzione ricorsiva ti uccida tutto quanto perchè entra in loop. Il problema è dire: ho un grafo con dei rami, devo partire da un nodoA e vedere se c'è una strada che porti ad un nodoX. Li devi scegliere un modo per scartare rami inutili o pericolosi e arrivare nel breve tempo possibile al nodoX in questione. Ci sono vari algoritmi per risolvere questo problema. Ci potrebbero essere vari modi in oracle che il re di oracle (optime) può aiutarti a trovare

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    1. non sono il re di oracle
    2. se parti dal concetto che non fai una cosa perché puoi sbagliarla, allora non fai niente
    3. ma che solo io devo aiuta' la ggente? VVoVe:

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 © 2026 vBulletin Solutions, Inc. All rights reserved.