I can offer some ideas.
- , 32- 64- .
- - , , , !
- , - , , , .
- , ( , , ), (32- 64-) .
- , , heapsort. , , "", (N + 1) [i] = (N) [2 * i] | () [2 * + 1]. , , . , ..: , .
- ; ., , code java:
- , , t.i. begin() operator ++(), foreach (F) , F (). , F operator() , , .
EDIT: . # 2.0, :
IEnumerable<int> bits(byte[] bytes) {
for(int i=0; i<bytes.Length; ++i) {
int oi=8*i;
switch(bytes[i]) {
....
case 74: yield return oi+1; yield return oi+4; yield return oi+6; break;
....
}
}
}
50% (10 ) , :
for (int i = 0; i < bytes.Length; ++i) {
byte b = bytes[i];
for (int j = 7; j >= 0; --j) {
if (((int)b & (1 << j)) != 0) s++;
}
}
1,66 (~ 1.5s ~ 2.5s). , - .