Questa domanda è un'estensione di questa domanda . Sto anche trattando di un brainstorming sull'affermazione di questo problema in cui un parcheggio 1-dimensionale con N slot avrà parcheggi di dimensioni variabili da fare. Una due ruote occupa 1 slot, una macchina occupa 2 slot e un bus occupa 4 slot.
Dobbiamo progettare un sistema che assegni in modo efficiente lo spazio per questi. La metrica dell'efficienza è che dovremmo essere in grado di ospitare i veicoli massimi e allocarli vicino all'ingresso (supponendo che lo slot 1 sia il più vicino a 2, quindi 3 e così via ..)
Diversamente dal post indicato, cerco un consiglio su quale algoritmo possiamo utilizzare per effettuare l'allocazione. Possiamo tracciare un parallelo tra questo problema e l'allocazione di memoria che si verifica nel sistema operativo. Questo potrebbe essere considerato come se ci fossero molti processi di varie dimensioni (1, 2 e 4) che devono essere allocati nello spazio della memoria principale (il nostro parcheggio) In caso di allocazione di memoria di dimensioni variabili, ci sono 3 algoritmi:
1. Best fit: allocate the most optimum space
2. Worst Fit: allocate the least optimum space
3. First Fit: allocate the first available space
La migliore vestibilità potrebbe essere una buona opzione da considerare, ma ha un tempo di lavoro più elevato. First Fit è una buona opzione da considerare, ma potrebbe causare uno spreco di spazio.
C'è qualche altro algoritmo / struttura dati che potrebbe essere usato per un'allocazione come questa?