একটি নির্দেশিত গ্রাফের সহজ চক্রগুলি সন্ধান করুন


15

এই সমস্যাটি আমার কাছে অত্যন্ত আকর্ষণীয় দেখাচ্ছে। এটি একটি নির্দেশিত গ্রাফে একটি সাধারণ চক্র (যেমন চক্র যেখানে পুনরাবৃত্তি নোড নয়) সন্ধান করতে চলেছিল।

আমার সমাধানটি এরকম চলছে, অর্থাত্ এই গ্রাফটি কেস সমস্যা: এখানে চিত্র বর্ণনা লিখুন

আমি জানি যে গ্রাফটিতে একটি চক্র রয়েছে, যখন আপনি গভীরতা-প্রথম-অনুসন্ধানে "পিছনের কিনারা" খুঁজে পেতে পারেন (ডিএফএসট্রিতে আমার ছবিতে ছড়িয়ে পড়ে) এবং এক মুহুর্তের জন্য আমি কয়েকটি চক্রের জন্য নিশ্চিত হতে পারি তবে এটির জন্য নয় সব, সহজ চক্র। কারণ, পরিচালিত উদাহরণগুলি চক্র থেকে এত গুরুত্বপূর্ণ, যেমন (0123)! = (0321)

আমি ব্যাক-এজ দিয়ে প্রতিটি নোডের জন্য একটি ডিএফএস তৈরি করার কথা ভাবছি, তবে আমি নিশ্চিত নই এবং এটি পরিষ্কার নয়। সুতরাং, আমি আপনাকে জিজ্ঞাসা, আপনি যদি আমাকে গাইড। ধন্যবাদ !. এখানে চিত্র বর্ণনা লিখুন

আমার কেস সমস্যার জন্য আমার সাধারণ লুপগুলির গণনা এখানে।

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুনএখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


আমি এই পাওয়া stackoverflow.com/questions/2939877/...
jonaprieto

উত্তর:


13

এই প্রশ্নটি খুব গুগলযোগ্য বলে মনে হচ্ছে। উদাহরণস্বরূপ, আপনি এই কাগজে উপস্থাপিত অ্যালগরিদমের প্রতি আগ্রহী হতে পারেন:

নির্দেশিত গ্রাফের সমস্ত প্রাথমিক সার্কিট সন্ধান করা । ডোনাল্ড বি জনসন। সিয়াম জে কম্পিউটার। ভোল। 4, নং 1, মার্চ 1975

সারাংশ। একটি অ্যালগরিদম উপস্থাপিত হয় যা নির্দেশিত গ্রাফের সমস্ত প্রাথমিক সার্কিটগুলি খুঁজে পায় যেখানে সময় সীমানা O((n + e)(c + 1))এবং স্পেস দ্বারা আবদ্ধ থাকে O(n + e), যেখানে গ্রাফটিতে nশীর্ষে, eপ্রান্ত এবং cপ্রাথমিক সার্কিট রয়েছে। অ্যালগরিদমটি তিরানান এবং টার্জন অনুসারে অ্যালগরিদমের সাথে সাদৃশ্যযুক্ত তবে দ্রুত হয় কারণ এটি প্রতিটি প্রান্তকে আউটপুট অনুক্রমের যে কোনও একটি সার্কিট এবং পরবর্তী অংশের মধ্যে সর্বাধিক দ্বিগুণ বিবেচনা করে।

কাগজে একটি সম্পূর্ণ অ্যালগরিদম রয়েছে।


ঠিক আছে. কাগজটি নিখুঁত, তবে আমি কি আমার কাজ নিয়ে যে কোনও জায়গায় যেতে পারি, বা কেবল কাগজটি দেখতে পারি? আমি আপনাকে অনুসন্ধানের সাথে সমাধানের সাথে পরিচয় করিয়ে দিচ্ছিলাম, আমি আমার ধারণার সাথে কী ভুলে যাচ্ছি?
জোনাপ্রিয়তো

2
আপনার মূল সমস্যাটি হ'ল ডিএফএস-ট্রিটি অনন্য নয় (যেমন, আপনার ডায়াগ্রামে "3" দিয়ে "1" অদলবদল করুন)। সমস্ত চক্রকে গণনা করার জন্য আপনাকে সমস্ত সম্ভাব্য ডিএফএস-ট্রি দেখতে হবে।
ব্যাড্রয়েট

1
আপনার যদি এই অ্যালগরিদমের জাভা প্রয়োগের প্রয়োজন হয়: github.com/1123/johnson
ব্যবহারকারী 152468

@ বাড্রয়েট লিঙ্কটি নষ্ট হয়েছে ... :(
জর্জি ই হার্নানডেজ

@ লালনগোও, ধন্যবাদ হ্যাঁ, আমি এটি প্রতিস্থাপন করেছি।
বদরোয়েট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.