1.6 Program Çalışma Hızı ve Bellek Gereksinimi Programın çalışma hızı karmaşıklıkla ifade edilir; bu kavram zaman birimiyle ifade edilmeyip doğrudan işlem adedi veya döngü sayısıyla ifade edilir. Çünkü, programın çalışma hızında zaman miktarı programın üzerinde koştuğu donanıma çok bağlıdır; dolayısıyla algoritmaları birbiriyle karşılaştırmak için zaman miktarını kullanmak gerçekçi olmayıp yanılgılara neden olmaktadır. Bunun yerine, ilgili algoritmanın bilgisayar donanımından bağımsız olarak kaç adet işlem veya döngüyle gerçekleştirilebileceği hesaplanır. Algoritma karmaşıklığı iki açıdan ele alınır. Biri zaman karmaşıklığı, diğeri alan (veya bellek) karmaşıklığıdır. Zaman karmaşıklığı (time complexity) algoritmanın sonuca ulaşması için gerekli zaman hakkında bilgi verir. Alan karmaşıklığı (space complexity) ise algoritmanın ihtiyaç duyacağı bellek miktarı hakkında bilgi verir. Algoritma karmaşıklığı iki şekilde ifade edilebilir.
Biri doğrudan parametrelere bağlı olarak tam matematiksel ifadeyle; ikincisiyse,
parametrelerin karmaşıklığı nasıl etkilediğini mertebe şeklinde gösterir;
Mertebesi göstermek için O (büyük o), Bir program iki açıdan belleğe ihtiyaç duyar; biri kodun tutulması diğeri de kodun çalışması için üzerinde işlem yapacağı verilerin tutulması için. |