Ho faticato molto per dare un senso a questa presentazione del grafico senza alcuna soluzione adeguata. Forse qualcuno potrebbe capire qualcosa.Non riesco a capire questa presentazione del grafico (necessario Algoritmo!)
ho una presentazione di collegato grafico, ciclo libero che si forma come segue:
- Rimuovere vertici che ha un grado di 1 (ha solo un bordo) uno per uno
- Se v'è più di un'opzione, il vertice con il valore più basso sarà rimosso
- Quando vertice viene rimosso, il vertice accanto ad esso sarà mi ha segnato
- Questo andrà avanti fino a quando grafico ha un solo vertice sinistro
Ecco un grafico di esempio:
2 3
\/
5 1
\/
4
Ed è così che le forme di presentazione:
2 3 3
\/ /
5 1 => 5 1 => 5 1 => 5 => 5
\/ \/ \/ \
4 4 4 4
1. Remove vertex two and mark one.
2. Remove vertex three and mark one.
3. Remove vertex one and mark four.
4. Remove vertex four and mark five.
Così la presentazione per questo grafico potrebbe essere:
1 1 4 5
Il problema è , come posso trasformare questa presentazione in matrice di adiacenza o lista di adiacenza? F.e. con 1 1 4 5, la lista di adiacenza sarebbe simile a questa:
1: 2 3 4
2: 1
3: 1
4: 1 5
5: 4
Grazie!
Sembra albero per me o_O – Despicable
penso che tu ** dispone di un algoritmo ** (che cosa è ciò che la vostra descrizione testuale * è *, in realtà). Hai bisogno di una ** implementazione **. È un po 'di lavoro, sì, ma hai davvero detto tutto ciò di cui hai bisogno - tranne un linguaggio di programmazione e l'inizio di un'implementazione. Devi farlo prima e poi tornare indietro. – towi
Il problema non è come trasformare il grafico in questa presentazione, il problema è come tornare al grafico. Non penso che questa descrizione sia il mio algoritmo per il lavoro. Se hai una soluzione potresti illuminarmi un po '? – Kaltsoon