Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-09-2002, 21:10   #1
Mazza2
Senior Member
 
Iscritto dal: Jan 2002
Città: Spagna
Messaggi: 560
Algoritmo di ordinamento sto fondendo! :(

uff.... mi sapete segnalare una classe che qualcuno ha gia' fatto che mi ordina un certo numero di int dal piu' alto al + basso (o anke viceversa)?

thanks
Mazza2 è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2002, 22:18   #2
paplo
Member
 
L'Avatar di paplo
 
Iscritto dal: Mar 2001
Città: Pordenone
Messaggi: 73
Ti propongo 3 algoritmi di ordinamento ...

Insertion sort (complessità O(n^2))
Quick sort (complessità O(n*logn))
Quinsort (booo)

//////// Insertion sort
public static int[] InsertionSort(int [] lista) {
for( int j = 1; j < lista.length; j++ ) {
int key = lista[ j ];
int i = j-1;
while( (i >= 0) && (lista[ i ] > key) ) {
lista[ i+1 ] = lista[ i ];
i = i-1;
}
lista[ i+1 ] = key;
}
return lista;
}


///////// Quick sort
public static int part (int[] lista, int a, int z)
{
int scambio;

//-------------------------------------------------------------
// Si assume che a sia inferiore a z.
//-------------------------------------------------------------
int i = a + 1;
int cf = z;

//-------------------------------------------------------------
// Inizia il ciclo di scansione dell'array.
//-------------------------------------------------------------
while (true)
{
while (true)
{
//-----------------------------------------------------
// Sposta i a destra.
//-----------------------------------------------------
if ((lista[i] > lista[a]) || (i >= cf))
{
break;
}
else
{
i++;
}
}
while (true)
{
//-----------------------------------------------------
// Sposta cf a sinistra.
//-----------------------------------------------------
if (lista[cf] <= lista[a])
{
break;
}
else
{
cf--;
}
}

if (cf <= i)
{
//-----------------------------------------------------
// è avvenuto l'incontro tra i e cf.
//-----------------------------------------------------
break;
}
else
{
//-----------------------------------------------------
// Vengono scambiati i valori.
//-----------------------------------------------------
scambio = lista[cf];
lista[cf] = lista[i];
lista[i] = scambio;

i++;
cf--;
}
}
//-------------------------------------------------------------
// A questo punto lista[a..z] è stata ripartita e cf è la
// collocazione di lista[a].
//-------------------------------------------------------------
scambio = lista[cf];
lista[cf] = lista[a];
lista[a] = scambio;

//-------------------------------------------------------------
// A questo punto, lista[cf] è un elemento (un valore) nella
// giusta posizione.
//-------------------------------------------------------------
return cf;
}

//-----------------------------------------------------------------
static int[] QuickSort (int[] lista, int a, int z)
{
int cf;

if (z > a)
{
cf = part (lista, a, z);
QuickSort (lista, a, cf-1);
QuickSort (lista, cf+1, z);
}

//-------------------------------------------------------------
// In Java, gli array sono oggetti, e come tali vengono passati
// per riferimento. Qui si restituisce ugualmente un
// riferimento all'array ordinato.
//-------------------------------------------------------------
return lista;
}


///////// Quinsort
public static int[] QuinsSort(int[] lista,int m){
int a=0;
int z=lista.length-1;
QuinsSort(lista,a,z,m);
return lista;
}
static int[] QuinsSort(int[] lista, int a, int z, int m){
int lenght=(z-a)+1;
if (lenght <= m){
InsertionSort(lista, a,z);
}
else{
int cf=part(lista, a,z) ;
QuinsSort(lista, a, cf-1,m);
QuinsSort(lista ,cf+1,z,m);
}
return lista;
}


public static int part (int[] lista, int a, int z)
{
int scambio;

//-------------------------------------------------------------
// Si assume che a sia inferiore a z.
//-------------------------------------------------------------
int i = a + 1;
int cf = z;

//-------------------------------------------------------------
// Inizia il ciclo di scansione dell'array.
//-------------------------------------------------------------
while (true)
{
while (true)
{
//-----------------------------------------------------
// Sposta i a destra.
//-----------------------------------------------------
if ((lista[i] > lista[a]) || (i >= cf))
{
break;
}
else
{
i++;
}
}
while (true)
{
//-----------------------------------------------------
// Sposta cf a sinistra.
//-----------------------------------------------------
if (lista[cf] <= lista[a])
{
break;
}
else
{
cf--;
}
}

if (cf <= i)
{
//-----------------------------------------------------
// è avvenuto l'incontro tra i e cf.
//-----------------------------------------------------
break;
}
else
{
//-----------------------------------------------------
// Vengono scambiati i valori.
//-----------------------------------------------------
scambio = lista[cf];
lista[cf] = lista[i];
lista[i] = scambio;

i++;
cf--;
}
}
//-------------------------------------------------------------
// A questo punto lista[a..z] è stata ripartita e cf è la
// collocazione di lista[a].
//-------------------------------------------------------------
scambio = lista[cf];
lista[cf] = lista[a];
lista[a] = scambio;

//-------------------------------------------------------------
// A questo punto, lista[cf] è un elemento (un valore) nella
// giusta posizione.
//-------------------------------------------------------------
return cf;
}

//-----------------------------------------------------------------


public static int[] InsertionSort(int[] lista,int a,int z) {

for( int j = 1+a; j < z+1; j++ ) {
int key = lista[ j ];
int i = j-1;
while( (i >= a) && (lista[ i ] > key) ) {
lista[ i+1 ] = lista[ i ];
i = i-1;
}
lista[ i+1 ] = key;
}
return lista;
}



Ciao,
Paplo
__________________
Età : 28 - Sviluppatore PHP
paplo è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2002, 23:40   #3
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19150
mi spieghi dove hai trovato il quinsort???
non l'ho mai sentito nominare...

come complessità dovrebbe essere simile al quicksort perché quando viene usato l'insertion sort questo è eseguito in O(m^2) che è pur sempre una costante.
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2002, 00:13   #4
paplo
Member
 
L'Avatar di paplo
 
Iscritto dal: Mar 2001
Città: Pordenone
Messaggi: 73
il quinsort è il nome che ho dato all'algoritmo che il prof. ci ha chiesto di implementare.

in poche parole ... per vettori di lunghezza minore di m arrestare l'esecuzione di quicksort ed aggiungere un'unica chiamata finale ad insertionsort.

la complessità non me la ricordo e adesso non ho proprio voglia di pensarci visto che domandi ho l'esame di algoritmi e strutture dati!

Ciao,
Paplo
__________________
Età : 28 - Sviluppatore PHP
paplo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
42AI, l'intelligenza artificiale anticip...
Windows 11 26H2 gira con appena 128 MB d...
GPT-6.2 Astra compare in Codex, Claude F...
Record assoluto per Linux 7.4: quasi mez...
Datacenter “standard” esonerato dalla va...
Occhio ai consumi: nuovi limiti condivis...
Ericsson ISAC System, la tecnologia per ...
Comprano processori solo per gettarli: l...
Canva lancia Affinity per iPad: sketch, ...
Revolut abbandona OpenAI e Anthropic com...
Xbox Game Pass, tante novità in arrivo i...
Un Googlebook in formato Surface Pro: Le...
Windows 11 non permetterà mai di spostar...
Snowflake porta gli agenti IA dentro il ...
SUSE taglia circa 190 persone, e il CEO ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v