realbasic-nug.it
[Top] [All Lists]

Re: Ripetizione di elementi in arrays

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: Re: Ripetizione di elementi in arrays
From: Matteo Cortonesi <m_cortonesi at ticino dot com>
Date: Sat, 6 May 2006 14:01:30 +0200
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
References: <3B0909D1-B394-4BE3-A52B-9F82813F0AFC at ticino dot com> <44b48eef58e18d1d870a416fd604fd6e at libero dot it> <ac9b413d5faac6051302e3ee588c77f2 at libero dot it>
Grazie del codice.. ma ora mi rendo conto che non penso possa funzionare nel mio caso..

È colpa mia... prima, per semplificare un po' il problema, ho detto che avevo un array di integer (pensavo non cambiasse niente), mentre in realtà ho un array di stringhe. Ho bisogno trovare il numero di ripetizioni delle stringhe che vengono ripetute più di una volta.

Per ora ho implementato le operazioni > e < sulle stringhe (posso vedere se una stringha viene prima o dopo in ordine alfabetico), penso potrebbero servire.

Però il metodo di costruire un istogramma non è più efficiente in questo caso.

Se ad esempio avessi solo 10 stringhe di 6 caratteri dovrei costruire un istogramma con tutti i bins per tutte le stringhe da 0 a 6 caratteri con un alfabeto di 26 caratteri, quindi avrei un tempo di esecuzione esponenziale O(e^n)

Ribadisco che è colpa mia che non ti ho spiegato esattamente la mia situazione..

Altri suggerimenti?

Grazie,
Matteo

On 6-mag-06, at 12:50, Alessandro wrote:

Questa ad esempio dovrebbe fare al caso tuo.
Scusa se è in C comunque mi sembra commentato bene.

http://castore.phys.uniroma1.it/KR/Teach//LabCal/AA0102/program6.html

HTH

                ale

Il giorno 06/mag/06, alle 12:39, Alessandro ha scritto:

Ciao Matteo,
al momento non mi viene in mente dove indirizzarti, ma quello di cui hai bisogno è un qualunque algoritmo che calcoli l'istogramma. Fai una ricerca e vedrai che troverai molti algoritmi già precotti da utilizzare. Vanno benissimo quelli per l'analisi di immagini ad esempio.

        ale


Il giorno 06/mag/06, alle 12:27, Matteo Cortonesi ha scritto:

Ciao a tutti,

Ho un problemino con le arrays.

Ho un array contenente diversi (tanti) numeri (integer).
Avrei bisogno di sapere tutti gli elementi che si ripetono nell'array, compreso il numero di ripetizioni.

Per esempio:

Se l'array fosse: 1,2,5,2,3,6,8,3,1,3,3

dovrei ricevere:

1: due volte
2: due volte
3: quattro volte

Ho pensato ad un algoritmo molto semplice (fare uno scanning dell'array e quando trovo un elemento lo elimino, poi rifaccio lo scanning e se lo ritrovo aumento il contatore di ripetizioni)... solo che ha un tempo di esecuzione dell'ordine di O(n^2)... il che è pessimo..

Se vi vengono in mente idee migliori sarei contento di vederle :)

Grazie
Matteo







<Prev in Thread] Current Thread [Next in Thread>