 Python'da üç toplam problemini çözün. Algoritmanın karmaşıklığı nedir?
 sayi = 10, liste = [3, 5, 7, 8, 11, 16, 2]
Üç toplamlı problem, listedeki üç sayının toplamları verilen hedef sayıya ulaşan tüm kombinasyonlarını bulmayı ister. İşte Python'da olası bir çözüm: ``` num = 10 lst = [3, 5, 7, 8, 11, 16, 2] sonuç = [] n = len(lst) lst.sort() for i in range( n-2): sol = i+1 sağ = n-1 iken sol < sağ: toplam = lst[i] + lst[sol] + lst[sağ] ise toplam == sayı: sonuç.append([lst[i] ], lst[sol], lst[sağ]]) left += 1 right -= 1 elif toplam < sayı: left += 1 else: right -= 1 print(sonuç) ``` Yukarıdaki algoritmanın karmaşıklığı O(n^2), burada n, listenin uzunluğudur. Bunun nedeni, biri listenin her bir öğesini yinelemek için, diğeri de kalan öğeler üzerinde iki işaretçili arama yapmak için iç içe geçmiş döngülere sahip olmamızdır.