এসও সম্পর্কে সাম্প্রতিক প্রশ্নে অনুপ্রাণিত ...
নিম্নলিখিত বিন্যাসে একটি বাইনারি গাছ মুদ্রণ করতে একটি ফাংশন লিখুন:
3
/ \
1 5
\ / \
2 4 6
- আউটপুটে নোডের একটি লাইন থাকা উচিত, তারপরে একটি রেখা
/
এবং\
অক্ষর যুক্ত হবে যা সম্পর্কগুলি নির্দেশ করে, তারপরে নোডের লাইন ইত্যাদি by - আপনি ধরে নিতে পারেন যে সমস্ত নোড একক চরিত্র হিসাবে উপস্থাপনযোগ্য।
- নিম্নতম স্তরের সংলগ্ন নোডগুলি কমপক্ষে একটি স্পেস দ্বারা পৃথক করা উচিত, নোডগুলি আরও উপরে যথাযথ হিসাবে পৃথক করা উচিত।
- দুটি শিশু সহ নোডগুলি তাদের সরাসরি বাচ্চাদের মাঝখানে ঠিক রেখে দেওয়া উচিত।
- সম্পর্কের টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টানা পিতা-মাতার এবং উপযুক্ত সন্তানের মধ্যে (আপনি যেভাবেই চান রাউন্ড) হওয়া উচিত।
ইনপুট:
ইনপুটটি আপনার ফাংশনের আর্গুমেন্ট হিসাবে সরবরাহ করা হবে। আমি গাছটির সঠিক কাঠামো নির্দিষ্ট করব না, তবে এটি অবশ্যই একটি সত্য বাইনারি গাছ হিসাবে ব্যবহারযোগ্য হবে। কোনও "গাছগুলিকে আমার প্রোগ্রামে স্ট্রিং হিসাবে কাকতালীয়ভাবে প্রত্যাশিত আউটপুটটির মতো দেখানো হচ্ছে না"।
আপনি কোনও আউটপুট স্ট্রিমে মুদ্রণ করতে পারেন বা আপনার পছন্দ অনুযায়ী আউটপুট যুক্ত স্ট্রিংটি ফিরে আসতে পারেন।
সবচেয়ে সংক্ষিপ্ত কোডের জন্য পয়েন্টস, তবে আমি 90%-সংক্ষিপ্ত-সংক্ষিপ্ত একটির চেয়ে সম্পূর্ণ পরিশ্রমী দীর্ঘ সমাধান পছন্দ করি।
অনুগ্রহের জন্য আপডেট:
অনুগ্রহের জন্য, আমি (অপ্টিমাইজার) সামান্য পরিবর্তন করছি:
- ইনপুটটি STDIN, ARGV বা ফাংশন যুক্তি হতে পারে।
- আউটপুট STDOUT এ থাকা (বা জেএসের
console.log
জন্য) হওয়া দরকার - আপনি ধরে নিতে পারেন ইনপুটটি অ্যারের আকারে, প্রাক্তন হিসাবে।
[1,2,3]
অথবা[1 2 3]
আপডেট 2 - বাইনারি ট্রিটি আসলে একটি বাইনারি অনুসন্ধান গাছ হওয়া উচিত। যেহেতু আমি প্রথমে এটি উল্লেখ করি নি, তাই আমি ব্যবহারকারীদের একটি সাধারণ অ্যারেটিকে বাইনারি অনুসন্ধানের ট্রি অ্যারে রূপান্তর করতে আলাদা প্রোগ্রাম হিসাবে বিবেচনা করার অনুমতি দেব এবং চূড়ান্ত বাইট গণনাটি কেবল অ্যারেটিতে আর্গুমেন্ট হিসাবে গ্রহণ করে এটি মুদ্রণ করবে বাইনারি গাছের মতো
30000,1000,499999