Algoritmalar, karar yöntemleri, performanslarının karşılaştırılması - sayfa 14

 
Sergey Dzyublik :

1. Anlamsız. Algoritmalar bir bütün olarak göreli sonuçlar üzerinde karşılaştırılır.
2. Çözüm zaten entegredir - bu, <Generic\ArrayList.mqh> standart kitaplığıdır .

1. Yani algoritmanın hızı önemli değildir. Çözüm "kavramsal olarak güçlü" ve bu yeterli. TAMAM.

2. Yani, içerme yoluyla bağlı ve bu kadar mı? İyi.

//------------------------------------------------ --------------------

Bir algoritmayı değerlendirmenin ana kriteri " Kavramsal güç " ise, o zaman kaybettim.

Bir algoritmayı değerlendirmek için ana kriter basitlik, hız ve kolaylık ise, o kazanır.

Bu konu kapatılabilir.

 
fxsaber :

  1. Neden stil, önce arayüzler, sonra sınıflar (ilgili arayüzlerin mirasçıları olarak) yazılacak şekildedir?
  2. Bu neden yapılıyor? (StringToUpper (jeneratörAdı);)
  3. Belli ki unutmuş




Bunu CArrayList aracılığıyla yapmalarına ve az önce tartışılan HashMap'i kullanmamalarına biraz şaşırdım. İşlemlerin bilet değil endeks olduğu yazarın çarpık orijinaline odaklanmaya değmezdi.

HashMap büyük ihtimalle daha görsel, daha pratik ve daha hızlı olacaktır.


Böyle bir kodu kolaylıkla okuduğuma kendi kendime şaşırdım. Ancak kendisi henüz programlamada gösterilen soyutlama seviyesine ulaşmadı. Bana prosedürel stil + OOP iken. Bu saf OOP. Görünüşe göre, bu bir tür iyi öğrenilmiş programlama okulu. Bu kaynakta sadece Stanislav Korotky'den benzer bir soyutlama seviyesi gördüm.


1) Stil entegrasyon içindir.
Sınıfınızı test etmeniz gerekiyor - test için arayüzü devralın ve uygulayın.
Kendi jeneratörünüze ihtiyacınız var - keyfini çıkarın ...


2) Evet, bu gereksiz, çok zekice, teşekkürler:

 StringToUpper (generatorName);



3) Hayır, unutmadım:

       //TODO add shared_ptr / move out generator (Dependency Injection)
      IGenerator<T>* generator = CreateGenerator<T>();

Başlangıçta, bir uygulamasına sahip olmadığım share_ptr için yazılmıştır.
Ancak, temel olarak, test için fonksiyon parametrelerinde IGenerator<T> bağımlılığını ortadan kaldırmanız gerekir.

 
Sergey Dzyublik :

3) Hayır, unutmadım:

Başlangıçta, bir uygulamasına sahip olmadığım share_ptr için yazılmıştır.

Anladım, fark etmedim.

 
Dize dizesinin uzunluğu, emin değil - maksimum kaç karakter?
 
Renat Akhtyamov :
Dize dizesinin uzunluğu, emin değil - maksimum kaç karakter?

İşte beklediğim şey:

dize uzunluğu sonlu değil mi?

https://msdn.microsoft.com/en-us/library/sx08afx2.aspx

MQL5 için bu sınırlamayı bulamıyorum ...


 

Topluma karşı açık bir şekilde tekrarlanan saygısızlık ve belirgin provokasyonlar görülüyor.

Bunu (bir kişinin çeşitli yapıcı dallardaki gönderilerini) okumamak ve ardından gözden kaçırmak ve unutmak her zaman mümkün değildir - daha da fazlası.

Sayısı bu kaynağı olumlu yönden büyük ölçüde ayıran yardım ellerinde trolleme ve tükürme.


Belki de yanılıyorum.

 
Vladimir Karputov :

Beni düzeltin ama dize uzunluğu sonlu değil mi?

Yalnızca bellekle sınırlıdır

 void OnStart ()
{
   string Str;
  
   Print ( StringInit (Str, 1 e8)); // true - 100 Mb
}
 
Реter Konow :

1. Yani algoritmanın hızı önemli değildir. Çözüm "kavramsal olarak güçlü" ve bu yeterli. TAMAM.

2. Yani, içerme yoluyla bağlı ve bu kadar mı? İyi.

//------------------------------------------------ --------------------

Bir algoritmayı değerlendirmenin ana kriteri " Kavramsal güç " ise, o zaman kaybettim.

Bir algoritmayı değerlendirmek için ana kriter basitlik, hız ve kolaylık ise, o kazanır.

Bu konu kapatılabilir.


Üzgünüm, bu mümkün değil, üzgünüm.
Ama sen ne aptal bir insansın.
Sorun, birinin bir şey bilmemesi değil, en azından bir şey öğrenmeye tamamen isteksiz olmasıdır.

Biri 10ms, diğeri 8ms fark nedir?
Kimin daha hızlı ve ne kadar olduğunu nispeten karşılaştırmanız gerekiyorsa, işin doğruluğunu kontrol etmeyi unutmayın.

 
fxsaber :

Yalnızca bellekle sınırlıdır

Ooo!!!!!

ezici senkyu!

ato benim dizim kesildi ve uzunluğu nasıl artıracağını bilmiyordu

Dalı yok etmeyin, burada kavga etmeyin

 

sayfa aracılığıyla çözüm - çok fazla kod .... ancak özellikleri bir şekilde vurgulamak imkansızdı

Eh, bu benim, yani açıkça farklıydı)

Genel olarak, standart kitaplıkları kullanma alışkanlığına da girmeyecektir - ve bence aynı sayfanın kendi sürümlerine sahip birçok kişi var.

Genel olarak, aynı görev

sihirli bir ticker gelir - onu kaydetmeniz ve ardından ticker veya sihir üzerinde uygun bir şekilde çekmeniz gerekir. peki, hadi biraz karmaşıklaştıralım - yani. tüm değerleri kaydet, sihirli ticker TR SL yorumu, açık fiyat, zaman, kapanış fiyatı. - sanal siparişleri hesaba katmak için diyelim

Aslında en hızlı çözüm tüm bilgileri bir yapıda saklayacaktır. Ve burada, bir bağlantı indeksinin sıralı özetini yapmak için erişim sağlar. ve majik ve tekr üzerinde. onlar. iki tane olacak - hafızadan bu mantıklı değil elbette - ama sık sık sipariş alırsak, hız açısından en iyisidir.


Bu arada, soru, baskıdaki tanımlamayı kimin kullanması gerektiğidir. belki bazı çözümler vardır. Kısacası, çok sık değil - ancak çarpışmadan önce, gerekli bilgileri atmak veya bir şekilde bu şekilde uygun şekilde ayarlamak - ve tercihen global değişkenler olmadan gerekli olacaktır.

Neden: