Spiegazione dei dati satellitari dal punto di vista dei programmatori

3

Ho iniziato a leggere la Parte 2 di Introduzione agli algoritmi e nella sezione La struttura dei dati l'autore / autori dice nel contesto dell'ordinamento di una sequenza di numeri:

In practice, the numbers to be sorted are rarely isolated values. Each is usually part of a collection of data called a record. Each record contains a key, which is the value to be sorted, and the remainder of the record consists of satellite data, which are usually carried around with the key. In practice, when a sorting algorithm permutes the keys, it must permute the satellite data as well. If each record includes a large amount of satellite data, we often permute an array of pointers to the records rather than the records themselves in order to minimize data movement.

Qualcuno può spiegare cosa significano gli autori qui? Perché il termine dati satellitari ? Qual è l'intuizione dietro questo concetto? E anche come questo concetto si riferisce a una piattaforma di programmazione di livello superiore come Java?

    
posta Geek 09.08.2012 - 17:31
fonte

2 risposte

6

Sembra che gli autori si riferiscano a strutture dati complesse. Nei linguaggi orientati agli oggetti, come Java, la struttura dei dati sarebbe un oggetto che contiene un numero di campi. In una lingua come C, la struttura sarebbe probabilmente un struct . Quando si ordina, si potrebbe solo preoccuparsi di ordinare da un campo particolare. Gli altri campi sono dati satellitari: fanno parte della struttura, ma non sono rilevanti per gli algoritmi di ordinamento.

Quando si ordina, non è possibile rompere la struttura. Se si dispone di una raccolta di persone con gli attributi di un nome, un indirizzo corrente, un numero di previdenza sociale e un'età e si desidera ordinarli per età, non è possibile modificare l'associazione tra i quattro campi. Hai solo bisogno di ordinarli all'interno della struttura in base al valore di un campo. In questo esempio, l'età è la chiave e i dati del satellite sono il nome, l'indirizzo e il codice fiscale.

    
risposta data 09.08.2012 - 17:47
fonte
0

Probabilmente sei confuso con il significato popolare di satellite come veicolo spaziale . Il significato nella tua citazione non riguarda la tecnologia spaziale.

Migliore ricerca altre definizioni di termini in Wikizionario :

An attendant on an important person; a member of someone's retinue, often in a somewhat derogatory sense; a henchman. [from 16th c.] ... A moon or other smaller body orbiting a larger one. [from 17th c.]... A country, state, office, building etc. which is under the jurisdiction, influence, or domination of another body. [from 19th c.]...

I dati del satellite nel record della tua citazione si riferiscono al significato sopra, dove la chiave del record è considerata "dominante" mentre il resto dei dati la segue appena.

Il resto dei dati nel record è considerato meno importante nel contesto dell'ordinamento, che tiene conto solo della chiave. Nell'ordinamento, è la chiave di registrazione che domina, il resto lo segue.

    
risposta data 09.08.2012 - 17:47
fonte

Leggi altre domande sui tag