تبليغات
تبلیغات در دانشجو کلوب محک :: موسسه خيريه حمايت از کودکان مبتلا به سرطان ::
جستجوگر انجمن.براي جستجوي مطالب دانشجو کلوپ مي توانيد استفاده کنيد 
برای بروز رسانی تاپیک کلیک کنید
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5

الگوریتم پریم به زبان c

نویسنده پیام
  • navid
    آفلاین
  • مدیر بازنشسته
    **
  • ارسال‌ها: 1,344
  • تاریخ عضویت: مرداد ۱۳۹۰
  • اعتبار: 85
  • تحصیلات:لیسانس
  • علایق:برنامه نویسی
  • محل سکونت:Istanbul, Turkey
  • سپاس ها 1152
    سپاس شده 3031 بار در 1139 ارسال
  • امتیاز کاربر: 27,279$
  • حالت من:حالت من
ارسال: #1
الگوریتم پریم به زبان c

کد:
#include "stdio.h"
int n;

int weight[100][100];
char inTree[100]; 

int d[100]; 
int whoTo[100]; 

void updateDistances(int target)
 {
	int i;
	for (i = 0; i < n; ++i) 
		if ((weight[target][i] != 0) && (d[i] > weight[target][i])) 
                {
			d[i] = weight[target][i];
			whoTo[i] = target;
		}
 }

main() {
	FILE *f = fopen("dist.txt", "r");
	int i,j,total,treeSize;
	fscanf(f, "%d", &n);
	for (i = 0; i < n; ++i)
		for (j = 0; j < n; ++j)
			fscanf(f, "%d", &weight[i][j]);
	fclose(f);
	for (i = 0; i < n; ++i)
		d[i] = 100000;

	for (i = 0; i < n; ++i)
		inTree[i] = 0;

	printf("Adding node %c\n", 0 + 'A');
	inTree[0] = 1;
	updateDistances(0);
	total = 0;
	for (treeSize = 1; treeSize < n; ++treeSize) {
		int min = -1;
		for (i = 0; i < n; ++i)
 			if (!inTree[i]) 
				if ((min == -1) || (d[min] > d[i]))
					min = i;

		printf("Adding edge %c-%c\n", whoTo[min] + 'A', min + 'A');
		inTree[min] = 1;
		total += d[min];

		updateDistances(min);
	}

	printf("Total distance: %d\n", total);

	return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56



مطالب مشابه ...

تن آدمی شریف است به جیب آدمیت و همین لباس زیباست نشان آدمیت !

۲۵-۷-۱۳۹۰ ۰۸:۰۸ عصر
جستجو یافتن همه ارسال های کاربر اهدا امتیازاهدای امتیاز به کاربر پاسخ پاسخ با نقل قول
 سپاس شده توسط ♔ αϻἰг κнаη ♔ ، senior engineer

برای بروز رسانی تاپیک کلیک کنید


مطالب مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  الگوریتم کوله پشتی پویا به زبان c navid 1 907 ۱۰-۳-۱۳۹۱ ۰۴:۱۹ عصر
آخرین ارسال: nargesi

پرش به انجمن:

کاربرانِ درحال بازدید از این موضوع: 1 مهمان