ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2015-07-14 15:17:36 -0500
  • مشاهده شده: 522 بار
  • بروز شده: 2015-07-22 13:27:19 -0500

پرسش‌های مشابه:

یافتن کوچکترین پیچ و مهره با مقایسه آنها

آشپزباشی:‌ مرتب کردن پشته با برعکس کردن یک دنباله متوالی از ابتدای آن

دنباله و جادوگر - دوره ی 24 - مرحله ی 2

الگوریتمی برای کمینه کردن تعداد دفعات بازشدن کشوها

الگوریتم محاسبه لگاریتم-سوال مسابقه دانش آموزی صنعتی شریف

آیا گراف قویا همبند است؟

ادغام k آرایه‌ی مرتب شده با بهترین زمان اجرا

سوال آزمون آزمایشی دوره 23

پیدا کردن مولفه های قویا همبند گراف جهت دار

یافتن کوتاه ترین دور در گراف ساده

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

میشه الگوریتم دایکسترا رو توضیح بدید لطفا؟

3

سـلـام دوستان :)

میشه الگوریتم دایکسترا (Dijkstra)رو توضیح بدید لطفا؟

کلا هیچی نمی فهمم ازش.

ممنون.          :)

تــــــشکر☺         :)

الگوریتم الگوریتم-دایکسترا دایکسترا
2015-07-14 15:17:36 -0500
سی پلاس پلاس 439 ● 3 ● 4 ● 12
پاک‌کردن   ویرایش سوال
نظرات

دیجکسترا رو میگی؟

2015-07-14 15:45:19 -0500 تنیسون

حالا هرچی ! Dijkstra

2015-07-15 03:56:50 -0500 سی پلاس پلاس

https://translate.google.com/#auto/fa/dijkstra تلفظش دایکسترا هست :)

2015-07-15 05:28:00 -0500 حمیدرضاه

@حمیدرضاه آقا @روبیک هم گفته بودن دیگه قبلن...من غلط کردم اصن :|

2015-07-15 05:30:39 -0500 تنیسون

سلام میدونستید انجمن علمی نخبگان دانشگاه صنعتی شریف مسابقه تخصصی مهارت سنجی برنامه نویسی و داده کاوی گذاشته است آدرس سایتش www.fanavard.com

2015-08-06 06:17:43 -0500 امیر شکری

5 پاسخ

4

اگه منظورت دیجکسترا هست...

خب این الگوریتم میاد کوتاه ترین فاصله همه راس هارو نسبت به یه راس حساب میکنه

اول فاصله همه راس هارو تا راس مورد نظر INF میزاری و فاصله خود راسه رو هم 0 میزاری

حالا میای توی هر مرحله راسی رو که کمترین فاصله رو داره میگیری و فاصله همه همسایه هاشو میزای فاصله این راسه+اندازه یال بینشون

بعدش این راس رو حذف میکنی از گراف...

همینجوری پیش میری تا فاصله همه راس ها بدست بیاد دیگه

سوالی اگه بود نپرس چون یه ماه دیگه هم نمیام سر بزنم من :|

2015-07-14 15:51:22 -0500
تنیسون 948 ● 3 ● 9 ● 18
پاک‌کردن   ویرایش پاسخ
نظرات

دیجکسترا نوشته میشه ولی انگلیسی نیست که دیجکسترا خونده بشه.هلندیه . دیخسترا یا دایکسترا خونده میشه.

2015-07-15 01:55:13 -0500 روبیک

چشم :| ...

2015-07-15 02:57:30 -0500 تنیسون

ممنون.

2015-07-15 03:56:28 -0500 سی پلاس پلاس

این یک ارائه از شریف است که مفهوم ریاضی این الگوریتم رو گفته و الگوریتم پیاده سازیش رو هم گفته ،به نظرم خوبه http://sharif.ir/~shahram.khazaei/files/courses/algorithms/lecture08.pdf

2015-07-15 06:18:17 -0500 کفشدوزک

ممنون.

2015-07-15 06:41:00 -0500 سی پلاس پلاس
3

من کد میزارم واست

اینو باز کن

از توش Dijkstra.cpp رو باز کن.بقیه‌ی کد هاشو هم می‌تونی استفاده کنی.مال خودمه :)

2015-07-15 01:33:04 -0500
آرپا 947 ● 13 ● 15 ● 31
پاک‌کردن   ویرایش پاسخ
نظرات

ممنون. ولی من نفهمیدم هنوز. میشه بیشتر توضیح بدید؟ ممنون. :)

2015-07-15 03:54:34 -0500 سی پلاس پلاس

من دیگه المپیادی نیستم احتمالن.اینو هم گذاشتم که یه فایده ای به ملت برسونه.متاسفم که نمی‌تونم توضیح بدم.ویکی پدیا رو بخون.

2015-07-15 03:55:58 -0500 آرپا

ok thanks

2015-07-15 03:59:18 -0500 سی پلاس پلاس

@سی پلاس پلاس اینو ببین شبه کد هست یچیزایی دستت میاد : http://beepaste.ir/view/f6099552

2015-07-15 04:28:31 -0500 تنیسون

یعنی فاصله ها رو هر بار تو اون آرایه میریزه بعد اگه فاصله کوتاه تر پیدا شد تغییرش میده. درست فهمیدم؟

2015-07-15 04:39:20 -0500 سی پلاس پلاس
2

این یه کده (کد) که به نظرم بهینس! چون از Set استفاده کردمو اینا ;) حالا بگذریم، همونطوری که تنیسون گفت، اول میاد به همه راس ها یه برچسب موقت بینهایت (تو کدم بی‌نهایت همون $10^9$ هست) میده. بعد از راس $source$ شروع میکنه به کار. اول کار به $source$ برچسب دائم ۰ می‌دیم (بدیهیه دیگه) بعد برچسب همه ی همسایه هاشو با تابع $relax$ (اینو آرش خان بهم توضیح داده، عادت کردم مثل اون بزنم $relax$ :D) بروز می‌کنه و یه برچسب جدید بهشون می‌ده. راستی با آرایه $vis$ نوع برچسبو چک میکنیم! همونطور که میبینی اگه برچسب یه راس دائم باشه دیگه باهاش کاری نداریم.

سوالی بود تو کامنتا بگو D:

2015-07-21 10:05:12 -0500
هویج 99 ● 1 ● 1 ● 7
پاک‌کردن   ویرایش پاسخ
نظرات

یاشا! :) واقعا ممنون :)

2015-07-22 12:36:42 -0500 سی پلاس پلاس
2

به نام خدا

الگوریتم دایجکسترا

اول اون بالا شماره رأس اول رو وارد می کنی و بعدش Run Dijkstra رو می زنی.

2015-07-21 10:20:36 -0500
مهدی غ 785 ● 8 ● 13 ● 22
پاک‌کردن   ویرایش پاسخ
نظرات

خیلی مــمــــنــــون :)

2015-07-22 12:30:51 -0500 سی پلاس پلاس

کارمو راه انداخت!

2015-07-22 12:31:06 -0500 سی پلاس پلاس
1

بنام خدا.(سلام!  )

خیلی ممنونم از همه ی دوستان خوبم که کمکم کردید. :)

من با توجه به توضیحات شما حالا خودم یه برنامه نوشتم.

کاربرپسنده البته!(گفتم شاید بیشتر خوشتون بیاد اینطوری :) اگه خوشتون نیومد هم که همه ی cout ها رو حذف کنید! )

یه تشکر ویژه هم داریم از حضرت دایکسترا!!

اینم از کدی که نوشتم.

باز هم تشکر :)

یاشیاسیز! :)

2015-07-22 13:26:59 -0500
سی پلاس پلاس 439 ● 3 ● 4 ● 12
پاک‌کردن   ویرایش پاسخ
نظرات

50 خط تابع main نوشتم!

2015-07-23 06:13:30 -0500 سی پلاس پلاس

خواهش میکنم! :دی

2015-07-24 02:06:59 -0500 هویج

میشد تمیز ترم زدا! تازه این کد شما واقعا کنده۱ با set بزنین، *(st.begin()) میشه کوچیکترین عضو!

2015-07-24 03:12:23 -0500 هویج

راستش من set بلد نیستم! با توجه به چیزایی که بلدم نوشتم کد رو یعنی. میشه set رو یه کوچولو توضیح بدید؟

2015-07-24 03:45:48 -0500 سی پلاس پلاس

set یه داده‌ساختاره که پیاده سازیه BST هست و خیلی کنده (ولی جواب میده اکثرن) هر عمل set از O(log size) هست! داده های تکراری قبول نمیکنه و همه چیش به ترتیب. چون از BST استفاده میکنه، نمی تونی بگی عنصر i امشو بده، باید iterator بزنی!

2015-07-24 09:09:55 -0500 هویج

پاسخ شما

فقط در صورتی که پاسخی برای این پرسش دارید، آن را اینجا بنویسید و برای بحث کردن از قسمت «ثبت‌ نظر» استفاده کنید. شما می‌توانید قبل از وارد شدن به سایت پاسخ خود را بنویسید. این پاسخ ذخیره می‌شود و زمانی که شما وارد سایت شدید یا ثبت‌نام کردید منتشر می‌شود.

پیش‌نمایش:

کلیه‌ی حقوق این سایت متعلق به کمیته‌ی ملی المپیاد کامپیوتر است.