Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-09-2005, 11:48   #1
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
[C] Algoritmi e Strutture dati

per l'università ci hanno dato da fare un progetto per il corso di algoritmi

http://homes.dsi.unimi.it/~fiorenti/labalg04/ape.pdf

si tratta di usare strutture dati tipo alberi binari, liste di adiacenze, algoritmi per il calcolo dei cammini


qualcuno ne mastica?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 17:53   #2
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
dunque, per quanto riguarda la struttura dei prati non so ancora cosa utilizzare, è chiaro che sovraposti o meno no ci interessa molto (quando inserisci un prato se nessuno dei fiori gia esiste non è sovrapposto a nessuno e incremento la variabile globale di 1, se è sovrapposto qualche fiore il numero di campi non aumenta e il peso di quel fiore è sommato a quello gia esistente in quel punto)

il cammino è sempre lungo come la differenza Y1-Y0, da ogni fiore ci si sposta al + in tre altri fiori ui verticale, questo mi induce a pensare che tutti i cammini possibili siano un albero ternario e quello migliore sia quello con la foglia + pesante.

voi che dite?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 19:15   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per i prati userei una matrice...

Ad esempio:

struct prato
{
int x0;
int y0;
int x1;
int y1;
int **fiori;
};

struct lista_prati
{
struct prato *p;
struct lista_prati next;
};

Ovviamente fiori sarà una matrice allocata dinamicamente...

Trovare la qualità di un fiore ti fai una funzione int fiore(int x, int y); che scorrerà tutti i prati e se x e y appartengono ad un prato (anche più di uno) si somma il valore contenuto nella matrice dei fiori al totale...

Per il cammino...fare un albero non è male, ma attento ad usare la ricorsione...i cammini possibili sono tanti...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 20:43   #4
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
mhmm nelle specificche del progetto scondigliano una matrice
Codice:
Si richiede di implementare una struttura dati effciente che permetta di 
eseguire le operazioni seguenti
(si tenga presente che la minima porzione rettangolare di piano contenente 
tutti i prati può essere
molto grande rispetto al numero di prati e fiori presenti nel piano, quindi non 
e' sicuramente efficiente
rappresentare il piano mediante una matrice).
il collega con cui faccio il progetto è convinto nell'usare gli RB alberi in quanto sono efficienti e per qualsiasi operazione impiegano un tempo log(n)...

ma l'implementazione di un RB albero mi spaventa...

per quanto riguarda poi l'algoritmo per il calcolo del cammino migliore non saprei cosa usare.
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 20:51   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
La matrice che ho scritto sopra è per un prato...non per il piano !!!
Lì viene sconsigliata la matrice per il piano...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 20:55   #6
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
mi consigli di utilizzare una matrice per ogni prato? mhmm alla fine potrei utilizzare un unica struttura per tutti i prati (mantenendo una variabile globale che mi dica quanti Campi)

una matrice fatta nel modo che mi dici ha cmq un tempo di ricerca\inserimento\cancellazione superiore al RB-Albero, semplicemente sono indeciso per quanto riguarda l'algoritmo di ricerca del cammino ottimo.
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 20:58   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da TorpedoBlu
una matrice fatta nel modo che mi dici ha cmq un tempo di ricerca\inserimento\cancellazione superiore al RB-Albero, semplicemente sono indeciso per quanto riguarda l'algoritmo di ricerca del cammino ottimo.
Cancellazione di che ?!?!? Di un prato ? Ha un tempo O(n) con il metodo che ti dico io...

lista_prati è una lista che contiene tutti i prati... Se ti viene data una coordinata cancelli tutti i prati che includono quella coordinata...basta scorrere la lista (O(n)) e verificare, prato per prato, se la coordinata è cmprese nelle coordinate del prato (O(1))
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 21:01   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Qualsiasi operazione sulla lista dei prati di inserimento, cancellazione, calcolo della qualità di un fiore ha un tempo max O(n)...e si può fare banalmente in modalità non ricorsiva...e sono operazioni semplicissime da realizzare, max 6-7 istruzioni...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 21:06   #9
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da cionci
Qualsiasi operazione sulla lista dei prati di inserimento, cancellazione, calcolo della qualità di un fiore ha un tempo max O(n)...e si può fare banalmente in modalità non ricorsiva...e sono operazioni semplicissime da realizzare, max 6-7 istruzioni...
ti ringrazio tanto per i chiarimenti

ora però mi risulta difficile capire come calcolare il cammino migliore...
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 21:09   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Spiegami un po' meglio... Devi cercare un cammino minimo... Se ci sono più cammini minimi a parità di passi devi trovare quello con qualità massima ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2005, 21:13   #11
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
dunque si, dal punto di vista della lunghezza del cammino, visto che ci si può muovere solo in diagonale e o verso l'alto (nord-est/nord/nord-ovest), i cammini esistenti tra 2 punti non potendo tornare indietro sono tutti uguali.
quindi se ci sono 1 o + cammini deve scegliere quello con il peso maggiore (la somma dei pesi di ogni fiore).
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2005, 10:37   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Hai mai sentito parlare di back tracking ?

Allora...parti dal nodo iniziale...e scegli i possibili nodi destinazione... Un nodo è ammissibile se c'è un fiore sopra (non so se questa supposizione è giusta)...
Per tutti i nodi ammissibili calcoli la distanza geometrica fra il nodo ammissibile e quello di destinazione... Ti muovi sul nodo a distanza geometrica minore... Se ad un certo punto da un nodo non iresci a trovare un nodo ammissibile che non sia già stato visitato elimini torni al nodo precedente ed elimini il nodo corrente dal percorso...

Arrivato al nodo finale ti memorizzi il percorso fatto, la somma dei fiori e il numero di passi fatti...
Torni indietro all'ultimo nodo ammissibile, lo elimini e torni ancora al nodo ammissibile precedente...scegli di muoverti in un nodo ammissibile che ha distanza minima fra quelli ammissibili e così via...

Ogni volta che arrivi al nodo finale se il numero dei passi è minore di quello precedente (se è uguale a discriminare è la somma dei fiori) memorizzi il percorso e togli l'ottimo precedente...

Attenzione che un nodo può essere attraversato da percorsi diversi...
Ad esempio due percorsi diversi possono avere gli stessi nodi tranna che per un nodo diverso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2005, 11:51   #13
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da cionci
Hai mai sentito parlare di back tracking ?

Allora...parti dal nodo iniziale...e scegli i possibili nodi destinazione... Un nodo è ammissibile se c'è un fiore sopra (non so se questa supposizione è giusta)...
Per tutti i nodi ammissibili calcoli la distanza geometrica fra il nodo ammissibile e quello di destinazione... Ti muovi sul nodo a distanza geometrica minore... Se ad un certo punto da un nodo non iresci a trovare un nodo ammissibile che non sia già stato visitato elimini torni al nodo precedente ed elimini il nodo corrente dal percorso...

Arrivato al nodo finale ti memorizzi il percorso fatto, la somma dei fiori e il numero di passi fatti...
Torni indietro all'ultimo nodo ammissibile, lo elimini e torni ancora al nodo ammissibile precedente...scegli di muoverti in un nodo ammissibile che ha distanza minima fra quelli ammissibili e così via...


Ogni volta che arrivi al nodo finale se il numero dei passi è minore di quello precedente (se è uguale a discriminare è la somma dei fiori) memorizzi il percorso e togli l'ottimo precedente...

Attenzione che un nodo può essere attraversato da percorsi diversi...
Ad esempio due percorsi diversi possono avere gli stessi nodi tranna che per un nodo diverso...
dunque le sole mosse ammissibili sono
X1=X0 || X1=X0+1 || X1=X0-1
Y1=Y0+1

quindi ci si muove solo in 3 direzioni (diagonale destra|sinistra o verticale)
per questo pensavo ad un albero ternario per l'insieme dei cammini possibili

a questo punto se ci sono + di un cammino possibile bisogna scegliere quello con il peso maggiore.

ammesso di fare una lista di liste, come è possibile?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2005, 08:26   #14
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
up
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2005, 15:02   #15
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
qui c'è il codice degli alberiRB, vorrei modificarlo per avere la possibilità di gestirlo con una coppia di chiavi (ascissa e ordinata) e non una sola

la struttura principale per capirci è
Codice:
typedef int key;

typedef enum { red, black } color;

struct rbnode {
	key v;
	color c;
	struct rbnode *left, *right, *up;
}; 

typedef struct rbnode rbnode;

typedef struct {
	rbnode *root, *nil;
} rbtree;
(tra l'altro non so come inserire il valore del dato, qui vedo solo la chiave ed il colore)

qualche anima pia che guarda il file in allegato e mi dice dove effettuare le modifiche
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2005, 14:31   #16
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
up
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Il nuovo Snapdragon 8 Elite Gen 6 sar&ag...
Nintendo Switch 2: risultati sotto le at...
Weekend con tante sorprese su Amazon: to...
HONOR non si ferma più: il 2025 &...
Speciale best seller: EUREKA J15 Evo Ult...
Roborock Q10 X5+ da 10.000 Pa a 199€ &eg...
E-mail reset password di Instagram: la c...
La NASA ha discusso le problematiche del...
Il razzo spaziale NASA SLS e la capsula ...
Stazione Spaziale Internazionale: Crew-1...
Samsung Galaxy S26 Ultra: la ricarica de...
Apple ha un nuovo partner per la sua App...
Trenitalia introduce il prezzo dinamico ...
OnePlus non si ferma più: c'&egra...
DAZN sconta il piano Full per 6 mesi, se...
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: 05:16.


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