Polinomlar üzerinde Değerleme (Horner Yöntemi), Naive Çarpma, Seyrek Toplama ve Lagrange İnterpolasyonu işlemlerini gerçekleştirir.
Polinomlar, uygulamalı matematik ve bilgisayar biliminde fonksiyonları yaklaştırmak, eğri uydurmak ve veri sıkıştırmak için yaygın olarak kullanılır. Sedgewick, polinomların katsayı dizisi (dense) veya derece-katsayı çiftlerinden oluşan bağlı listeler (sparse) şeklinde temsil edilebileceğini belirtir.
Bu modül 4 temel polinom algoritmasını bir araya getirir: 1) Horner Yöntemi ile bir noktada polinom değerini en verimli şekilde hesaplama (O(n)). 2) Katsayı dizileri üzerinde naive Polinom Çarpımı (O(n^2)). 3) Sıfır olmayan terimleri temsil eden Seyrek Polinom Toplamı. 4) Verilen noktaları kesen polinomu bulan Lagrange İnterpolasyonu.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1function evaluatePolynomial(poly: number[], x: number): number {2 let result = poly[poly.length - 1];3 for (let i = poly.length - 2; i >= 0; i--) { result = result * x + poly[i]; }4 return result;5}6function multiplyPolynomials(poly1: number[], poly2: number[]): number[] {7 const result = Array(poly1.length + poly2.length - 1).fill(0);8 for (let i = 0; i < poly1.length; i++) {9 for (let j = 0; j < poly2.length; j++) { result[i + j] += poly1[i] * poly2[j]; }10 }11 return result;12}İşlemi seçin (evaluate, multiply, sparse-add, lagrange) ve parametrelerini girin. Örn: evaluate; 2,0,5; 3
İşlemi seçin (evaluate, multiply, sparse-add, lagrange) ve parametrelerini girin. Örn: evaluate; 2,0,5; 3
En İyi Durum: Horner: O(n), Çarpma: O(n*m), Lagrange: O(n^2)
Ortalama Durum: Horner: O(n), Çarpma: O(n*m), Lagrange: O(n^2)
En Kötü Durum: Horner: O(n), Çarpma: O(n*m), Lagrange: O(n^2)
Horner: O(1), Çarpma: O(n+m), Seyrek Toplama: O(n+m), Lagrange: O(n) - Bu algoritmanın karmaşıklığı belirtilmemiş.
Polynomial Operations (Polinom İşlemleri) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: