Newsgroup: it.comp.programmare
Titolo: Strutture dati

Molte attività umane sono rappresentate per mezzo dei db
relazionali...gestione attività commerciali, anagrafiche soggetti,
catalogazione oggetti...quali sono invece le problematiche reali che
sono alla base dell'utilizzo delle strutture dati? Qualche esempio
potrebbe essermi utile. Grazie.

Babel ha scritto:

Innanzi tutto una battuta (ma è anche vero) l'implementazione dei db 
relazionali!
Poi, per esempio, le code dei processi in attesa nel sistema operativo 
che usi, probabilmente è implementata utilizzando un heap.
La mappa del tuo navigatore GPS, probabilmente è un grafo (alquanto 
grosso e complicato).
E poi, per scenderee a livello di piccole applicazioni, a volte non è 
necessario e neanche conveniente ricorrere ad un db quindi si usano 
direttamente strutture più semplici eprobabilmente efficienti anche se 
meno versatili di un db.
Oranon me ne vengono altri ma, ovunque ci sia un programma c'è una 
struttura dati più o meno complessa utile ad organizzare i suoi dati.
Saluti,
Giuseppe

Babel ha scritto:

Non ho capito la domanda.
Ho letto la risposta di giuseppe, ma continuo a non capire la domanda.
Che cosa intendi esattamente per "problematiche reali" per "l'utilizzo
delle strutture dati" ?
Perche' rileggendo quella domanda, una risposta che mi viene e' che
l'utente si dimentica la password dell'account di accesso ai dati, che e'
una problematica reale.
Ma non c'entra nulla col tuo preambolo, e ancora meno con la risposta che
ti ha dato giuseppe.
Che cosa vuoi sapere esattamente?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it



gestione attività commerciali (lista collegata), anagrafiche soggetti 
(dizionario) catalogazione oggetti (albero). Puoi rimescolare a scelta 
gli elementi qui sopra, avrebbe ancora senso :) 
Sospetto che tu non abbia chiaro il concetto di struttura dati, o stia 
usando il termine per qualcosa che non si chiama così.
-- 
goto 10: 
http://www.goto10.it
blog it: 
http://riffraff.blogsome.com
blog en: 
http://www.riffraff.info

 delle strutture dati" ?
Gli hanno fatto il corso al primo anno di università e non ha capito a
'cosa gli serve'. Il che indica una mancata comprensione del perchè si è
in università, oltre che dei contenuti del corso.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 usando il termine per qualcosa che non si chiama così.
Per struttura dati (mi rifaccio a una definizione lessicale) intendo
"un modo sistematico di rappresentare e organizzare i dati". Cmq per
evitare fraintendimenti o equivoci forse è meglio partire dalla base
con 3 semplicissime domande:
1-Cos'è una struttura dati?
2-Cosa la differenzia da un db relazionale?
3-In quali contesti/procedure informatiche è più utile utilizzare le
strutture dati (rispetto a un db relazionale)?

 in università, oltre che dei contenuti del corso.
Complimenti, Watson, tu sì che capisci le cose al volo.

 strutture dati (rispetto a un db relazionale)?
Questa domanda non ha senso, poiche' sono due cose diverse....il piu' delle 
volte i dati in un db vengono utilizzati dal programma in strutture dati 
differenti da come sono memorizzati: Esempio banale, il grafo e' una 
struttura ad albero, ma viene memorizzato come relazione tra nodo - nodo che 
segue - nodo che precede in forma tabellare. Quando ci si lavora si 
ricostruisce l'albero
Tutto IMHO, ovviamente... 

 strutture dati (rispetto a un db relazionale)?
Un DB relazionale è solo uno di molti tipi di DB che è possibile usare.
Per esempio: le mappe di gioco di Quake 3 Arena e di quasi tutti i
giochi 3D "sparatutto" contengono dei database gerarchici (diversi dai
DB relazionali) a sola lettura in cui sono immagazzinate le descrizioni
(geometria e texture varie) degli oggetti e dei muri.
Le strutture dati (struct, record, liste, alberi ecc.) si usano
correntemente in tutti i programmi che siano un minimo complessi, e
contengono i dati di lavoro del programma. Risiedono in RAM e vengno
perse alla fine dell'esecuzione. Le basi di dati (appunto DATA BASE, da
cui DB) sono delle complesse strutture dati che raccolgono dati di
natura PERMANENTE (cioè devono essere mantenuti inalterati nel tempo a
prescindere dal programma) e risiedono su disco rigido o altro supporto
non volatile.
Entrambe queste regole hanno eccezioni: i grossi DB server copiano i
loro database in RAM per poter garantire un accesso più veloce
possibile, mentre i programmi, quando salvano i loro documenti su disco,
non fanno altro che salvare una serie di strutture dati temporanee, in
modo più o meno organizzato.
Questo se ho capito bene la tua terza domanda, che non era proprio
chiara-chiara... dovresti definire meglio "contesti/procedure informatiche".

 Non ho studiato all'università.
Allora almeno per questa volta ci si risparmierà il commento che i
professori di oggi non sanno più insegnare.

 strutture dati (rispetto a un db relazionale)?
Pensa a un programma di videoscrittura (come Word per Windows). Mentre 
scrivi il documento, i caratteri che scrivi vengono tenuti in una 
struttura dati, che si trova in memoria RAM. Se spegni il comnputer 
prima di aver salvato il documento, quando riaccendi il computer non 
puoi recuperare quello che hai scritto. Quando salvi il documento, tali 
caratteri vengono copiati sul disco in un database comunemente chiamato 
"file", dove rimangono anche dopo che hai salvato il documento e dove 
sono accessibili anche ad altri programmi.
Chiedo scusa agli informatici per l'eccessiva semplificazione.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 strutture dati (rispetto a un db relazionale)?
Ma che domanda e'?
La domanda deve essere: "in quali contesti e' piu' utile usare un db 
relazionale invece di qualcosa di piu' semplice"
e la risposta e': dipende dalla quantita' di dati che devi gestire e 
dalla tipologia di accesso agli stessi.
In certe situazioni un semplice file di testo e' molto piu' pratico di 
Oracle.
Ma in entrambi i casi c'e' a monte una struttura.
La struttura e' un concetto teorico, il contenitore dei dati e' una cosa 
pratica.