ورود

View Full Version : خواهشا کمک کنین؟؟الگوریتم برای تئوری 4 رنگ می خوام؟؟



parham_pni
چهارشنبه 08 اردیبهشت 1389, 14:22 عصر
الگوریتم برای تئوری 4 رنگ می خوام؟؟
ممنون میشم کمکم کنین.

mortezamsp
پنج شنبه 09 اردیبهشت 1389, 12:05 عصر
یه آرایه چهارتایی {سبز،آبی،قرمز،زرد} برای رنگ زدن هرخانه از گراف ، از اول آرایه رنگها شروع میکنی و رنگ اختصاص میدهی ،اگر اشتباه شد(همسایه های همرنگ مجاور شدند) به خانه بعدی آرایه میری ... تا زمانیکه هیچ گره بدون رنگی باقی نمونه.



int colors[4] = { 0 ,1 ,2 ,3 } ;

class node {
int color;
int IsColored() ;
...} ;
class graph{
int ColorGraph();
int coloring(node*)
int ColorIsTrue(node*);
node* StartNode;
...} ;
//make a graph of nodes

graph::colorGraph() { coloring( StartNode ) ; }

graph :: coloring( node* n) {
int i = 0 ;
while( ! ColorIsTrue(n) )
n->color = colors[i++] ;
for all neighbours of n as : ni
if( ! ni->IsColred() )
coloring( ni ) ;
}