প্রান্তের ওজন যদি পূর্ণসংখ্যা হয় তবে আপনি @ রেনাউডের পরামর্শ অনুসরণ করে ও ( কে | ভি | + | ই | ) সময়ে চালানোর জন্য ডিজকস্ট্রার প্রয়োগ করতে পারেন । এখানে আরও সুস্পষ্ট ব্যাখ্যা দেওয়া হল।{0,1,…,K}O(K|V|+|E|)
যে কোনও সময়ে, অগ্রাধিকার সারিতে (সসীম) কী কিছু সীমার মধ্যে হয় , যেখানে ডি অগ্রাধিকার সারি থেকে মুছে গত কী মান। (প্রতি কী অন্তত হয় ডি , কারণ কী অনুক্রম Dijkstra এর এলগরিদম দ্বারা সরানো অ হ্রাস, এবং প্রত্যেক কী সর্বাধিক হয় ডি + + কে , কারণ প্রতি কী মূল্য আছে ঘ [ তোমার দর্শন লগ করা ] + + W টি ( U , W ) জন্য কিছু প্রান্ত ( আপনি ,{D,D+1,…,D+K}DDD+Kd[u]+wt(u,w) যেখানে ডি [ u ] হ'ল উত্স থেকে এমন কিছু ভার্টেক্স u এর দূরত্বযা ইতিমধ্যে সরানো হয়েছে, সুতরাং d [ u ] ≤ D। )(u,w)d[u]ud[u]≤D
এ কারণে, আপনি প্রতিটি কক্ষের সাথে একটি বালতিযুক্ত একটি বৃত্তাকার অ্যারে আকারের কে + 1 দিয়ে অগ্রাধিকার সারিটি প্রয়োগ করতে পারেন can কী দিয়ে প্রতিটি প্রান্তবিন্দু সঞ্চয় করুন ট কক্ষে বালতি মধ্যে একটি [ জ ( ট ) ] যেখানে । রাখুন । নিম্নলিখিত হিসাবে অপারেশন করুন:A[0..K]K+ 1টএ [ এইচ ( কে ) ]ডিh ( কে ) = কে মোড ( কে+ 1 )ডি
মুছুন-মিনিট : খালি থাকাকালীন , ইনক্রিমেন্ট । তারপরে থেকে একটি শীর্ষবিন্দু মুছুন এবং ফিরে করুন ।ডি এ [ এইচ ( ডি ) ]এ [ এইচ ( ডি ) ]ডিএ [ এইচ ( ডি ) ]
সন্নিবেশ কী দিয়ে : এর বালতি শীর্ষক যোগ ।এ [ এইচ ( কে ) ]টএ [ এইচ ( কে ) ]
হ্রাস-কি করার থেকে প্রান্তবিন্দু সরাতে থেকে ।কে ′ এ [ এইচ ( কে ) ] এ [ এইচ ( কে ′ ) ]টk′A[h(k)]A[h(k′)]
সন্নিবেশ এবং হ্রাস-কী হ'ল ধ্রুবক-সময় ক্রিয়াকলাপ, সুতরাং সেই ক্রিয়াকলাপগুলিতে মোট সময় ব্যয় করা হবে । মুছে ফেলতে-মিনিটে ব্যয় করা মোট সময় হবে সাথে চূড়ান্ত মান । এর চূড়ান্ত মান হ'ল উত্স থেকে যেকোন প্রান্তের সর্বোচ্চ (সসীম) দূরত্ব (কারণ একটি মুছা-মিনিট যা পুনরাবৃত্তি গ্রহণ করে তা দ্বারা বৃদ্ধি করে )। সর্বাধিক দূরত্ব সর্বাধিক কারণ প্রতিটি পাথের সর্বাধিক প্রান্ত রয়েছে। সুতরাং, অ্যালগরিদমের দ্বারা ব্যয় করা মোট সময় হ'ল ।ও ( | ভি | ) ডি ডি আই ডি আই কে ( | ভি | - 1 ) | ভি | - 1 ও ( কে | ভি |)O(|V|+|E|)O(|V|)DDiDiK(|V|−1)|V|−1O(K|V|+|E|)