Genel sınıflar kütüphanesi - hatalar, açıklamalar, sorular, kullanım özellikleri ve öneriler - sayfa 9

Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
İki fonksiyon ve bir dizi kullandığımı çözüme ekleyeceğim. İşaretçi veya bağlantı yok.
Çözümünüz iyi değil. Zaten 100 kelime için 100x100x255'lik bir dizi ayırdınız, yani. 2.550.000 hücre! Ve 10 0000 kelime varsa, 32 bit sistemlerde bellek sınırına ulaşılacaktır. Ya 100'den fazla çarpışma varsa? S harfi ile başlayan ve P harfi ile başlayan kaç kelime vardır? - Açıkça 100'den fazla ve neden şimdi bu nedenle onları saklamıyorsunuz?
Onlar. her görev için sözlüğün boyutu (RAM) ile karma işlevinin (CPU) hesaplama karmaşıklığı arasında bir orta yol bulmanız gerekir.
Tüm bu yazılanlardan sonra, başlıkta tartışılan şekilde keneleri saklamanın pratik bir görevi olmadığını düşündüm. Zamana göre sıralanırlar ve basit bir dizide bulunurlar.
Benzer şekilde Geçmiş Siparişler/Anlaşmalar. Depolanmış, HistorySelect'e göre, zamana göre dizide de depolanırlar. Ve orada (mevcut uygulamada) bilet veya kimliğe göre bir kayıt aramak için tartışılan hiçbir şey olmadığını hissediyorum.
Ve hepsi, adlandırılmış tarih söz konusu olduğunda bir şeyi çitle çevirmenin uygun olmadığı için. Pratik yapmak için basit bir dizi yeterlidir.
Şapka ve gereksiz varlıklar şeklinde ayak örtüsü olmadan kısa ve öz yazmak için büyük bir istek.
Bu bir vaka çalışması çok üzgünüm ama hayır. Doğru, savaş versiyonunda kodun şöyle yazıldığını not ediyorum: mümkün olduğunca kısa ve verimli (istediğiniz gibi). Eğitim örneklerinde, kod herkes için olabildiğince basit ve anlaşılır bir şekilde yazılmıştır, böylece deneyimsiz bir kullanıcı bile anlayabilir.
ps Şapkalar, tamam, ben temizleyeceğim.Doğru, savaş versiyonunda kodun şöyle yazıldığını not ediyorum: mümkün olduğunca kısa ve verimli (istediğiniz gibi).
Gerçekte, projelerde kodlar "davranış kurallarına" göre yazılır.
Ve fxsaber gibi bir seçenek kullanılmaz:
Nedeni banal - uygun hata ayıklamanın imkansızlığı.
Çözümünüz iyi değil. Zaten 100 kelime için 100x100x255'lik bir dizi ayırdınız, yani. 2.550.000 hücre! Ve 10 0000 kelime varsa, 32 bit sistemlerde bellek sınırına ulaşılacaktır. Ya 100'den fazla çarpışma varsa? S harfi ile başlayan ve P harfi ile başlayan kaç kelime vardır? - Açıkça 100'den fazla ve neden şimdi bu nedenle onları saklamıyorsunuz?
Peter Konow kodundan önerilen kodu incelemek için geri döndü.
Üzgünüm, ama bu tamamen karanlık ve genel olarak karma konusunun tamamen yanlış anlaşılması, hash tablolarından bahsetmiyorum bile.
Habr'a gidebilir ve en azından hash konusunu öğrenebilirseniz, neden bu tabutu tekerlekler üzerinde yarattınız?
Evet, kendi hash tablonuzu yeterince uygulamak önemsiz bir iş değil.
Ancak önerilen kodlarda herhangi bir anlayış söz konusu bile değil.
Arkadaşlar. Konunun ölü olduğunu görüyorum.
Tartışmaya karışmak istemiyorum ve bu yüzden gönüllü olarak ayrılıyorum.
Belki de kütüphanede birçok ilginç şey vardır.
Tartışmak.
(Benim çözümüm zaten daha kötü çünkü 3,2 kat daha yavaş.)
Çözümünüz iyi değil. Zaten 100 kelime için 100x100x255'lik bir dizi ayırdınız, yani. 2.550.000 hücre! Ve 10 0000 kelime varsa, 32 bit sistemlerde bellek sınırına ulaşılacaktır. Ya 100'den fazla çarpışma olursa? S harfi ile başlayan ve P harfi ile başlayan kaç kelime vardır? - Açıkça 100'den fazla ve neden şimdi bu nedenle onları saklamıyorsunuz?
Bir dizinin boyutu, bir sözlüğün boyutuna uyacak şekilde kolayca değiştirilebilir.
Sonsuz seçenekler dikkate alınmaz.
Peter Konow kodundan önerilen kodu incelemek için geri döndü.
Üzgünüm, ama bu tamamen karanlık ve genel olarak karma konusunun tamamen yanlış anlaşılması, hash tablolarından bahsetmiyorum bile.
Habr'a gidebilir ve en azından hash konusunu öğrenebilirseniz, neden bu tabutu tekerlekler üzerinde yarattınız?
Evet, kendi hash tablonuzu yeterince uygulamak önemsiz bir iş değil.
Ancak önerilen kodlarda herhangi bir anlayış söz konusu bile değil.
Çözümünüz iyi değil. Zaten 100 kelime için 100x100x255'lik bir dizi ayırdınız, yani. 2.550.000 hücre! Ve 10 0000 kelime varsa, 32 bit sistemlerde bellek sınırına ulaşılacaktır. Ya 100'den fazla çarpışma olursa? S harfi ile başlayan ve P harfi ile başlayan kaç kelime vardır? - Açıkça 100'den fazla ve neden şimdi bu nedenle onları saklamıyorsunuz?
Benim versiyonumda, 100'den fazla çarpışma olamaz. Aynı harfle başlayan ve aynı sayıda harfe sahip 100'den fazla kelime düşünebilir misiniz?
("metin 1", "metin 2", "metin 3", "metin 4", "metin 5"... hariç)