Profesörden in-situ algoritma tanımım var, ama anlamıyorum.
Yerinde algoritmalar Θ (1) bellekle çalışan algoritmaları ifade eder.
Bu ne anlama geliyor?
Profesörden in-situ algoritma tanımım var, ama anlamıyorum.
Yerinde algoritmalar Θ (1) bellekle çalışan algoritmaları ifade eder.
Bu ne anlama geliyor?
Yanıtlar:
İlk önce ne anlama geldiğini açalım .
Büyük ve büyük , işlev sınıflarıdır. Orada resmi bir tanım var burada , ama bu soruya amaçları için, bir fonksiyon olduğunu söylemek içindedir sabit olup olmadığını nerede herkes için , . Yani, en çok sabit bir işlev kadar hızlı büyür.f O ( 1 ) c x f ( x ) ≤ C f
Big- , sabit fonksiyonlar için fazla bir şey ifade etmez, çünkü algoritma süresini veya alan kullanımını açıklarken sabitin altında çok fazla bir şey yoktur. Ancak bunun ne anlama geldiğini açıklamak için, eğer sabitleri varsa , tüm , . Yani, en azından sabit bir fonksiyon kadar hızlı ve en fazla hızlı büyür.c , d x d ≤ f ( x ) ≤ c f
Şimdi bunun bellek kullanımı ile ne ilgisi var? algoritmasını düşünün . Bir giriş verilmiş, bazı (matematiksel) işlevi yoktur , sizin algoritma maksimum bellek kullanımını verir büyüklüğünün herhangi girişine . Bu işleve diyelim .n A n m e m
Şimdi iki konseptimizi birleştiriyoruz. Bir algoritma belleği kullanıyorsa, bellek kullanım fonksiyonu , yani herhangi bir giriş için kullanılan bellek ile arasında olacak şekilde bazı .Θ ( 1 ) d , c d c
Kısacası, bu algoritmanın bellek kullanımının girdiden bağımsız olarak sabit bir aralıkta olduğu anlamına gelir.
Bellek fonksiyonu genellikle algoritmaya girişi depolamak için kullanılan belleği hesaba katmaz, aksi takdirde bellek kullanımı her zaman en az .
Algoritmanın sabit alan karmaşıklığı
Algoritmanızın kullandığı bellek miktarı girişten bağımsızdır.
Bununla birlikte, Yerinde algoritmalar girdinin kendisi üzerinde amaçlanan işlevlerini yerine getirir ve bu nedenle çok az alan gerektirir veya fazladan alan gerektirmez. Algoritma yürütüldüğünde giriş genellikle çıktı tarafından yazılır. ( ref )
Yerinde algoritmalar, girdinin kapladığı alanı dikkate almaz ve alan karmaşıklığını hesaplarken yalnızca fazladan alanı dikkate alır.