এর মতো অত্যন্ত বড় ডেটা সেটগুলিতে, এ জাতীয় দ্রুত ফলাফল পেতে, আমি পথ সংকোচনের সাথে ইউনিয়ন-অনুসন্ধান ডেটা কাঠামো ব্যবহার করা ভাল বলে মনে করি । তবে, আপনি যদি কেবল জিক্স্ট্রার অ্যালগরিদম ব্যবহার করতে এবং এটি অনুকূলিত করতে চান তবে গ্রাফের প্রতিটি নোডের কী তথ্য রয়েছে তা নেমে আসে। আপনার সম্ভবত 1500 টি কোয়েরি করার দরকার নেই।
উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণটি বিবেচনা করুন। বলুন যে আমি যে কোনও 2 অভিনেতার (বেকন সংখ্যা) এর মধ্যে বিচ্ছেদের ডিগ্রীগুলি সন্ধান করার চেষ্টা করছি এবং আমি সর্বনিম্ন ওজনযুক্ত পথ (সম্ভাব্যতম নতুন চলচ্চিত্রগুলি ব্যবহারের পথ) সন্ধান করতে চাই। এখন, আমি আমার একটি ফাংশন বলা যাক বলা যাক shortestPath(actor A, actor B);
। নিম্নলিখিত পরিস্থিতি বিবেচনা করুন।
যদি অভিনেতা এ ১৯ 1970০ সাল থেকে অভিনয় করে চলেছেন এবং অভিনেতা বি ২০০০ সাল থেকে অভিনয় করছেন, তবে সেই তথ্যটি দেওয়া হলে, অভিনেতা বি এর প্রথম সিনেমা থেকে শুরু করে অভিনেতা এ-এর পথে আপনার পথকে অনুসরণ করা কোনও পথ খুঁজে পাওয়া আরও যুক্তিযুক্ত হবে As প্রতিটি সিনেমার মাধ্যমে পুনরাবৃত্তি করার বিপরীতে অভিনেতা এ অভিনয় করেছেন।
সুতরাং, মূল বিষয়টি হ'ল জিক্স্ট্রার অ্যালগরিদমের অনুকূলিতকরণ আপনার ডেটা সেটটি কী তার উপর নির্ভর করে। আপনার অ্যালগরিদমকে অনুকূলকরণে আপনাকে সহায়তা করতে আপনার ডেটা সেটটি আমাদের জন্য কী প্রবেশ করায় সে সম্পর্কে আপনাকে আরও তথ্য সরবরাহ করতে হবে।
সম্পাদনা: ধরা যাক আপনি একই দেশের ২ টি শহরের মধ্যে সবচেয়ে সংক্ষিপ্ত পথটি সন্ধান করার চেষ্টা করছেন এবং উদাহরণস্বরূপ আর্জেন্টিনা যদি এই দেশটির চেয়ে দীর্ঘতর হয় তবে আপনি দেশগুলির দ্রাঘিমাংশ এবং অক্ষাংশের উপর ভিত্তি করে আপনার অনুসন্ধানগুলি করতে পারেন সীমানা. তারপরে আপনি অনুভূমিকভাবে বিপরীতভাবে উল্লম্বভাবে (দ্রাঘিমাংশ ব্যবহার করে) পথ পাড়ি দেওয়া শুরু করতে পারেন। অবশ্যই, ব্যতিক্রম হ্যান্ডলিংয়ের প্রয়োজন হবে, তবে আপনি সাধারণ ধারণা পান।