Re[13]: вопрос к специалистам
От: Pavel Dvorkin Россия  
Дата: 22.02.10 13:16
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Никаких промежуточных данных не создается, в том-то и фан. Linq-запросы — это по сути способ комбинирования энумераторов.


Ладно, пусть. Но вот сказано — Last. Что там реально делается, когда выполняется этот Last ? Ведь нельзя же в дереве выполнить Last физически, потому что нет в дереве информации, позволяющей пройти его таким способом. Да и Last нет вообще.
Список можно и массив можно. Сделал энумератор , а он внутри себя имеет способ перехода к следующемму элементу (t=t.next или i++), а дерево нельзя и граф нельзя. Чудес-то не бывает.

Если не согласен — тогда объясни, как это делается. Ну вот есть запрос, или комбинация энумераторов, или что хочешь. Что там в конечном счете делается в этом дереве, как этот минимальный элемент находится ? Бог с ним, с линком, но какие действия там процессор выполняет ? Он же линк выполнять не может!

И еще вопрос, если можешь ответить. Императивный алгоритм обхода дерева, естественно, O(N) и однопроходной. Здесь что ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.