Domanda

Da un punto di vista strettamente implementativo e informatico, come classificheresti la struttura dati dell'array Php? È un array associativo? un hash? un dizionario? ...?

È stato utile?

Soluzione

Dal manuale di PHP :

  

Un array in PHP è in realtà un ordinato   carta geografica. Una mappa è un tipo che associa   valori alle chiavi. Questo tipo è ottimizzato   per diversi usi; può essere   trattato come un array, elenco (vettore),   tabella hash (un'implementazione di a   mappa), dizionario, raccolta, pila,   coda, e probabilmente di più.

Altri suggerimenti

Bene, dipende da come desideri classificarlo. Opterei per la classificazione in base all'esecuzione delle operazioni.

Ad esempio, un vero array in termini di Informatica ha un tempo di ricerca O (1), mentre un elenco collegato ha un tempo di ricerca O (n). Inserimento ed eliminazione sono O (1) in un elenco collegato mentre sono O (n) in un array.

Non sono sicuro di quali siano le prestazioni effettive di un array PHP, ma se misurate alcune delle operazioni elementari su di esse e le confrontate con ciò che ci si aspetta dalle "vere strutture dati di Informatica" dovreste essere in grado di classificarlo .

Secondo me è un po 'difficile definirlo. Sebbene, penso che lo classificherei come un array associativo poiché la maggior parte delle operazioni definite per un array associativo sono disponibili sugli array PHP.

Dipende da cosa vuoi veramente definire. Un dizionario o mappa si riferisce al comportamento del tipo di dati, mentre una hashmap si riferisce a un'implementazione specifica del presente. Il termine array è un po 'colorato - A rigor di termini, si riferisce a un'implementazione concreta, mentre un elenco è un termine generico che si riferisce a qualsiasi tipo di dati simile a un array. È comunque abbastanza comune usare array come sinonimo di elenco .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top