Pytania oznaczone «data-structures»

14
Uniwersalne mieszanie w praktyce

Rodzina funkcji skrótu h : U → { 0 , … , M - 1 } jest uniwersalna, jeśli ∀ x , y ∈ U , x ≠ y ⇒ Pr h ∈ H [ h ( x ) = h ( y ) ] ≤ 1H.H.Hh : U→ { 0 , … , M- 1 }h:U→{0,…,M.-1}h: U \rightarrow \{0,\ldots,M-1\} Więcej informacji o uniwersalnym haszowaniu można znaleźć w tymartykule naWikipedii.∀ x ,...

14
Znalezienie maksymalnego XOR dwóch liczb w przedziale: czy możemy zrobić coś lepszego niż kwadratowy?

Załóżmy, że otrzymaliśmy dwie liczby i i że chcemy znaleźć dla l \ le i, \, j \ le r .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Naiwny algorytm sprawdza po prostu wszystkie możliwe pary; na przykład w rubinie mielibyśmy: def max_xor(l, r) max = 0 (l..r).each do |i|...

11
Wnioskowanie o rodzajach uściślenia

W pracy miałem za zadanie wnioskować o pewnych typach informacji o dynamicznym języku. Przepisuję sekwencje instrukcji na letwyrażenia zagnieżdżone , tak jak poniżej: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T;...

11
Niezmienna (trwała) implementacja struktury danych podobna do tablicy z szybkim indeksowaniem, dołączaniem, dodawaniem, iteracją

Szukam trwałej struktury danych podobnej do tablicy (ale niezmiennej), umożliwiającej szybkie indeksowanie, dołączanie, dodawanie i iterację (dobra lokalizacja). Clojure zapewnia trwały Vector, ale służy tylko do szybkiego dołączania. Vector Scali ma efektywnie dołączanie i dodawanie w czasie...