ও (…) কী এবং আমি কীভাবে এটি গণনা করব?


31

সাহায্য করুন! আমার একটি প্রশ্ন আছে যেখানে আমার একটি অ্যালগরিদম বা কিছু কোডের বিগ-ও বিশ্লেষণ করতে হবে।

  • আমি নিশ্চিত না যে বিগ-ও ঠিক কী বা এটি কীভাবে বিগ-থিটা বা কোনও অ্যালগোরিদমের জটিলতা বিশ্লেষণের অন্যান্য উপায়গুলির সাথে সম্পর্কিত।

  • আমি নিশ্চিত না যে বিগ-ও কোড চালনার সময়, বা এটির কতটুকু মেমরি লাগে (স্পেস / সময় ট্রেডঅফস) বোঝায় whether

  • আমার কম্পিউটার সায়েন্সের হোমওয়ার্ক রয়েছে যেখানে আমাকে কিছু লুপ নিতে হবে, সম্ভবত একটি পুনরাবৃত্তির অ্যালগরিদম আছে এবং এটির জন্য বিগ-ও নিয়ে আসতে হবে।

  • আমি এমন একটি প্রোগ্রামে কাজ করছি যেখানে আমার পরিচিত দুটি বিগ-ও-এর সাথে দুটি ডেটা স্ট্রাকচার বা অ্যালগরিদমের মধ্যে পছন্দ রয়েছে এবং কোনটি বেছে নেবে তা সম্পর্কে আমি নিশ্চিত নই।

আমার প্রোগ্রাম, হোমওয়ার্ক বা কম্পিউটার বিজ্ঞানের সাধারণ জ্ঞানের ক্ষেত্রে বিগ-ও গণনা এবং প্রয়োগ করার পদ্ধতিটি আমি কীভাবে বুঝতে পারি?

দ্রষ্টব্য: সম্প্রদায় কর্তৃক নির্ধারিত অন্যান্য বিগ-ও প্রশ্নের জন্য এই প্রশ্নটি আধ্যাত্মিক দ্বিগুণ লক্ষ্য । অনেক বিগ-ও প্রশ্নের জন্য প্রচুর পরিমাণে দরকারী তথ্য রাখতে সক্ষম হবার জন্য এটি ইচ্ছাকৃতভাবে বিস্তৃত। অনুরূপ প্রশ্নগুলি গ্রহণযোগ্য তা ইঙ্গিত হিসাবে এটি বিস্তৃত যে দয়া করে ব্যবহার করবেন না।


1
কেবল একটি নোট, এই প্রশ্নটি এখানে মেটা নিয়ে আলোচনা করা হচ্ছে ।
এন্ডারল্যান্ড

2
শুরু করার জন্য একটি দুর্দান্ত সংস্থান হবে খান একাডেমি কোর্স (সিএলআরএসের টমাস করম্যান অন্যতম লেখক)। সিএস গ্রেড হিসাবেও এটি আমার জন্য দুর্দান্ত এক সংস্থান ছিল। খানচাদেমি.আর.কম / কম্পিউটার / কম্পিউটার
সুদীপ ভান্ডারী

3
এই প্রশ্নটি পতাকাঙ্কিত লোকদের কাছে: দয়া করে প্রশ্নের নীচে সাবটেক্সটটি পড়ুন, এবং পতাকাঙ্কিত করার আগে বা ভোট দেওয়ার আগে এই লিঙ্কটি অনুসরণ করুন।

উত্তর:


22

ও (...) বিগ-ও সংকেত বোঝায়, যা কোনও অ্যালগরিদম কোনও কাজ করতে কতগুলি অপারেশন গ্রহণ করে তা বর্ণনা করার একটি সহজ উপায়। এটি সময়ের জটিলতা হিসাবে পরিচিত ।

বিগ-ও স্বরলিপিতে, একটি অ্যালগরিদমের ব্যয়কে বৃহত সংখ্যক ব্যয়বহুল ক্রিয়াকলাপ দ্বারা প্রতিনিধিত্ব করা হয়। যদি একটি অ্যালগরিদম পদক্ষেপ নেয় , তবে এটি ও (এন 3 ) উপস্থাপন করা হবে। একটি তালিকার প্রতিটি আইটেম গণনা করা একটি অ্যালগরিদম ও (এন) সময়ে পরিচালনা করবে, যাকে লিনিয়ার সময় বলে।n3 + n2 + n

উইকিপিডিয়ায় নাম এবং ক্লাসিক উদাহরণগুলির একটি তালিকা: সাধারণ ক্রিয়াকলাপগুলির অর্ডার

সম্পর্কিত উপাদান:


6
দ্রষ্টব্য: বড় হে সহজাতভাবে সময় বা স্থান বা কোনও নির্দিষ্ট জিনিস পরিমাপ করে না। এটি কেবল কোনও ফাংশনের অ্যাসিপটোটিক বৃদ্ধি (ধ্রুবক পর্যন্ত) উপরের অংশকে সীমাবদ্ধ করে। সেই ফাংশনটি কোনও ইনপুট দৈর্ঘ্যের একটি কার্য হিসাবে একটি অ্যালগরিদমের সময়, স্থান ইত্যাদি হতে পারে এবং কোনও সিএস প্রসঙ্গে সাধারণত সময় হয় তবে তা অগত্যা নয়।
মনিকা

23

অ্যাসিম্পটোটিক ফাংশন কী কী? যাইহোক, একটি asyptote কি?

একটি ফাংশন দেওয়া চ (ঢ) যে, যখন মাপ একটি ইনপুট প্রয়োগ সম্পদগুলি (CPU- র সময়, র্যাম, ডিস্ক স্পেস, ইত্যাদি) একটি আলগোরিদিম দ্বারা ক্ষয়প্রাপ্ত পরিমাণ বর্ণনা এন , আমরা তিনটি পর্যন্ত সংজ্ঞায়িত মধ্যে asymptotic তার কর্মক্ষমতা বর্ণনা জন্য স্বরলিপি বৃহত্তর এন

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

(দ্রষ্টব্য: এখানে নিযুক্ত অর্থে, অ্যাসিপটোটিক ফাংশনগুলি কিছু ধ্রুবক ননজারো ফ্যাক্টরটি সংশোধন করার পরে কেবল মূল ফাংশনের নিকটেই রয়েছে, কারণ তিনটি বিগ-ও / Θ / Ω স্বীকৃতি এই ধ্রুবক কারণগুলিকে তাদের বিবেচনা থেকে উপেক্ষা করে।)

তিনটি অ্যাসিপটোটিক বাউন্ডিং নোটেশন কী কী এবং সেগুলি কীভাবে আলাদা?

তিনটি স্বরলিপি ব্যবহার করা হয়েছে:

f (n) = O (g (n))

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

বিগ-ϴ (থেটা) স্বরলিপিটি একটি ধ্রুবক ফ্যাক্টর পর্যন্ত চ (এন) এর বৃদ্ধির উপর সমতা বর্ণনা করে (আরও পরে এটি)। এটি বৃদ্ধির হারের জন্য অপারেটরের মতো আচরণ করে ।=

বিগ-ও স্বরলিপি এফ (এন) এর বৃদ্ধি সম্পর্কে একটি উপরের- সীমার বর্ণনা করে । এটি বৃদ্ধির হারের জন্য অপারেটরের মতো আচরণ করে ।

বড়-Ω (ওমেগা) স্বরলিপিটি f (n) এর বৃদ্ধির উপর নিম্ন- গন্ডির বর্ণনা দেয় । এটি বৃদ্ধির হারের জন্য অপারেটরের মতো আচরণ করে ।

আছে অনেক অন্যান্য asymptotic স্বরলিপি , কিন্তু তারা কম্পিউটার বিজ্ঞান সাহিত্যে প্রায় হিসাবে প্রায়ই ঘটবে না।

সময়ের জটিলতার তুলনা করার জন্য বিগ-ও স্বরলিপি এবং এর জাতীয় ঘটনাগুলি প্রায়শই একটি উপায় হিসাবে দেখা যায় ।

সময়ের জটিলতা কী?

সময় জটিলতা টি (এন) এর ইনপুট সাইজের n এর ক্রিয়াকলাপ হিসাবে কার্যকর করতে একটি অ্যালগরিদমের জন্য যে সময় নেয় তার জন্য অভিনব শব্দ । এটি বাস্তব সময়ের পরিমাণ (যেমন সেকেন্ড), সিপিইউ নির্দেশাবলীর পরিমাণ ইত্যাদিতে পরিমাপ করা যেতে পারে Usually সাধারণত এটি ধারণা করা হয় যে অ্যালগোরিদম আপনার প্রতিদিনের ভ্যান নিউমান আর্কিটেকচার কম্পিউটারে চলবে । তবে অবশ্যই আপনি আরও জটিল বিদেশী কম্পিউটিং সিস্টেম সম্পর্কে কথা বলতে সময় জটিলতা ব্যবহার করতে পারেন, যেখানে জিনিসগুলি আলাদা হতে পারে!

বিগ-ও স্বরলিপি ব্যবহার করে মহাকাশ জটিলতার বিষয়ে কথা বলাও সাধারণ। স্পেস জটিলতা হল অ্যালগরিদম সম্পূর্ণ করতে প্রয়োজনীয় মেমরির পরিমাণ (সঞ্চয়স্থান) যা র‌্যাম, ডিস্ক ইত্যাদি হতে পারে Space

এটি একটি ক্ষেত্রে হতে পারে যে একটি অ্যালগোরিদম ধীর হয় তবে কম মেমরি ব্যবহার করে, অন্যদিকে দ্রুত কিন্তু আরও মেমরি ব্যবহার করে। প্রতিটি বিভিন্ন পরিস্থিতিতে আরও উপযুক্ত হতে পারে, যদি সংস্থানগুলি ভিন্নভাবে সীমাবদ্ধ থাকে। উদাহরণস্বরূপ, একটি এম্বেড থাকা প্রসেসরের সীমাবদ্ধ মেমরি থাকতে পারে এবং ধীরে ধীরে অ্যালগোরিদমের পক্ষে থাকতে পারে, যখন কোনও ডাটা সেন্টারে থাকা কোনও সার্ভারে প্রচুর পরিমাণে মেমরি থাকতে পারে এবং দ্রুত অ্যালগরিদমের পক্ষে থাকতে পারে।

বিগ-Calc গণনা করা হচ্ছে ϴ

অ্যালগরিদমের বিগ-ϴ গণনা করা এমন একটি বিষয় যা একটি ছোট পাঠ্যপুস্তক বা আন্ডারগ্রাজুয়েট শ্রেণির প্রায় অর্ধ সেমিস্টার পূরণ করতে পারে: এই বিভাগটি মূল বিষয়গুলি কভার করবে।

সিউডোকোডে একটি ফাংশন এফ (এন) দেওয়া হয়েছে:

int f(n) {
  int x = 0;
  for (int i = 1 to n) {
    for (int j = 1 to n) {
      ++x;
    }
  }
  return x;
}

সময়ের জটিলতা কী?

বাইরের লুপটি n বার চালায় । প্রতিটি বারের জন্য বাইরের লুপটি চালিত হয়, অভ্যন্তরীণ লুপটি n বার চালিত হয় । এটি চলমান সময়কে টি (এন) = এন 2 এ রাখে ।

একটি দ্বিতীয় ফাংশন বিবেচনা করুন:

int g(n) {
  int x = 0;
  for (int k = 1 to 2) {
    for (int i = 1 to n) {
      for (int j = 1 to n) {
        ++x;
      }
    }
  }
  return x;
}

বাইরের লুপটি দু'বার চলে। মাঝের লুপটি এন বার চালায় । প্রতিটি বারের জন্য মাঝারি লুপটি চালিত হয়, অভ্যন্তরীণ লুপটি n বার চলে। এটি চলমান সময়কে টি (এন) = 2 এন 2 এ রাখে ।

এখন প্রশ্ন, উভয় ফাংশনের অ্যাসিম্পটোটিক চলমান সময়টি কী?

এটি গণনা করতে, আমরা দুটি পদক্ষেপ সম্পাদন করি:

  • ধ্রুবকগুলি সরান। ইনপুটগুলির কারণে যখন অ্যালগরিদমগুলি সময় বাড়ায়, অন্য পদগুলি চলমান সময়কে প্রাধান্য দেয়, এগুলিকে গুরুত্বহীন করে তোলে।
  • বৃহত্তম শব্দ বাদে সমস্ত সরান। হিসাবে এন অনন্ত যায়, এন 2 দ্রুত outpaces এন

তারা এখানে কী প্রভাবশালী পদগুলিতে ফোকাস করছে এবং সেই শর্তগুলিকে সরল করে

টি (এন) = এন 2 ∈ ϴ (এন 2 )
টি (এন) = 2 এন 2 ∈ ϴ (এন 2 )

আমাদের যদি একাধিক পদগুলির সাথে অন্য একটি অ্যালগরিদম থাকে তবে আমরা একই বিধিগুলি ব্যবহার করে এটি সরল করে দেব:

টি (এন) = 2 এন 2 + 4 এন + 7 ∈ ϴ (এন 2 )

এই সমস্ত অ্যালগরিদমের মূল কীটি হ'ল আমরা বৃহত্তম পদগুলিতে ফোকাস করি এবং ধ্রুবকগুলি অপসারণ করি । আমরা আসল চলমান সময়ের দিকে লক্ষ্য করছি না, তবে আপেক্ষিক জটিলতা

বিগ-Calc এবং বিগ-ও গণনা করা হচ্ছে

প্রথমে, সাবধান করে দিন যে অনানুষ্ঠানিক সাহিত্যে , "বিগ-ও" প্রায়শই বিগ- for এর প্রতিশব্দ হিসাবে বিবেচিত হয় , সম্ভবত গ্রীক অক্ষরগুলি টাইপ করা জটিল। সুতরাং যদি নীল থেকে কোনও আপনাকে অ্যালগরিদমের বিগ-ও জন্য জিজ্ঞাসা করে তবে তারা সম্ভবত এটির বিগ-ও চান Θ

এখন আপনি যদি পূর্বে সংজ্ঞায়িত আনুষ্ঠানিক ইন্দ্রিয়গুলিতে বিগ-Ω এবং বিগ-ও গণনা করতে চান তবে আপনার একটি বড় সমস্যা রয়েছে: যে কোনও প্রদত্ত ফাংশনের জন্য অসীম অনেক বিগ-Ω এবং বিগ-ও বর্ণনা রয়েছে! এটি 42 টির চেয়ে কম বা সমান সংখ্যাগুলি কি জিজ্ঞাসার মতো। আছে অনেক সম্ভাবনার।

টি (এন) ∈ ϴ (এন 2 ) সহ অ্যালগরিদমের জন্য, নীচের যে কোনওটি আনুষ্ঠানিকভাবে বৈধ বিবৃতিগুলি বানাতে হবে:

  • টি (এন) ∈ ও (এন 2 )
  • টি (এন) ∈ ও (এন 3 )
  • টি (এন) ∈ ও (এন 5 )
  • টি (এন) ∈ ও (এন 12345 × ই এন )
  • টি (এন) ∈ Ω (এন 2 )
  • টি (এন) ∈ Ω (এন)
  • টি (এন) ∈ Ω (লগ (এন))
  • টি (এন) ∈ Ω (লগ (লগ (এন)))
  • টি (এন) ∈ Ω (1)

তবে এটি টি (এন) ∈ ও (এন) বা টি (এন) ∈ Ω (এন 3 ) বলা ভুল

আপেক্ষিক জটিলতা কী? অ্যালগরিদম কি ক্লাস আছে?

আমরা যদি দুটি ভিন্ন অ্যালগরিদম তুলনা করি, ইনপুট অনন্ত হয়ে যাওয়ার সাথে সাথে তাদের জটিলতা সাধারণত বাড়বে। আমরা যদি বিভিন্ন ধরণের অ্যালগরিদমগুলি লক্ষ্য করি তবে সেগুলি তুলনামূলকভাবে একই থাকতে পারে (বলুন, ধ্রুবক ফ্যাক্টর দ্বারা পৃথক হয়ে) বা ব্যাপকভাবে ডাইভারেজ হতে পারে। এটি বিগ-ও বিশ্লেষণ করার কারণ: কোনও অ্যালগরিদম বড় ইনপুটগুলির সাথে যুক্তিসঙ্গতভাবে সম্পাদন করবে কিনা তা নির্ধারণ করতে।

অ্যালগরিদমের ক্লাসগুলি নিম্নরূপে ভেঙে যায়:

  • Θ (1) - ধ্রুবক। উদাহরণস্বরূপ, তালিকায় প্রথম সংখ্যাটি বাছাই করা সর্বদা একই পরিমাণে সময় নেয়।

  • Θ (n) - রৈখিক উদাহরণস্বরূপ, তালিকার পুনরাবৃত্তি সর্বদা তালিকার আকারের সাথে আনুপাতিক সময় নেবে, এন

  • Log (লগ (এন)) - লগারিদমিক (বেস সাধারণত ব্যাপারটি বিবেচনা করে না)। বাইনারি অনুসন্ধানের মতো প্রতিটি পদক্ষেপে ইনপুট স্পেসকে বিভক্ত করে এমন অ্যালগরিদমগুলির উদাহরণ।

  • Θ (n × লগ (এন)) - রৈখিক সময় লোগারিদমিক ("লিনিয়ারিথমিক")। এই আলগোরিদিম সাধারণত ভাগ এবং জেতা ( লগ (ঢ) ) এখনও (iterating এন ) ইনপুট সব। অনেক জনপ্রিয় বাছাই অ্যালগরিদম (মার্জ সাজ্ট, টিমসোর্ট) এই বিভাগে আসে।

  • Θ (এন মি ) - বহুপদী ( কোনও ধ্রুবক মি পর্যন্ত এন উত্থাপিত )। এটি একটি খুব সাধারণ জটিলতা শ্রেণি, প্রায়শ নেস্টেড লুপগুলিতে পাওয়া যায়।

  • Θ (এম এন ) - সূচকীয় (যে কোনও ধ্রুবক মিটার এন পর্যন্ত উত্থাপিত )। অনেক পুনরাবৃত্ত এবং গ্রাফ অ্যালগরিদম এই বিভাগে পড়ে।

  • Θ (এন!) - ঘটনাচক্রে। নির্দিষ্ট গ্রাফ এবং সম্মিলিত অ্যালগরিদমগুলি কল্পিত জটিলতা।

সেরা / গড় / সবচেয়ে খারাপ ক্ষেত্রে এর সাথে কি কিছু করার আছে?

না। বিগ-ও এবং এর স্বরলিপিগুলির পরিবার একটি নির্দিষ্ট গাণিতিক ফাংশন সম্পর্কে কথা বলে । এগুলি গাণিতিক সরঞ্জাম যা অ্যালগরিদমের দক্ষতা চিহ্নিত করতে সহায়তা করার জন্য নিযুক্ত করা হয়, তবে সেরা / গড় / সবচেয়ে খারাপ-কেস ধারণাটি এখানে বর্ণিত বৃদ্ধির হারের তত্ত্বের সাথে সম্পর্কিত নয়।

অ্যালগরিদমের বিগ-ও সম্পর্কে কথা বলতে গেলে, অবশ্যই একটি এলগরিদমের নির্দিষ্ট গাণিতিক মডেলটির সাথে অবশ্যই একটি প্যারামিটারের সাথে প্রতিশ্রুতিবদ্ধ হতে হবে n, যা ইনপুটটির "আকার" বর্ণনা করবে বলে মনে করা হয়, যেভাবেই তা কার্যকর। কিন্তু বাস্তব বিশ্বে ইনপুটগুলির কেবলমাত্র দৈর্ঘ্যের চেয়ে অনেক বেশি কাঠামো রয়েছে। এই একটি বাছাই আলগোরিদিম ছিল তবে আমি স্ট্রিং ভোজন পারে "abcdef", "fedcba"অথবা "dbafce"। এগুলির সবগুলি দৈর্ঘ্যের 6 টি, তবে তাদের মধ্যে একটি ইতিমধ্যে বাছাই করা হয়েছে, একটি বিপরীত হয়েছে এবং শেষটি কেবল একটি এলোমেলো ঝাঁকুনি। কিছু সাজানোর অ্যালগরিদম (টিমসোর্টের মতো) আরও ভাল কাজ করে যদি ইনপুটটি ইতিমধ্যে সাজানো থাকে। তবে কীভাবে এই গাণিতিক মডেলটির মধ্যে এই অহমিকাটি যুক্ত করা যায়?

সাধারণ পদ্ধতির মধ্যে সহজেই অনুমান করা হয় যে ইনপুটটি কিছু এলোমেলো, সম্ভাব্য বিতরণ থেকে এসেছে। তারপরে, আপনি দৈর্ঘ্য সহ সমস্ত ইনপুটগুলির তুলনায় অ্যালগরিদমের জটিলতা গড়ে তোলেন n। এটি আপনাকে অ্যালগোরিদমের গড় কেস জটিলতার মডেল দেয় । এখান থেকে, গড় ক্ষেত্রে আচরণের বর্ণনা হিসাবে আপনি যথারীতি বিগ-ও / Θ / Ω সূচনাগুলি ব্যবহার করতে পারেন।

তবে আপনি যদি পরিষেবা অস্বীকারের বিষয়ে অস্বীকার করেন তবে আপনাকে আরও হতাশাব্যঞ্জক হতে হতে পারে। এই ক্ষেত্রে, এটি অনুমান করা আরও নিরাপদ যে কেবলমাত্র ইনপুটগুলি হ'ল যা আপনার অ্যালগরিদমকে সবচেয়ে বেশি পরিমাণে দুঃখ দেয়। এটি আপনাকে অ্যালগোরিদমের সবচেয়ে খারাপ জটিলতার মডেল দেয় । এরপরে, আপনি সবচেয়ে খারাপ- মডেলের বিগ-ও / Θ / Ω ইত্যাদি সম্পর্কে কথা বলতে পারেন ।

একইভাবে, আপনি আপনার আলগোরিদিমকে সেরা-কেস মডেলটিতে আসতে কমপক্ষে সমস্যায় অন্তর্ভুক্ত হওয়া ইনপুটগুলিতেও আপনার আগ্রহটি ফোকাস করতে পারেন , তারপরে বিগ-ও / Θ / Ω ইত্যাদি দেখুন Ω


এটি একটি ভাল উত্তর, তবে সবচেয়ে খারাপ এবং সেরা ক্ষেত্রে বিগ-ও এবং বিগ-little এর খুব কম সম্পর্ক রয়েছে। এগুলি উচ্চ এবং নিম্ন সীমানা উভয় ক্ষেত্রেই প্রয়োগ করতে পারে, উদাহরণস্বরূপ, সন্নিবেশ সাজানোর ক্ষেত্রে সবচেয়ে ভাল ক্ষেত্রে, ϴ(n)সবচেয়ে খারাপ ক্ষেত্রে (বিগ-ও এবং বিগ-both) উভয়েরই সময় জটিলতা রয়েছে , ϴ(n²)(বিগ-ও এবং বিগ-both উভয়) এর সময়ের জটিলতা ।
পল

এছাড়াও, খালি অ্যালগরিদম ব্যতীত যে কোনও অ্যালগরিদম Ω(1)সেরা, সবচেয়ে খারাপ এবং গড় ক্ষেত্রে হয় তবে এটি কারণ একটি নিম্ন সীমাবদ্ধ এবং অ্যালগরিদমের আসল সেরা ক্ষেত্রে কোনও সম্পর্ক নেই।
পল

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

@ রাফলউইন্ড যদি আপনি মনে করেন আপনি এটির আরও ভাল বর্ণনা করতে পারেন তবে এগিয়ে যান। আপনি বুঝতে পারেন যে এটি একটি সম্প্রদায়ের উইকি উত্তর, তাই না?

"প্রথমে সতর্ক হোন যে অনানুষ্ঠানিক সাহিত্যে" বিগ-ও "প্রায়শই বিগ-for এর প্রতিশব্দ হিসাবে বিবেচিত হয়" -> কেবল অনানুষ্ঠানিক সাহিত্যে নয়। কমপ্লেক্সে আমার প্রথম সেমিস্টার, কলেজে ফিরে, আমাদের বিগ-ও এর সংজ্ঞাটি শিখিয়েছিল যেন এটি বিগ-was Θ (আমাদের পাঠ্যপুস্তকটি সেই সংজ্ঞাটি ব্যবহার করেছিল!) যখন আমি দ্বিতীয়টি জটিলতায় গিয়েছিলাম তখন আমি বুঝতে পেরেছিলাম যে দু'টি এক নয়।
টি। সর - মনিকা পুনরায় ইনস্টল করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.