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

  • B4ROK

    B4ROK

    1 EKİM 2008
  • justintimberlakeVEVO

    justintimber

    2 EYLÜL 2009
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010