View Full Version : [c]Strutture:tabelle,cime,code
1-ho capito l'utilità e il possibile utilizzo delle tabelle ma non riesco proprio a capire che utilità può avere l'utilizzo di cime o code.
A me sembra uguale utilizzare le tabelle al posto delle cime o code.
Che vantaggi\differenze ha l'utilizzo di una cima o coda rispetto una tabella?
2-Non capisco il perchè dell'utilizzo di un buffer,cosa cambia se non lo si usa?
1-ho capito l'utilità e il possibile utilizzo delle tabelle ma non riesco proprio a capire che utilità può avere l'utilizzo di cime o code.
Che sono le cime adesso? :confused: Intendi gli stack forse? :confused: Mai sentita una terminologia simile... :confused:
Sono strutture dati elementari che sono la base di molti algoritmi. Vengono utilizzate in molte applicazioni, tra i quali i sistemi operativi e i compilatori. Anche una shell potrebbe aver bisogno di uno stack, per esempio. Un uso che mi viene in mente è una gestione semplice di un meccanismo di history, o di un semplice job scheduling. O possono essere la base per implementare altre strutture dati, come ad esempio gli heap min-max. Strutture dati che, a loro volta possono essere utilizzate per realizzare algoritmi come ad esempio l'heap sort.
A me sembra uguale utilizzare le tabelle al posto delle cime o code.
Che vantaggi\differenze ha l'utilizzo di una cima o coda rispetto una tabella?
Evidentemente non ti è chiaro l'uso che se ne fa di queste strutture. Le differenze risiedono sulle operazioni che possono essere implementate su tali strutture, nonchè sui tempi di esecuzione. Qualsiasi struttura dati può essere utilizzata bene o male in sostituzione di un'altra. Una cosa che influisce parecchio sulla scelta della struttura adeguata (oltre le operazioni che già ti ho detto) sono i tempi di esecuzione. Essi si misurano in genere con dei metodi matematici formali. Conoscere tali tempi è un buon modo (l'unico modo) per capire quale struttura è la piu' adatta in un determinato utilizzo.
Puoi usare benissimo alberi splay per realizzare lavori che vengono comunemente implementati su liste. Ma il famoso detto di confucio "non usare cannoni per sparare alle zanzare" vale anche in informatica.
2-Non capisco il perchè dell'utilizzo di un buffer,cosa cambia se non lo si usa?
Manca il contesto.
Di un po, Java? :asd:
Si intendevo gli stack :doh:,ti ringrazio per la risposta alla prima domanda.
Riguardo il buffer,il contesto è negli stack.
Nel manuale di c che sto leggendo,nell'utilizzo degli stack e code,non inserisce direttamente gli input da tastiera nello stack ma li inserisce prima in un buffer e poi li trasferisce nello stack.
Perchè?cosa cambia se non si utilizza il buffer?
Si intendevo gli stack :doh:,ti ringrazio per la risposta alla prima domanda.
Riguardo il buffer,il contesto è negli stack.
Nel manuale di c che sto leggendo,nell'utilizzo degli stack e code,non inserisce direttamente gli input da tastiera nello stack ma li inserisce prima in un buffer e poi li trasferisce nello stack.
Perchè?cosa cambia se non si utilizza il buffer?
Se mi posti il codice magari potrei essere piu' diretto. Altrimenti farei solo supposizioni ;)
Mi raccomndo, usa il tag code.
Appena ho temp scrivo il codice di quel programma,è molto lungo.
Comunque,potresti dirmi in generale perchè si usa un buffer,generalmente a cosa serve?
maxithron
30-01-2006, 18:04
Appena ho temp scrivo il codice di quel programma,è molto lungo.
Comunque,potresti dirmi in generale perchè si usa un buffer,generalmente a cosa serve?
Generalmente, un buffer è utilizzato per avere una dimensione massima, già definita, per ciò che andremo ad inserire come dato/i, altrimenti, in teoria, si potrebbe avere a che fare con l'inserimento di dati di dimensioni "imprevedibili", con "imprevedibile" gestione e pericolo di riscontrare uno dei classici problemi di buffer overflow.
Avere un buffer a disposizione, ci da anche la possibilità di trattare "quei pezzetti di dati in più" di cui non abbiamo bisogno, potendoli gestire con diverse metodologie.
Ma, ovviamente, molto dipende dal contesto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.