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 19:49:38 +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> <11B0E387-B7EE-4A8C-9D67-960961B11082 at ticino dot com> <C2B5DF69-4DAF-4B38-8F44-702C73BD1C17 at tiscali dot it> <C301F803-A27F-4F7C-BA59-1F9F50E78BF5 at darkworks dot it> <826AAD65-8744-41F6-8596-71EE711C840B at tiscali dot it>
Comunque alla fine ho implementato un algoritmo di sorting che ha un ordine di complessità di O(n*log(n)) (comb-sort). Poi ho ordinato la mia array di stringhe (ho definito le funzioni maggiore e minore in modo che le stringhe che vengono prima alfabeticamente sono minori di quelle che vengono dopo). Una volta ordinata basta percorrerla una volta e si contano quanti elementi di fila ci sono.

In questo modo l'algoritmo ha una complessità totale di O(n*log(n)). (mentre la funzione countoccurrencies usa O(n), ma dato che la devo usare n volte alla fine esce O(n^2))

Usando RadixSort o BucketSort al posto di comb-sort si arriva finalmente ad O(n) totale (anche se si deve poi utilizzare O(n) spazio ausiliare).

Saluti
Matteo


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