۰
subtitle
ارسال: #۱
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
به زودی راه اندازی می شود
شما هم، هر کمکی تونستید، دریغ نکنید
شما هم، هر کمکی تونستید، دریغ نکنید
۰
ارسال: #۲
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
ادغام ۲ هیپ که جمعاً n عنصر دارد از مرتبه(O(n هست.
ارسال: #۳
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
(۱۰ آذر ۱۳۸۹ ۰۹:۳۹ ب.ظ)Masoud05 نوشته شده توسط: ادغام ۲ هیپ که جمعاً n عنصر دارد از مرتبه(O(n هست.
لطفاَ به لینک زیر یه نگاهی بندازین:
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
توجه: این فایل زبان اصلیه اما ترجمه اون خیلی راحته . حجمش هم حدوداً ۸۸ کیلو بایته
۰
۰
ارسال: #۵
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
ادغام دو هیپ نا متوازن را می توان درLgn انجام داد.
۰
ارسال: #۶
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
یک آرایه نزولی یک هیپ است ولی عکس آن لزوماً صحیح نیست.
علت (از خودم): در آرایه نزولی، به ازای هر i<j مقدار درون خانه i از j بزرگتر است پس لزوماً والد گره i که اندیسی کوچکتر از i دارد( چراکه در سطح بالاتری از درخت نسبت به گره i قرار گرفته )
باید مقدارش بزرگتر از i باشد. اما یک هیپ لزوماً یک آرایه نزولی نیست چراکه فرض کنید در سطح ۲( بعد از ریشه، ریشه سطح۱ فرض شده )کافی است مقادیر کوچکتر از ریشه باشد و قیدی نداریم که فرزند راست نسبت به فرزند چپ مقدارش کمتر یا بیشتر باشد، پس ممکن است مقدار زیر درخت چپ از راست بزرگتر باشد که باعث میگردد هنگام نمایش در آرایه مقدار درون اندیس i+1 از مقدار درون اندیس i بزرگتر باشد( نزولی نیست)
نکته بالا برای MaxHeap بود اما برای MinHeap هم وضیعتی به همین صورت داریم فقط با این تفاوت که آرایه صعودی است.
علت (از خودم): در آرایه نزولی، به ازای هر i<j مقدار درون خانه i از j بزرگتر است پس لزوماً والد گره i که اندیسی کوچکتر از i دارد( چراکه در سطح بالاتری از درخت نسبت به گره i قرار گرفته )
باید مقدارش بزرگتر از i باشد. اما یک هیپ لزوماً یک آرایه نزولی نیست چراکه فرض کنید در سطح ۲( بعد از ریشه، ریشه سطح۱ فرض شده )کافی است مقادیر کوچکتر از ریشه باشد و قیدی نداریم که فرزند راست نسبت به فرزند چپ مقدارش کمتر یا بیشتر باشد، پس ممکن است مقدار زیر درخت چپ از راست بزرگتر باشد که باعث میگردد هنگام نمایش در آرایه مقدار درون اندیس i+1 از مقدار درون اندیس i بزرگتر باشد( نزولی نیست)
نکته بالا برای MaxHeap بود اما برای MinHeap هم وضیعتی به همین صورت داریم فقط با این تفاوت که آرایه صعودی است.
۰
ارسال: #۷
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
ساخت هیپ از مرتبه (O(n می باشد( به روش پایین به بالا)
از هیپ برای مرتب سازی عناصر به نحو زیر استفاده می شود
۱- بسته به نوع مرتب سازی یک هیپ می سازیم که به زمان( O(n نیاز دارد . در واقع برای مرتب سازی صعودی یک هرم کمینه و برای مرتب سازی نزولی یک هرم بیشینه می سازیم.
۲- n عنصر را به ترتیب از هیپ حذف می کنیم که به زمان nlogn نیاز دارد
پس مرتبه کل بصورت( O(nlognمی باشد( جمع ۲ عمل بالا)
از هیپ برای مرتب سازی عناصر به نحو زیر استفاده می شود
۱- بسته به نوع مرتب سازی یک هیپ می سازیم که به زمان( O(n نیاز دارد . در واقع برای مرتب سازی صعودی یک هرم کمینه و برای مرتب سازی نزولی یک هرم بیشینه می سازیم.
۲- n عنصر را به ترتیب از هیپ حذف می کنیم که به زمان nlogn نیاز دارد
پس مرتبه کل بصورت( O(nlognمی باشد( جمع ۲ عمل بالا)
۰
ارسال: #۸
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
نکات زیر در مورد Heap در واقع تمرینات بخش ۶/۱ CLRS هست:
۱/ مینیمم تعداد گرهها در یک heap به ارتفاع h برابر است با
۲/ ماکزیمم تعداد گرهها در یک heap به ارتفاع h برابر است با
۳/ در یک Max-Heap کوچکترین عنصر همیشه یک برگ است.
۴/ در یک آرایهی heap که n عنصر دارد، برگها در اندیس های n/2 به بعد آرایه قرار دارند، یعنی اندیس برگها عبارت است از
۱/ مینیمم تعداد گرهها در یک heap به ارتفاع h برابر است با
۲/ ماکزیمم تعداد گرهها در یک heap به ارتفاع h برابر است با
۳/ در یک Max-Heap کوچکترین عنصر همیشه یک برگ است.
۴/ در یک آرایهی heap که n عنصر دارد، برگها در اندیس های n/2 به بعد آرایه قرار دارند، یعنی اندیس برگها عبارت است از
۰
ارسال: #۹
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
نکته مهم ولی ساده از min-heap برای استخراج متوالی minها , از max heap برای استخراج متوالی maxها استفاده میشود و heap در امر جستجو کارایی ندارد!
ارسال: #۱۰
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
(۰۷ دى ۱۳۸۹ ۱۲:۰۴ ق.ظ)afagh1389 نوشته شده توسط: نکته مهم ولی ساده از min-heap برای استخراج متوالی minها , از max heap برای استخراج متوالی maxها استفاده میشود و heap در امر جستجو کارایی ندارد!خود هیپ به تنهایی معنی نداره، در واقع هرگاه اسم هیپ میاد منظور یکی از این ۲ حالت بیشینه و یا کمینه هست . برای مرتب سازی هم در ارسال ۷ توضیح داده شده
در ضمن اگه مشخص نباشه نوع هیپ چیه معمولاً منظور هیپ بیشینه است اما در مسائلی مثل صف اولویت و یا ادغام لیست های مرتب منظور هیپ کمینه است
۰
ارسال: #۱۱
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
تمرین ۱۲/۵/۳ CLRS:
عمل حذف در BST جابه جایی پذیر نیست.
عمل حذف در BST جابه جایی پذیر نیست.
ارسال: #۱۲
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
۰
ارسال: #۱۳
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
گراف دوبخشی
گرافهای دوبخشی به گرافهایی گفته میشوند که رأسها به دو دسته مجزا قابل افراز هستند
بگونهای که تمامی یالهای گراف بین گرههای بین دو دسته مختلف باشند.
مثالی از یک گراف دو بخشی
خواص مهم
یک گراف دو بخشی است اگر و فقط اگر تمامی دورهای از طول زوج باشند.
بنابراین به عنوان مثال یک گراف دو بخشی نمیتواند شامل یک گراف کامل با ۳ رأس باشد.
یک گراف دو بخشی است اگر و فقط اگر ۲-رنگ پذیر باشد.
گراف پترسن
گراف پترسن یک گراف بدون جهت با ۱۰ رأس و ۱۵ یال است. گرافی کوچک که مثال و مثال نقض مفیدی برای خیلی از مسائل در نظریه گراف است. این گراف به جولیوس پترسن نسبت داده شده ولی در حقیقت برای اولین بار ، ۱۲ سال زودتر در سال ۱۸۸۶ به وجود آمده بود.
تعداد رأسها:۱۰ تعداد یالها: ۱۵ قطر:۲ مینیمم طول دور:۵
عدد رنگی:۳ اندیس رنگی:۴ منتظم غیرمسطح
گراف پترسن، گراف مکمل گراف خط است. همچنین گراف کنزر است به این معنا که اگر برای هر کدام از زیرمجموعههای دو عضوی یک مجموعهٔ ۵ عضوی یک رأس در نظر بگیریم و بین هر دو رأسی که زیرمجموعهها ی نظیرشان ناسازگار باشند یک یال وصل کنیم، گراف پترسن ساخته میشود.
گراف پترسن هم با گراف کامل و هم با گراف دوبخشی کامل همومورف است.
مسیرها و دورهای همیلتونی
گراف پترسن مسیر هامیلتونی دارد ولی دور هامیلتونی ندارد. گراف پترسن کوچکترین گراف شبه هامیلتونی است یعنی اگرچه دور هامیلتونی ندارد، هر کدام از رأسهایش که حذف شوند میتوان یک دور هامیلتونی در آن پیدا کرد.
عدد تقاطع گراف پترسن ۲ است .
گراف پترسن همچنین میتواند در صفحه به گونهای رسم شود که همهٔ یالها طول یکسان برابر واحد داشته باشند.[شکل ۳]
نامگذاری به نام:*******عدد تقاطع گراف**گراف پترسن در صفحه******* گراف پترسن شبه ****** عدد رنگی گراف
جولیوس پترسن*******پترسن ۲ است**میتواند به گونهای رسم****** هامیلتونی است ****** پترسن ۳ است
******************************شود که طول هر
****************************** یال برابر واحد باشد
منبع :به نظر قبلا از ویکی پدیا گرفتم
گرافهای دوبخشی به گرافهایی گفته میشوند که رأسها به دو دسته مجزا قابل افراز هستند
بگونهای که تمامی یالهای گراف بین گرههای بین دو دسته مختلف باشند.
مثالی از یک گراف دو بخشی
خواص مهم
یک گراف دو بخشی است اگر و فقط اگر تمامی دورهای از طول زوج باشند.
بنابراین به عنوان مثال یک گراف دو بخشی نمیتواند شامل یک گراف کامل با ۳ رأس باشد.
یک گراف دو بخشی است اگر و فقط اگر ۲-رنگ پذیر باشد.
گراف پترسن
گراف پترسن یک گراف بدون جهت با ۱۰ رأس و ۱۵ یال است. گرافی کوچک که مثال و مثال نقض مفیدی برای خیلی از مسائل در نظریه گراف است. این گراف به جولیوس پترسن نسبت داده شده ولی در حقیقت برای اولین بار ، ۱۲ سال زودتر در سال ۱۸۸۶ به وجود آمده بود.
تعداد رأسها:۱۰ تعداد یالها: ۱۵ قطر:۲ مینیمم طول دور:۵
عدد رنگی:۳ اندیس رنگی:۴ منتظم غیرمسطح
گراف پترسن، گراف مکمل گراف خط است. همچنین گراف کنزر است به این معنا که اگر برای هر کدام از زیرمجموعههای دو عضوی یک مجموعهٔ ۵ عضوی یک رأس در نظر بگیریم و بین هر دو رأسی که زیرمجموعهها ی نظیرشان ناسازگار باشند یک یال وصل کنیم، گراف پترسن ساخته میشود.
گراف پترسن هم با گراف کامل و هم با گراف دوبخشی کامل همومورف است.
مسیرها و دورهای همیلتونی
گراف پترسن مسیر هامیلتونی دارد ولی دور هامیلتونی ندارد. گراف پترسن کوچکترین گراف شبه هامیلتونی است یعنی اگرچه دور هامیلتونی ندارد، هر کدام از رأسهایش که حذف شوند میتوان یک دور هامیلتونی در آن پیدا کرد.
عدد تقاطع گراف پترسن ۲ است .
گراف پترسن همچنین میتواند در صفحه به گونهای رسم شود که همهٔ یالها طول یکسان برابر واحد داشته باشند.[شکل ۳]
نامگذاری به نام:*******عدد تقاطع گراف**گراف پترسن در صفحه******* گراف پترسن شبه ****** عدد رنگی گراف
جولیوس پترسن*******پترسن ۲ است**میتواند به گونهای رسم****** هامیلتونی است ****** پترسن ۳ است
******************************شود که طول هر
****************************** یال برابر واحد باشد
منبع :به نظر قبلا از ویکی پدیا گرفتم
۰
ارسال: #۱۴
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
این مطلب در مورد پیمایش گراف هاست .
۰
ارسال: #۱۵
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
درخت های جست و جوی دودویی ( BST = Binary Search Tree )
یک درخت جستجوی یک درخت دودویی است که ممکن است تهی باشد. اگر درخت تهی نباشد خصوصیات زیر را برآورده می کند :
- هر عنصر دارای یک کلید است و دو عنصر نباید دارای کلید یکسان باشند ، در واقع کلیدها منحصر به فردند.
- کلیدهای واقع در زیردرخت غیرتهی چپ باید کمتر از مقدار کلید واقع در ریشه زیردرخت راست باشد.
- کلیدهای واقع در زیردرخت غیرتهی راست باید بزرگتر از مقدار کلید واقع در ریشه زیردرخت چپ باشد.
- یک درخت جستجوی یک درخت دودویی است که ممکن است تهی باشد. اگر درخت تهی نباشد خصوصیات زیر را برآورده می کند :
- زیردرختان چپ و راست نیز خود درختان جستجوی دودویی میباشند.
جستجوی یک درخت دودویی
- فرض کنید خواسته باشیم دنبال عنصری با کلید key بگردیم. ابتدا از ریشه (root) شروع می کنیم ، اگر ریشه تهی باشد ، درخت جستجو فاقد هر عنصری بوده و جستجو ناموفق خواهد بود. در غیر این صورت keyرا با با مقدار کلید ریشه مقایسه کرده
- اگر key کمتر از مقدار کلید ریشه باشد ، هیچ عنصری در زیردرخت راست وجود ندارد که دارای کلیدی برابر key باشد ، بنابراین زیردرخت چپ ریشه را جستجو می کنیم.
- اگر key بزرگتر از مقدار کلید ریشه باشد ، زیردرخت راست را جستجو می کنیم.
درج عنصری به داخل درخت جستجوی دودویی
برای درج عنصر جدیدی به نام key ، ابتدا باید مشخص نمود که آیا کلید با عناصر موجود متفاوت است یا خیر. برای انجام این کار باید درخت را جستجو کرد، اگرجستجو ناموفق باشد ، عنصر را در محلی که جستجو خاتمه پیدا نموده است ، درج می کنیم.
زمان لازم برای جستجوی num در یک درخت برابر (O(h می باشد به نحوی که h برابر با عمق یا ارتفاع درخت است. بقیه الگوریتم نیاز به زمان (Θ(۱ دارد. بنابراین زمان کل مورد نیاز insert_node برابر با (Θ(h می باشد.
زمانی که یک گره برگ با دو فرزند حذف می شوند ، گره را با بزرگترین عنصر در زیر درخت چپ و یا کوچکترین عنصر در زیردرخت راست آن گره جایگزین و تعویض کرد.
عمل حذف در زمان (O(h انجام می گیرد ، به نحوی که h عمق درخت می باشد.
****** درختان جستجو با بیشترین عمق ، درختان جستجوی متعادل نامیده می شوند.
****** درختان جستجوی متعادلی وجود دارند که عمل جستجو ، درج و حذف را در زمان (O(h ممکن می سازند
از جمله درختان red_black ، ۲-۳ ، AVL
نقل قول: جستجوی کلید در درخت دودویی
کد:
void search ( node _ pointer tree ,
keytype keyin,
node _ poiner & p)
{
bool found ;
p = tree;
found = false;
while (! found)
if ( p - > key == keyin )
found = true ;
else if ( keyin < p - > key )
p = p -> left ;
else
p = p - > right ;
}
نقل قول: تعیین یک درخت جست وجوی بهینه برای مجموعه ای از کلید ها، هر یک با احتمالی مشخص
کد:
void optsearchtree ( int n ,
const float p[];
float & minavg,
index R[][])
{
index i , j , k , diagonal ;
float A [1..n + 1] [0..n];
for ( i = 1 ; i ≤ n ; i ++) {
A [i] [i -1] = 0
A [i] [i] = p [i];
R [i] [i] = i ;
R [i] [ i – ۱ ] = ۰;
}
A[ n + 1 ] [n] = 0 ;
R[ n + 1 ] [n] = 0 ;
for (diagonal = 1;diagonal ≤ n – ۱; diagonal++)
for ( i = 1; i ≤ n – diagonal ; i ++) {
j = i + diagonal ;
A[i][j] = minimum(A[i][k-1]+A[k+1][j])+∑pm
R[i][j] = a value of k that gave the minimum;
}
minavg = A [1][n];
}
نقل قول: ساخت درخت جست و جوی دودویی بهینه
کد:
node _ pointer tree ( index i , j )
{
index k ;
node _ pointer p ;
k = R [i] [j];
if ( k == 0 )
return NULL;
else {
p = new nodetype ;
p - > key = key [k] ;
p - > left = tree (i , k – ۱);
p - > right = tree ( k+1 , j);
return P;
}
}
۰
ارسال: #۱۶
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
پیمایش درخت های دودویی
- به هنگام پیمایش یک درخت دودویی، با هر گره و زیردرختانش به طرز مشابهی رفتار می کنیم. اگر (R(Right) ، V(Visit)، L(Left به ترتیب حرکت به چپ، ملاقات کردن یک گره (برای مثال، چاپ فیلد داده آن گره) و حرکت به راست باشد، آنگاه شش ترکیب ممکن برای پیمایش یک درخت خواهیم داشت:
RLV ، RVL ، VRL ، VLR ، LRV ، LVR
- اگر تنها حالتی را انتخاب کنیم که ابتدا به سمت چپ و بعد به سمت راست برود، تنها سه ترکیبVLR ، LRV ، LVR را خواهیم داشت. این سه حالت را با توجه به موقعیت V نسبت به L و R به ترتیب preorder ، postorder ، inorder می نامیم.
- هنگامی که پیمایش Inorder انتخاب می شود، حرکت به سمت پایین و به طرف چپ انجام می شود و این عمل تا آخرین گره صورت می گیرد، سپس می توان گره را ملاقات کرد و بعد به سمت راست رفته و به همین ترتیب کار ادامه پیدا می کند. این پیمایش متناظر با شکل infix یک عبارت است.
نقل قول: تابع پیمایش Inorder
کد:
void inOrder(BinaryTreeNode *t)
{
if (t != null)
{
inOrder(t -> leftChild);
cout << t -> data; // Visit = Print
inOrder(t -> rightChild);
}
}
- بر اساس پیمایش Preorder ، گره را ابتدا بازیابی و ملاقات نموده و سپس انشعابات چپ را دنبال و تمام گره ها را بازیابی می کنیم. این فرآیند ادامه پیدا می کند تا به یک گره تهی برسیم. در این نقطه، به نزدیکترین پدر (جدی) که دارای یک فرزند راست باشد مراجعه و با این گره کار را مانند قبل ادامه خواهیم داد.
نقل قول: تابع پیمایشPreorder
کد:
void preOrder(BinaryTreeNode *t)
{
if (t != null)
{
cout << t -> data; // Visit = Print
preOrder(t -> leftChild);
preOrder(t -> rightChild);
}
}
- پیمایش Postorder دو فرزند یک گره را قبل از بازیابی آن گره ملاقات و چاپ می کند. این مساله بدین مفهوم است که فرزندان یک گره قبل از خود آن گره بازیابی می گردد.
نقل قول: تابع پیمایشPostorder
کد:
void postOrder(BinaryTreeNode *t)
{
if (t != null)
{
postOrder(t -> leftChild);
postOrder(t -> rightChild);
cout << t -> data; // Visit = Print
}
}
- پیمایش های inorder، preorder، postorder چه به صورت بازگشت پذیر نوشته یا به صورت غیربازگشتی، همگی نیازمند پشته می باشند.
مثال های مربوط به این سه پیمایش
منبع :مهدی ایل بیگی
دانشگاه آزاد اسلامی دماوند
۰
ارسال: #۱۷
  
RE: [نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
- پیمایش ترتیب سطحی، ابتدا ریشه را بازیابی می کند سپس فرزند چپ ریشه و به دنبال آن فرزند راست ریشه بازیابی می گردد. این شیوه با بازیابی از گره منتهی الیه سمت چپ به سمت راست هر سطح جدید تکرار می گردد. این پیمایش از صف استفاده می کند.
- با داشتن پیمایش میانوندی و پیشوندی یک درخت دودویی، می توان درخت را بصورت یکتا ترسیم کرد.
- برای این منظور ابتدا رشته پیمایش پیشوندی را از چپ به راست بررسی می نماییم و ریشه درخت را بدست می آوریم. سپس با توجه به جایگاه این گره در پیمایش میانوندی، گره های زیردرخت های چپ و راست را مشخص می نماییم.
- در ادامه رشته پیمایش پیشوندی را بترتیب از چپ به راست بررسی کرده و به روش فوق درخت را تشکیل می دهیم.
- با داشتن پیمایش میانوندی و پسوندی یک درخت دودویی، می توان درخت را بصورت یکتا ترسیم کرد.
- برای این منظور مانند ساخت درخت با استفاده از پیمایش میانوندی و پیشوندی عمل می نماییم با این تفاوت که پیمایش پسوندی را از راست به چپ بررسی می نمایی و...با داشتن پیمایش میانوندی و پسوندی یک درخت دودویی، می توان درخت را بصورت یکتا ترسیم کرد.
- برای این منظور مانند ساخت درخت با استفاده از پیمایش میانوندی و پیشوندی عمل می نماییم با این تفاوت که پیمایش پسوندی را از راست به چپ بررسی می نمایی و...
- با داشتن پیمایش پیشوندی و پسوندی یک درخت دودویی، در اغلب اوقات نمی توان درخت را بصورت یکتا ترسیم کرد. در واقع برای گره های تک فرزندی نمی توان مشخص نمود که فرزند گره، در سمت راست گره پدر قرار دارد یا در سمت چپ آن.
- پس با داشتن پیمایش پیشوندی و پسوندی در صورتی که درخت دودویی دارای n گره تک فرزندی باشد [tex]2^{n}[/tex] درخت متفاوت می توان ایجاد نمود.
منبع : مهدی ایل بیگی
دانشگاه آزاد اسلامی دماوند
۰
ارسال: #۱۸
  
[نکات] تکمیلی BST , Heap,Graph دنباله ساختمان داده
هیپ فیبوناتچی
- در علوم کامپیوتر، هیپ فیبوناتچی به داده ساختار هیپی اطلاق می شود که شامل انبوهی از درخت ها است. این هیپ زمان اجرای سرشکن بهتری نسبت به هیپ دوجمله ای دارد. ایده نام هیپ فیبوناتچی از اعداد فیبوناتچی که در اجرای تحلیل زمانی از آن استفاده می شود، گرفته شده است.
- اعمال درج، یافتن کوچکترین مقدار، کاهش کلید، و ادغام(الحاق) در زمان سرشکن ثابت کار می کنند. اعمال حذف و حذف کوچکترین مقدار در زمان سرشکن [tex]O(lgn)[/tex] کار می کنند. این بدین معناست که با شروع از یک داده ساختار خالی، a عمل از دستورات گروه اول و b عمل از دستورات گروه دوم، زمان اجرای [tex]O(a blgn)[/tex] خواهد داشت. در هیپ های دو جمله انجام چنین عملی نیاز به زمان [tex]O((a b)lgn)[/tex] اجرای دارد. بنابراین زمانی که b از a کوچکتر باشد استفاده از هیپ فیبوناتچی به مراتب بهتر از استفاده از هیپ دوجمله ای است.
- استفاده از هیپ های فیبوناتچی برای صف های اولویت دار زمان اجرای بعضی از الگوریتم های مهم را بهبود می بخشد، مثل الگوریتم دیکسترا برای محاسبه کوتاهترین مسیر در گراف، و یا الگوریتم پریم برای محاسبه درخت فراگیر مینیمم در یک گراف.
منبع : به نظر از ویکی پدیا
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close