Aşağıdaki değerlere sahip olan veri akışım var. Saklama için maksimum sayıda benzersiz değerle birlikte (ör. 50,22,12).
Yukarıdaki değerlerin ve alt değerlerin sayısını dikkate alacak bir sistem tasarlamalıyım. Maksimum değerden daha fazla sayıda değer varsa, gerçek değer deposu ETC'yi depolamak yerine.İç içe geçmiş değerler ve değer sayısı için hangi veri yapısı en uygun?
Ülke ve olaylar
Devletler ve olaylar
Şehirler deyince ve tanımlı zaman aralığı gereksinimi de olaylar
numarasındaki sayımı alt tip sayımları ile birlikte tüm sayımları hesaplamaktır. , ör. Yani bu sistemden çıkış değerleri olacaktır.
Ülke A 435, Devletler B 264, Şehir C 300
Ülke B 123, Devletler B 825, Şehir C 321
Ülke A 153, Devletler B 122, İl C 534
Sistemim aşağıdaki kısıtlamalar zorlar .
1. Değerleri saklamak ve almak için herhangi bir veritabanı sistemini kullanamazsınız.
2. Hız ve hız kullanımı için bunun bellekte olması gerekir (bu nedenle depolanan maksimum değerler üzerinde sınırlama)
3. Değerler belirli aralıklarla temizlenir.
4. Bu değerler yuvalanmıştır, ayrı ayrı 3 alanı takip etmek için ayrı tablolar kullanamıyorum.
İç içe geçmiş değerleri ve sayımları depolayan özel veri yapısını kullanmayı düşündüm. Tasarımın ardından başka hangi yollara ulaşabilirim. Hangi veri yapıları kullanılabilir? Benzer şeyler yapan mevcut örnekler var mı?
Not: Bu bir ev ödevi değildir, kendi başvurumu geliştiriyorum ve bu gereksinim için zarif bir çözüm tasarlama aşamasında takılıyorum. Bu sorunun çok genel veya StackOverflow için uygun olmadığını düşünüyorsanız, kapatmadan veya oylamadan önce bu soruyu sormak için hangi forumun kullanılması gerektiğini belirtin. Herhangi bir olumlu geribildirim takdir edildi.
sözde kod:
İşteclass Location {
// local storage
private val subLocationCounter = HashMap[Location, Long];
// method to add new location
addLocation(Location loc)
// method to get current count of locations
getCounts()
// method to get current count of locations values recursively
}
Üzgünüz ama şartlar çok açık değildir. Uygulamayı düşündüğünüz özel veri yapısının sözde kodunu gösterebilirseniz, diğerleri daha iyi veri yapıları geliştirmenize veya önermenize yardımcı olabilir. –
Zaman ayırdığınız için teşekkürler @AmnaAli. Özel veri yapmam için bir Harita olan basit bir sınıf Konumunu kullanmayı düşündüm. İç içe geçmiş Ülke -> Eyalet -> Şehir için artan Konum değerlerini oluşturmayı ve tutmayı planlıyorum.'' '' '' '' '' '' '' class class class {{}} {{}} {{{item}} {} // yöntemini kullanarak yinelemeli yerleri değerlerin geçerli saymak} '' ' –
user300313
orijinal yayınında kodlarını koymak Lütfen olsun yerlerin şimdiki sayım sonucuna varmak için // yöntemini yeni konumu // yöntemi eklemek için' düzenlemek '. – WhatsUp