dạ cho mình hỏi đếm phân phối để duyệt trên mảng 1 chiều nó dễ hiểu là như thế nào ạ!!
Kĩ thuật đếm phân phối để duyệt trên mảng 1 chiều là như thế nào?
Về thuật ngữ này thì mình nghe cảm thấy hơi lạ, sau một hồi search thì thấy có một chổ đề cập đến: https://123docz.net/document/6046892-su-dung-thuat-toan-dem-phan-phoi-va-thuat-toan-sap-xep-nhanh.htm
Nếu đúng là kĩ thuật này dùng để giải quyết vấn đề trên, thì bản chất nó là bài toán đếm tần số xuất hiện của các phần tử trong mảng.
// For example, we have array arr with n elements
// 0 <= arr[i] < 100
void FindFrequencyOfArray(int *arr, int n)
{
int freq[100] = { 0 };
for (int i = 0; i < n; i++)
{
freq[arr[i]]++;
}
for (int i = 0; i < 100; i++)
{
if (freq[i])
{
cout << i << ": " << freq[i] << " times" << endl;
}
}
}
4 Likes