Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2009, 20:52
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 11  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
прошу прощения описался. не линейная, а константная (линейная на самом деле еще хуже логарифмической)
__________________
я могу стать всем, если только захочу

Старый 20.08.2009, 22:12
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 12  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Вы уверены, что понимаете как работает contains? мне кажется, что код с поразительной точностью выглядит так ( только написан на Си ):
Код AS3:
public function contains(child:DisplayObject):Boolean {
	do {
		if ( child === this ) return true;
	} while ( child = child.parent );
	return false;
}

Старый 20.08.2009, 22:19
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 13  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
но как говорит товарищ etc
Цитата:
contains рекурсивный.
хотя это бессмысленный спор

UPD: но он же ходит и по всем детишкам наверно?
__________________
я могу стать всем, если только захочу


Последний раз редактировалось Felicast; 20.08.2009 в 22:25.
Старый 20.08.2009, 23:41
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 14  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Felicast, внимательно изучите мой код. он рекурсивно проверяет.

Старый 21.08.2009, 13:06
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 15  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
Felicast, внимательно изучите мой код. он рекурсивно проверяет.
Всю жизнь думал, что рекурсия - это вызов функции из самой себя(к стати, википедия тоже так думает).

Рекурсия - вещь в общем случае затратная (происходит дополнительный вызов функции), так что лучше по возможности ее не использовать. Для этого примеряют циклы, что и сделано в представленном коде.

Старый 21.08.2009, 13:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Рекурсия подразумевалась в том, что проверяется наличие ребенка в дочерних клипах, а не вызов всё того же contains у детей.

Старый 21.08.2009, 13:35
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 17  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
incoob, как ни странно, но википедия и со мной согласна

Старый 21.08.2009, 19:28
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 18  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
BlooDHounD, я не совсем понял, в чем с вами согласна википедия.
Вроде рекуррентные последовательности тут совсем не причем...

Все же вы используете не рекурсивные вызовы, а выполняете вычисления в цикле

С использованием рекурсии ваш код на AS3 выглядел бы примерно так:
Код AS3:
		public function contains(child:DisplayObject):Boolean
		{
			return child != null && (child.parent === this || contains(child.parent))
		}

Старый 21.08.2009, 19:49
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 19  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
так. совсем поплыли.
итератор тут не причём. итераторов тут не используется.
у меня последовательные вычисления одной сущности на основании другой.
а Вы в терминах ну очень плаваете.
рекурсии - они разные, и по разному выражаются. нельзя утверждать, что термин имеет одно и тоже определение во всех областях.

Старый 21.08.2009, 20:29
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 20  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Ого, оказывается циклы - это не пример итерации!
Сильно сказано.
Что же тогда у нас будет итерацией и чем оно отличается от рекурсии в вашем понимании?

Скажите, в чем я не прав:
1) рекурсия в программировании - явный или неявный вызов функции из самой себя
2) итерация - повторения ряда действий, использующих результаты предыдущей аналогичной операции
3) цикл - набор итераций
4) практически каждый рекурсивный алгоритм может быть представлен в виде итерационного (что я, собственно, вам и продемонстрировал)

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.