Dasturiy tatbiqlari
Matematik to'plamlarda ustma ust va qo'shish amallari uchun ko'plab funksiyalar mavjud bo'ladi. Quyidagi kod, matematik to'plamlarga mos funksiyalarni qo'llashni ko'rsatadi:
def ishora(arr):
"To'plamning 1-indexidagi elementini topadi"
if len(arr) == 0:
return None
else:
return arr[0]
def oxiri(arr):
"To'plamning oxirgi elementini topadi"
if len(arr) == 0:
return None
else:
return arr[-1]
Yuqoridagi funksiyalar to'plam elementlariga tegishli topshiriqlarni bajaradi. To’plam va ko’paytirish funksiyalari to'plam elementlarini qo'shish va ko'paytirish amallarini amalga oshiradi. ishora funksiyasi to'plamning birinchi elementini, oxiri funksiyasi, oxirgi elementni topadi. Katta element va kichik element funksiyalari esa, to'plamdagi eng katta va eng kichik elementlarni topish uchun mo'ljallangan.
1. Inyektiv akslantirishlari
Inyektiv akslantirishlar quyidagi kod bilan ifodalangan:
bool is_injective(int* arr, int n) {
set s;
for (int i = 0; i < n; i++) {
if (s.find(arr[i]) == s.end()) {
s.insert(arr[i]);
} else {
return false;
}
return true
}
2. Surjektiv akslantirishlari
Surjektiv akslantirishlar quyidagi kod bilan ifodalangan:
bool is_surjective(int* arr, int n, int m) {
set s;
for (int i = 0; i < n; i++) {
if (arr[i] >= 1 && arr[i] <= m) {
s.insert(arr[i]);
}
}
return s.size() == m;
}
3. Biyektiv akslantirishlari
Biyektiv funksiyalar quyidagidek kodlar yordamida aniqlanadi:
bool is_bijective(int* arr, int n, int m) {
|