SORU
7 EKİM 2014, Salı


Derleyici bir programı zaman karmaşıklığı aşağılamak için yasal mı? Bu kabul gözlemlenebilir bir davranış mı?

(Not: Bu bir soru olarak düşünülmüştür; belirli mevcut Derleyiciler bahsetmiyorum.)

Ne zaman, eğer hiç, derleyici bir programı zaman karmaşıklığı düşmesine izin verilir?
Ne şartlar (varsa) altında bu kabul "gözlemlenebilir davranış", ve neden?
(Örneğin, derleyici yasal olarak "" bir-zaman üstel polinom zamanlı bir program?) azaltabilir

Eğer cevap ya da farklı sürümlerinde C ve C veya farklıysa, o zaman farkları açıklayınız.

CEVAP
7 EKİM 2014, Salı


C standart yok aslında var bir zaman karmaşıklığı model, ne için temel işlemler, ne de kütüphane fonksiyonları, yani Derleyiciler izin için neredeyse her şeyi koruyan program anlambilim (gözlenebilir davranış).

C standardı sadece bazı kütüphane fonksiyonları sadece karmaşıklık garanti veriyor, ve diyor ki 17.5.1.4 [yapısı.özellikler]):

Karmaşıklık gereksinimlerini kütüphane cümlelerinde belirtilen üst sınırları vardır, ve daha iyi karmaşıklık teminat uygulamaları gereksinimlerini karşılamak.

Bir derleyici daha iyi muhafaza bu sınırları (ve o zamandan beri birçok fonksiyonları şablon/may be inlined, derleyici dahil), ama sınırları vardır açısından öğe sayısını kaplar ve sınırla sayıda aramalar için karşılaştırma operatörleri ve benzeri. Aksi durumda, derleyici istediği gibi yeniden yapmak serbesttir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • Showtime

    Showtime

    21 HAZİRAN 2006