[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.1374 Reply
File: matrix_41.jpg
Jpg, 37.24 KB, 500×329 - Click the image to expand
edit Find source with google Find source with iqdb
matrix_41.jpg
Анон, подкинь идейку. Нужно организовать хранилище объектов определенной фиксированой длины в массиве переменной длины. Нужно определить операции: склеивание (конкатенация), вставка, удаление, вырезка, присваивание подмассиву.

Чем меньше копирования данных, тем лучше.
>> No.1375 Reply
>>1374
Связанный список?
>> No.1377 Reply
>>1375
Связный список - это не массив. Представь каково выбирать рандомный элемент из списка с Over 9M элементов.
Надо копать в сторону иерархических таблиц, наподобие как у MMU x86-процессоров.
>> No.1378 Reply
gap buffer
>> No.1379 Reply
>>1377
Слишком мало информации в оп-посте же. Если элементов будет действительно много - можно держать что-нибудь вроде хэша адресов звеньев.
>> No.1380 Reply
Можешь присмотреться к аннотированным деревьям, суть такова (для простого бинарного дерева): в каждом узле хранится число элементов в левом поддереве. Листы могут быть отдельными записями, а могут быть и целыми массивами.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]