Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Ищу алгоритм удаления

3445  1 2 3 4 5 6 все
Murr патриот28.01.24 19:16
Murr
NEW 28.01.24 19:16 
в ответ AlexNek 28.01.24 18:15

Где проблема, то?

-----

Выше очень подробно писано. Там где об (Х/2-2)

#61 
AlexNek патриот28.01.24 20:21
AlexNek
NEW 28.01.24 20:21 
в ответ Murr 28.01.24 19:13, Последний раз изменено 28.01.24 21:51 (AlexNek)
Чтобы поверх него писать новую инфу.

ну так и я о том же.


о таблице пустых блоков
------А нету такой. За ненадобностью.

И как же ты будешь дырки отслеживать?


Ну так объявляешь блоки свободными и все.

Для этого удаленные блоки данных и записываются в таблицу свободных блоков.


Выше написано во что упрешься.

расскажи лучше IBM, что процессор может быть только одноядерным

#62 
AlexNek патриот28.01.24 20:23
AlexNek
NEW 28.01.24 20:23 
в ответ Murr 28.01.24 19:16
Выше очень подробно писано. Там где об (Х/2-2)

Вижу только какую-то билиберду смущ

Что за (Х/2-2)? х=10, 5-2=3 - не может быть блок равен 3

#63 
AlexNek патриот28.01.24 21:23
AlexNek
NEW 28.01.24 21:23 
в ответ AlexNek 27.01.24 12:18

Можно начать с более простой проблемы.


Если размер выделяемых блоков кратен степени 2, то как быстрее всего найти два удалённых смежных блока?

Если все удаленные блоки хранятся в каком то списке.

#64 
Murr патриот28.01.24 21:48
Murr
NEW 28.01.24 21:48 
в ответ AlexNek 28.01.24 20:21

И как же ты будет дырки отслеживать?

-------

Может все же доки на FAT почитаешь?

#65 
AlexNek патриот28.01.24 21:52
AlexNek
NEW 28.01.24 21:52 
в ответ Murr 28.01.24 21:48
Может все же доки на FAT почитаешь?

Так ссылку уже давал раньше - не годится эта фигня, там размер блока фиксированный

#66 
Murr патриот28.01.24 21:55
Murr
NEW 28.01.24 21:55 
в ответ AlexNek 28.01.24 20:21

в таблицу свободных блоков.

------=

В таблицу блоков пишется:

000 - блок свободен для записи

FFF - блок последний в цепочке использованных блоков (первый - указан рядом с именем/ключем)

любое другое - номер следующего использованного этой записью блока

#67 
Murr патриот28.01.24 21:57
Murr
NEW 28.01.24 21:57 
в ответ AlexNek 28.01.24 20:23

не может быть блок равен 3

---------

Всего лишь Х у тебя неправильный....

#68 
AlexNek патриот28.01.24 22:05
AlexNek
NEW 28.01.24 22:05 
в ответ Murr 28.01.24 21:55
В таблицу блоков пишется:

так разве в этом проблема? Проблема в организации этой самой таблицы.


любое другое - номер следующего использованного этой записью блока

так это уже будет таблица использованных блоков, которая как раз и не требуется

#69 
AlexNek патриот28.01.24 22:05
AlexNek
NEW 28.01.24 22:05 
в ответ Murr 28.01.24 21:57
Всего лишь Х у тебя неправильный....

ну напиши правильный...

#70 
Murr патриот28.01.24 22:06
Murr
NEW 28.01.24 22:06 
в ответ AlexNek 28.01.24 21:23

как быстрее всего найти два удалённых смежных блока?

-------

Никак.

Потому как

- если блоки фиксированной длинны, то без разницы смежные они или нет

- если блоки переменной длины - в момент освобождения должны склеиваться

#71 
AlexNek патриот28.01.24 22:12
AlexNek
NEW 28.01.24 22:12 
в ответ Murr 28.01.24 22:06
если блоки переменной длины - в момент освобождения должны склеиваться

Вот бери клей бебе

0..15

120..127

#72 
Murr патриот28.01.24 22:16
Murr
NEW 28.01.24 22:16 
в ответ AlexNek 28.01.24 22:05

так это уже будет таблица использованных блоков

----------------

Это таки таблица где свободные блоки помечены 000 и порядковый номер(индекс в массиве) однозначно определяет смещение от общей выбранной точки до начала блока.

Если у тебя жопа с размерами данных - можешь сделать несколько групп блоков с разными размерами блоков и писать куда подходит.

#73 
Murr патриот28.01.24 22:19
Murr
NEW 28.01.24 22:19 
в ответ AlexNek 28.01.24 22:12

Вот бери клей

--------

А откуда взято что они смежные?

Ну да пустяки - китайца с ножницами и клеем - посадишь - будет клеить...

#74 
AlexNek патриот28.01.24 22:23
AlexNek
NEW 28.01.24 22:23 
в ответ Murr 28.01.24 22:19
А откуда взято что они смежные?

Из твоего определения - "если блоки переменной длины - в момент освобождения должны склеиваться"

#75 
AlexNek патриот28.01.24 22:26
AlexNek
NEW 28.01.24 22:26 
в ответ Murr 28.01.24 22:16
Это таки таблица где свободные блоки помечены 000

И нафига мне такая громадная таблица для всех используемых блоков?

#76 
Murr патриот29.01.24 00:13
Murr
NEW 29.01.24 00:13 
в ответ AlexNek 28.01.24 22:23

Из твоего определения -

-----------

В моем определении сказано - если - смежные - там где кончается один - начинается другой.

Как по твоим цифрькам определить смежность? А то у меня одна из возможностей определить смежность как нахождение на следующей плоскости того же цилиндра да еще с фиксированным сдвигом.


#77 
Murr патриот29.01.24 00:15
Murr
NEW 29.01.24 00:15 
в ответ AlexNek 28.01.24 22:26

А две твои таблицы - по свободным и по занятым - при том же объеме будут меньше?

#78 
AlexNek патриот29.01.24 18:02
AlexNek
NEW 29.01.24 18:02 
в ответ Murr 29.01.24 00:13
В моем определении сказано - если - смежные - там где кончается один - начинается другой.

А ты случаем не забыл это определение написать?


А то у меня одна из возможностей определить смежность как нахождение на следующей плоскости того же цилиндра да еще с фиксированным сдвигом.

Ну да, если пустую бутылку от столичной обвернуть hex дампом файла, то возможно что то похожее и получится.бебе


#79 
AlexNek патриот29.01.24 18:03
AlexNek
NEW 29.01.24 18:03 
в ответ Murr 29.01.24 00:15
А две твои таблицы - по свободным и по занятым

Откуда взялось две таблицы? Нужно только одна со свободными блоками.

#80 
1 2 3 4 5 6 все