কম্পিউটার টিউটোরিয়াল

অ্যালগরিদমে অপারেশন কাউন্টস মেথড

অনেক মেথড আছে কোনো অ্যালগরিদমের কস্ট অনুমান করার। 그중 একটি অপারেশন কাউন্ট ব্যবহার করে। আমরা একটি অ্যালগরিদমের টাইম কমপ্লেক্সিটি অনুমান করতে পারি বিভিন্ন অপারেশন বেছে নিয়ে। সেগুলো হলো অ্যাড, সাবট্র্যাক্ট ইত্যাদি। আমাদের চেক করতে হবে এই অপারেশনগুলো কতবার হয়। এই মেথডের সাকসেস зависи করে আমাদের অ্যাবিলিটি ওপর যেন কন্ট্রিবিউট করে সবচেয়ে বেশি টাইম কমপ্লেক্সিটিতে।

মান লেন, আমাদের একটি অ্যারে আছে, সাইজ n [0 to n-1]। আমাদের অ্যালগরিদমটি লার্জেস্ট এলিমেন্টের ইনডেক্স বের করবে। আমরা কস্ট অনুমান করতে পারি কমপэрিজন অপারেশন কাউন্ট করে যা অ্যারের প্রতিটি পেয়ার এলিমেন্টের মধ্যে হয়। আমাদের মনে রাখতে হবে, আমরা শুধু একটি অপারেশন বেছে নেব। এই অ্যালগরিদমে আরও কিছু অপারেশন আছে যেমন ইটেরেশন ভেরিয়েবল i ইনক্রিমেন্ট করা, বা ইনডেক্সের জন্য ভ্যালু অ্যাসাইন করা। কিন্তু সেগুলো এই কেসে বিবেচিত নয়।

অ্যালগরিদম

getMax(arr, n):
    index := 0
    max := arr[0]
    for i in range 1 to n - 1, do
        if arr[i] > max, then
            max := arr[i]
            index := i
        end if
    done
    return index

আমাদের সেই অপারেশন বেছে নিতে হবে যা Мак্সিমাম বার পারফর্ম হয় কস্ট অনুমানের জন্য। মনে করুন আমাদের একটি বাবল সর্ট অ্যালগরিদম আছে, এবং আমরা সোয়াপ অপারেশন কাউন্ট করি। তবে আমাদের মনে রাখতে হবে যে এটি কখন ম্যাক্সিমাম হবে। এটি অ্যানালিসিসের সময় ম্যাক্সিমাম রেজাল্ট দেবে।

  1. ফোর্ড-ফুলকারসন অ্যালগরিদম (Ford-Fulkerson Algorithm)

  2. ফ্লয়েড-ওয়ারশাল অ্যালগরিদম (সর্বোচ্চ ছোট পথ)

  3. C#-এ TakeWhile মেথড

  4. পাইথন অ্যারে বাইসেকশন অ্যালগরিদম