HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
|
|
Data Structures lineari
|
Abbiamo visto che � molto semplice da generare le Data Structures che sono simile organizzato al senso che la memoria del calcolatore � organizzata. Per esempio, la lista dell'impiegato dall'azienda di ABC � una struttura di dati lineare. Poich� la memoria del calcolatore � inoltre lineare, � molto facile da vedere come possiamo rappresentare questa lista con la memoria del calcolatore. Qualsiasi struttura di dati che organizza gli elementi di dati uno dopo che l'altro sia conosciuto mentre struttura di dati lineare. Finora abbiamo visto due esempi delle Data Structures lineari: la struttura di dati della stringa e l'azienda di ABC elencano.
Potete notare che questi due esempi delle Data Structures lineari assomigliano a l'un l'altro. Ci� � perch� entrambe sono generi realmente differenti di liste. Generalmente, tutte le Data Structures lineari assomigliano alla lista. Tuttavia, questo non significa che tutte le Data Structures lineari sono esattamente le stesse. Supporre che desidero progettare una lista per memorizzare i nomi degli impiegati di ABC nel calcolatore. Un disegno possibile � di organizzare i nomi simili all'immagine di esempio qui sopra. Un altro disegno possibile � di usare gli Pointers che abbiamo imparato circa nell'ultima lezione. Mentre questi due disegni forniscono la stessa funzionalit� il senso sono effettuati nel calcolatore sono molto differenti. Ci� significa che ci � una vista astratta di una lista che � distinta da tutta l'esecuzione particolare del calcolatore
Potete anche notare che l'immagine degli impiegati di ABC non � esattamente la stessa quanto la lista originale. Quando facciamo una lista dei nomi, tendiamo ad organizzare questa lista in una colonna piuttosto che una fila. In questo caso, la rappresentazione concettuale o logica di una lista � la colonna dei nomi. Tuttavia, la rappresentazione fisica della lista nella memoria del calcolatore � la fila delle stringhe. Per la maggior parte delle Data Structures, il senso che pensiamo loro siamo lontano differenti dal senso sono effettuate nel calcolatore. Cio� la rappresentazione fisica � molto differente da quella della rappresentazione logica, particolarmente in Data Structures che usano gli Pointers.
|
Lista richiesta: La vista astratta |
La struttura di dati lineare pi� comune usata � la lista. Ormai siete gi� graziosi al corrente dell'idea di una lista ed almeno di un one-way di rappresentare una lista nel calcolatore. Ora stiamo andando guardare un genere particolare di lista: una lista richiesta. Le liste richieste sono molto simili alla lista alfabetica dei nomi degli impiegati per l'azienda di ABC. Queste liste mantengono gli articoli in un ordine specifico quale ordine alfabetico o numerico. Ogni volta che un articolo � aggiunto alla lista, � disposto nella posizione fascicolata corretta in moda da fascicolare sempre l'intera lista.
Prima che consideriamo come effettuare una tal lista, dobbiamo considerare la vista astratta di una lista richiesta. Poich� l'idea di una vista astratta di una lista pu� essere poco un confusionario, pensiamo ad un esempio pi� esperto. Considerare la vista astratta di una televisione. Senza riguardo a chi fa una televisione, tutti prevediamo determinate cose di base come la capacit� di cambiare le scanalature e registrare il volume. Finch� questi funzionamenti sono disponibili e la TV visualizza le esposizioni che desideriamo osservare, realmente non ci preoccupiamo per chi ha fatto la TV o come ha scelto costruirlo. I circuiti all'interno dell'insieme di TV possono essere molto differenti da una marca allo stesso di funzionalit� ma, seguente del remains. Similmente, quando consideriamo la vista astratta di una lista richiesta, non ci preoccupiamo per i particolari dell'esecuzione. Ci preoccupiamo soltanto di che cosa la lista fa, non come lo fa.
Supporre che desideriamo una lista che pu� tenere il seguente gruppo dei numeri fascicolati: [2 4 6 7]. Che cosa sono alcune cose che potremmo desiderare per fare con la nostra lista? Bene, poich� la nostra lista � nell'ordine, avremo bisogno di un certo senso di aggiunta dei numeri alla lista nel posto adeguato ed avremo bisogno di un certo senso di cancellazione dei numeri che non desideriamo dalla lista. Per rappresentare questi funzionamenti, useremo la seguente notazione:
|
AddListItem(List, Item)
RemoveListItem(List, Item)
|
|
Ogni funzionamento ha il nome e la lista dei parametri i bisogni di funzionamento. La lista di parametro per il funzionamento di AddListItem include una lista e un articolo. Il funzionamento di RemoveListItem � molto simile tranne questo tempo che specificheremo l'articolo desideriamo rimuovere. Questi funzionamenti fanno parte della vista astratta di una lista richiesta. Sono che cosa ci attendiamo da tutta la lista richiesta senza riguardo a come � effettuata nella memoria del calcolatore.
|
Esecuzione di allineamento
|
Un metodo a generare una lista � semplicemente riservare un blocco delle cellule di memoria adiacenti abbastanza a grande per tenere l'intera lista. Un tal blocco della memoria � denominato come allineamento. Naturalmente, poich� desideriamo aggiungere gli articoli alla nostra lista, dobbiamo riservare pi� appena quattro cellule di memoria. Per ora, renderemo il nostro allineamento abbastanza grande per tenere fino a sei numeri.
|
Esecuzione dell'indicatore
|
Un secondo metodo a generare una lista � collegare i gruppi delle cellule di memoria che usando insieme gli Pointers. Ogni gruppo delle cellule di memoria � denominato come nodo. Con questa esecuzione ogni nodo contiene l'elemento dei dati e l'indicatore all'articolo seguente nella lista. Potete descrivere questa struttura mentre una catena dei nodi si � collegata insieme dagli Pointers. Finch� sappiamo dove la catena comincia, possiamo seguire i collegamenti per raggiungere tutto l'articolo nella lista. Questa struttura � denominata spesso come una lista collegata.
Notare che l'ultima cellula di memoria nella nostra catena contiene il simbolo chiamato �nullo�. Questo simbolo � un valore speciale che ci dice che abbiamo raggiunto l'estremit� della nostra lista. Potete pensare che questo simbolo come indicatore quel indichi a niente. Poich� stiamo usando gli Pointers per effettuare la nostra lista, i funzionamenti AddListItem e il RemoveListItem della lista funzioneranno diversamente che hanno fatto per le liste sequenziali.
|
|
|
Keywords:
linear data structure, c++ structures, java data structures, linear function, trees data structures, graph data structures, tree data structures, linear functions
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|