FAQ Степан Ильин aka Step Хакер, номер #071, стр. 071-136-3 A: Не секрет, что эффективность алгоритмов играет далеко не последнюю роль во время разработки какого-либо проекта, пускай даже самого элементарного. Это эффективность нужно каким-то образом измерять, а для этого можно использовать разные подходы. Самый примитивный – запустить каждый алгоритм с одними и теми же данными, а потом сравнить время исполнения. Однако это не лучший вариант, т.к. при других условиях вполне может оказаться, что полученные отношения производительности не выполняются. Предпочтительнее другой способ – математический, основанный на оценке эффективности путем подсчета количества операций. Результат такого подсчета обозначается специальным символом O(n). Это так называемая верхняя оценка. Количество операций, а, следовательно, и время работы растет не быстрее, чем количество элементов. Если вместо n будет стоять n^2 (n в квадрате), то сложность будет соответственно больше, как и у, к примеру, n*log(n). Математическое обоснование этого способа, а также правила и примеры составления функции ты можешь прочитать здесь: http://algolist.manual.ru/misc/o_n.php. Q: Существуют ли способы заставить работать Visual Basic 6 с БД Access2000? Если есть, то подскажи варианты. Пишу софт для предприятия, но не могу найти инфы по этому поводу. A: Плохо ищешь, двоечник! Глянь ты хотя бы в банальный vba.hlm – сразу же найдешь там инфу по «Data Access Methods by Object». Ну, да ладно. Общий план работы с базой выглядит следующим образом. Первым делом следует установить ссылку на библиотеку Microsoft DAO 3.6 Object Library (версия и сама библиотека могут, естественно, быть другими). Далее деклалируем типы: Dim dbsMy As Database Dim rsMy As Recordset Открытие базы происходит следующим образом: Set dbsMy = OpenDatabase("c:\dbsMy.mdb") А таблицы следующим: Set rsMy = dbsMy.OpenRecordset("Таблица 1", dbOpenDynaset) Запись добавить можно, например, так: rsMy.AddNew rsMy.AbsolutePosition = 1 rsMy.Edit rsMy("Поле1") = "Хакер!" rsMy.Update Поиск по базе: rsMy.FindFirst ("Поле1='Хакер'") MsgBox ( rsMy("Поле1")) Закрытие базы rsMy.Close dbsMy.Close Q: Вопрос, возможно, довольно примитивный, но… Существует ли возможность из PHP-скрипта запустить внешнюю программу? Причем не просто запустить, но и скормить ей на вход данные, и, мало того, еще и получить результат ее работы? A: Стандартная, казалось бы, для таких дел функция system() едва ли в этом случае будет хорошим вариантом. Я бы на твоем месте поступил так: раз нужно передать свои данные на stdin внешней программе, то почему бы не воспользоваться функцией proc_open (актуально только для PHP > = 4.3.0, PHP 5)? Она выполняет любую команду и умеет работать с потоками. Именно то, что нужно! Хорошо и то, что в справке подробно разобран пример ее использования. Здесь я его дублировать не буду. Q: Посоветуй прогу для автоматического ввода данных в полях HTML-овских форм. В последнее время начал активно заниматься продвижением своих веб-проектов. Отсюда вытекает масса мороки с регистрацией в различных топах, рейтингах и т.п. Специальные сервисы для этого дела я юзать не хочу, потому что не доверяю я им! |