Re[15]: cpp и математика
От: Evgeny.Panasyuk Россия  
Дата: 08.08.16 17:12
Оценка: +1
Здравствуйте, B0FEE664, Вы писали:

BFE>>>Интересно. Где можно глянуть?

E>>Начни с реализации stl в твоём компиляторе
E>>На самом деле, зачем хранить ДВЕ ноды — терминатора, когда можно хранить ОДНУ? То, что возвращает end -- поле list, элемент двусвязного циклического списка. Его next -- это begin списка. Сверху этого всего декоратор, для rbegin и т. д...
BFE>О звёзды! Это что? В списке всегда хранится один лишний элемент с аллоцированной памятью под пользовательские данные? Какой кошмар...

Нет, необязательно. У end'а может быть другой тип (базовый), не включающий память под пользовательские данные.

E>>Почему поиск цикла в таком списке -- это алгоритм на графе, а поиск цикла в ГПСЧ -- нет? Алгоритм-то тот же?

BFE>Потому, что список существует как структура и к ней применяется алгоритм. А при поиске цикла в ГПСЧ нам сама структура не нужна, насколько я понимаю.

Алгоритм тот же самый, который как раз обходит структуру. А тот же самый он потому, что структура (в общепринятом математическом смысле) в обоих случаях одинаковая.
А вот выражены ли связи в коде явно как указатели, или же задаются функцией перехода — на применимость алгоритма не влияют
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.