একটি ট্রিপল-নেস্টেড লুপের সময় জটিলতা


13

দয়া করে নিম্নলিখিত ট্রিপল-নেস্টেড লুপটি বিবেচনা করুন:

for (int i = 1; i <= n; ++i)
    for (int j = i; j <= n; ++j)
        for (int k = j; k <= n; ++k)
            // statement

বিবৃতি এখানে ঠিক মৃত্যুদন্ড কার্যকর করা হয় n(n+1)(n+2)6 বার। কেউ দয়া করে ব্যাখ্যা করতে পারেন যে এই সূত্রটি কীভাবে প্রাপ্ত হয়েছিল? ধন্যবাদ.


উত্তর:


14

লুপের অভ্যন্তরীণতম সংখ্যাটি ট্রিপলটির সংখ্যা (i,j,k) দ্বারা নির্বাহ করা হয় যার জন্য এটি সম্পাদন করা হয় তা গণনা করতে পারেন।

1≤i≤j≤k≤n

  • n+2
  • n+2
  • (i,j,k)
    • i
    • j
    • k

n+2(n+23)


2
চমৎকার উত্তর! I, j, k এর সঠিক মানগুলি গুরুত্বপূর্ণ নয়। আমাদের কেবল এটি জানতে হবে যে কোনও নীল বাক্সটি এন সম্ভাব্য পজিশনে স্থাপন করা যেতে পারে এবং তাদের অবস্থানগুলি সীমানাযুক্ত: 2 ষ্ঠ সর্বদা 1 ম এর পরে এবং 3 য়ের আগে আসে।
— ডেভিড নাটিংগা

@rizwanhudda এ অংশ বাদে সাফ করুন । আপনি দয়া করে এটি ব্যাখ্যা করতে পারেন? সঠিক সংখ্যার মতো দেখাচ্ছে। এন + 2 এন + 3+2n+2n+3
— সাদাতাম

1
@ SAadtaame হ্যাঁ আপনি লাল বাক্স রাখার কল্পনা করতে পারেন , তবে " লাল বাক্সগুলির মধ্যে" নীল রঙ করার জন্য 3 টি লাল বাক্স বেছে নেওয়ার স্বাধীনতা রয়েছে , কারণ আপনি প্রথম বাক্সটিকে নীল হিসাবে রঙ করতে পারবেন না (যেহেতুএন + 2 আমি ≥ 1n+3n+2i≥1
— q জেক

3

আমার জন্য, এটি লক্ষ্য করা সহজ যে অভ্যন্তরীণ লুপটি নির্ধারিত হয় বার এবং অভ্যন্তরীণ লুপের মোট মৃত্যুদন্ড কার্যকর হয়n−i

(n−i)+(n−i−1)+(n−i−2)+…+1

এটি হিসাবে আবার লিখতে পারে এবং বার মৃত্যুদণ্ড কার্যকর করা হয় , সুতরাং মৃত্যুদণ্ডের মোট সংখ্যা হ'লn∑j=0n−in−i−jn

∑i=0n∑j=0n−in−i−j=n(n+1)(n+2)6

আপনার জন্য একটি চ্যালেঞ্জ: কল্পনা করুন আপনার কাছে এক্স-নেস্টেড লুপ রয়েছে। পূর্ববর্তী উত্তর অনুসারে এটি কার্যকর করা হবে (n + x-1) x সময় চয়ন করে। আপনি কীভাবে আপনার সূত্র গণনা করবেন?
— ডেভিড নাটিংগা

ভাগ্যক্রমে ওপি এক্স-নেস্টেড জন্য জিজ্ঞাসা করেনি! প্রদত্ত অন্য উত্তর কীভাবে এক্স-নেস্টেড লুপে প্রসারিত করে? আমার উত্তরটি কেবল 0 থেকে এন, 0 থেকে এন-আই_1, 0 থেকে এন-আই_2, ..., 0 থেকে এন-আই_এক্সে আরও বেশি পরিমাণে যোগ করা উচিত। তবে কীভাবে এটি গণনা করা যায় তা আমি জানতাম না।
— অ্যান্ডি মেসভয়

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