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

C++-এ ক্যাডেনস অ্যালগরিদম (Kadane's Algorithm) ইমপ্লিমেন্টেশন


ক্যাডেনস অ্যালগরিদম (Kadane's algorithm) একটি ইন্টিজার অ্যারে থেকে সর্বোচ্চ সাবঅ্যারে সম (maximum subarray sum) বের করতে ব্যবহৃত হয়। এখানে আমরা এই অ্যালগরিদম ইমপ্লিমেন্ট করার C++ প্রোগ্রাম দেখব।

এলগরিদম

Begin
Function kadanes(int array[], int length):
    Initialize
    highestMax = 0
    currentElementMax = 0
    for i = 0 to length-1
        currentElementMax = max(array[i], currentElementMax + array[i])
        highestMax = max(highestMax, currentElementMax)
    return highestMax
End

উদাহরণ

#include <iostream>
using namespace std;

int kadanes(int array[], int length) {
    int highestMax = 0;
    int currentElementMax = 0;
    for(int i = 0; i < length; i++) {
        currentElementMax = max(array[i], currentElementMax + array[i]);
        highestMax = max(highestMax, currentElementMax);
    }
    return highestMax;
}

int main() {
    cout << "Enter the array length: ";
    int l;
    cin >> l;
    int arr[l];
    cout << "Enter the elements of array: ";
    for (int i = 0; i < l; i++) {
        cin >> arr[i];
    }
    cout << "The Maximum Sum is: " << kadanes(arr, l) << endl;
    return 0;
}

আউটপুট

Enter the array length: 7
Enter the elements of array: -1 -2 -3 -4 -5 6 7
The Maximum Sum is: 13
  1. C++ প্রোগ্রাম: সিলেকশন সর্ট বাস্তবায়ন

  2. C++ প্রোগ্রাম: হিপ সর্ট বাস্তবায়ন

  3. C++ প্রোগ্রাম: বাবল সর্ট বাস্তবায়ন

  4. C++ প্রোগ্রাম: র‍্যাডিক্স সর্ট বাস্তবায়ন