আমার একটি পুনর্নির্দেশিত গাছ রয়েছে যার শীর্ষে আমি লেবেল করতে চাই। পাতার নোডগুলির একটি লেবেল করা উচিত। তারপরে, ধরে নিন পাতা মুছে ফেলা হয়েছে। যে গাছটি রয়ে গেছে, সেখানে পাতা দুটি লেবেল করা উচিত। সমস্ত প্রান্তের একটি লেবেল না হওয়া পর্যন্ত এই প্রক্রিয়াটি সুস্পষ্ট উপায়ে অব্যাহত থাকে। আমি এটি করার কারণটি হ'ল আমি একটি কাতারে বিশৃঙ্খলা সংরক্ষণ করতে চাই এবং সেগুলি দিয়ে "প্রথমে পাতা ছেড়ে" যেতে চাই। এই সময়টি করার কি কোনও সহজ উপায় আছে ?
আমি প্রতিটি পদক্ষেপে একটি বিএফএস করে সমস্যাটি সমাধান করতে পারি। তবে সবচেয়ে খারাপ ক্ষেত্রে, প্রতিটি পদক্ষেপে আমি প্রতিটি শীর্ষপথ দিয়ে যাচ্ছি, ঠিক দুটি পাতা মুছুন এবং সেগুলি সজ্জিত করুন। আমি বিশ্বাস করি এটি চতুর্ভুজ সময় লাগে।
অন্য ধারণাটি ছিল প্রথমে সমস্ত পাতাগুলি সন্ধান করা এবং তারপরে প্রতিটি পাতা থেকে একটি বিএফএস করা। এটি আমাকে পছন্দসই সমাধান দেয় না। উদাহরণস্বরূপ, নীচের চিত্রের মতো এক ধরণের "ক্রাউন গ্রাফ" বিবেচনা করুন। পছন্দসই সমাধানটি দেখানো হয়েছে, তবে প্রতিটি পাতা থেকে একটি বিএফএস চালু করার ফলে কেবলমাত্র দুটি লেবেল ব্যবহৃত হবে।
আদর্শভাবে, লিনিয়ার সময় অ্যালগোরিদম ব্যাখ্যা এবং প্রয়োগ করাও সহজ হবে।