Код:
while ( i<=n )
Есть ли какие-то замечания по поводу работы самого алгоритма?
Статистика: Добавлено Izh — Вс апр 16, 2006 7:31 am
Код:
while ( i<=n )
Статистика: Добавлено KirAleks — Пт апр 14, 2006 3:28 pm
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t maxc = 0;
unsigned int i = 2;
if (n>2) {
if (a[1]<a[0]) goto label1;
label2:
while ( i<=n ) { <-------------
if (a[i]<a[i-1]) { <-------------
maxc++;
goto label1;
}
i++ ;
}
label1:
while ( i<=n ) { <-------------
if (a[i]>=a[i-1]) { <-------------
goto label2;
};
i++;
}
}
return maxc;
}
Статистика: Добавлено Izh — Вт апр 11, 2006 2:41 am
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t c = 0;
if (n > 2)
{
unsigned char rise;
for (++a, --n, rise = *(a - 1) < *a; n > 0; ++a, --n)
if (rise ? *(a - 1) > *a : *(a - 1) < *a)
{
c += rise;
rise = !rise;
}
}
return c;
}
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t maxc = 0;
unsigned int i = 2;
if (n>2) {
if (a[1]<a[0]) goto label1;
label2:
while ( i<=n ) {
if (a[i]<a[i-1]) {
maxc++;
goto label1;
}
i++ ;
}
label1:
while ( i<=n ) {
if (a[i]>=a[i-1]) {
goto label2;
};
i++;
}
}
return maxc;
}
Статистика: Добавлено KirAleks — Пн апр 03, 2006 3:45 am
Статистика: Добавлено KP580BE51 — Сб апр 01, 2006 5:02 am
KirAleks писал(а):По вашему ответу становится ясно что математический анализ в Университете вам не преподавали. Я целиком поддерживаю определение Dimpa (в математическом смысле)
Статистика: Добавлено KirAleks — Сб апр 01, 2006 4:05 am
Статистика: Добавлено KP580BE51 — Сб апр 01, 2006 3:48 am
dimp писал(а):KP580BE51 писал(а):Определение максимума в математике достаточно однозначно - это точка в которой первая производная меняет знак.
Определение локального максимума функции действительно однозначно, но никакой "производной" там нет, вобще говоря, производная может быть вобще неопределена в этой точке, как тогда говорить о том, что она "меняет знак".Точка x0 является локальным максимумом f(x), если существует такое e>0, что для любого x, |x-x0|<e, выполняется f(x0)>=f(x)
a maximal extremum (maximal turning point or relative maximum) is one where the derivative of the function changes from positive to negative;
Статистика: Добавлено KirAleks — Сб апр 01, 2006 3:41 am
Статистика: Добавлено Flash-04 — Чт фев 16, 2006 12:53 pm
Статистика: Добавлено IvanGrozniy — Чт фев 16, 2006 12:43 pm
Статистика: Добавлено Flash-04 — Чт фев 16, 2006 9:37 am
Статистика: Добавлено IvanGrozniy — Чт фев 16, 2006 9:27 am
Dimchik писал(а):про неусточивость вообще ничего не знаю
Статистика: Добавлено TheKonst — Чт фев 16, 2006 12:18 am
Статистика: Добавлено Иоп — Пт янв 27, 2006 5:08 pm
8K писал(а):ПБХ писал(а):Производная для последовательностей вообще не определена.
Ну, уж если интегралы берут по дискретной мере, то неужели для производных ничего не придумали?
Статистика: Добавлено 8K — Пт янв 27, 2006 5:06 pm
ПБХ писал(а):Производная для последовательностей вообще не определена.
Статистика: Добавлено ПБХ — Пт янв 27, 2006 3:15 pm
Dimchik писал(а):про неусточивость вообще ничего не знаю
Статистика: Добавлено Dimchik — Пт янв 27, 2006 4:06 am
Статистика: Добавлено 8K — Пт янв 27, 2006 4:04 am
Dimchik писал(а):8K писал(а):ПБХ писал(а):Производная для последовательностей вообще не определена.
Ну, уж если интегралы берут по дискретной мере, то неужели для производных ничего не придумали?
Вся наука на решетке построена на "дискретных производных". Миллион задач в конечных разностях.
Статистика: Добавлено Dimchik — Пт янв 27, 2006 3:50 am
8K писал(а):ПБХ писал(а):Производная для последовательностей вообще не определена.
Ну, уж если интегралы берут по дискретной мере, то неужели для производных ничего не придумали?
Статистика: Добавлено 8K — Пт янв 27, 2006 3:44 am
ПБХ писал(а):Производная для последовательностей вообще не определена.
Статистика: Добавлено Dimchik — Пт янв 27, 2006 3:43 am
Статистика: Добавлено 8K — Пт янв 27, 2006 3:30 am
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t c = 0;
if (n > 2)
{
const int *p1, *p2, *p3;
for (n -= 2, p1 = a, p2 = p1 + 1, p3 = p2 + 1; n > 0;
--n, p1 = p2, p2 = p3, ++p3)
if (*p1 <= *p2 && *p2 > *p3)
++c;
}
return c;
}
Статистика: Добавлено AndreyT — Чт янв 26, 2006 5:50 pm
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t c = 0;
if (n > 2)
{
unsigned char rise;
for (++a, --n, rise = *(a - 1) < *a; ; rise = !rise)
{
assert(n > 0);
for (++a, --n; n > 0; ++a, --n)
if (rise ? *(a - 1) > *a : *(a - 1) < *a)
break;
if (n == 0)
break;
c += rise;
}
}
return c;
}
Код:
size_t num_local_maximums(const int a[], size_t n)
{
size_t c = 0;
if (n > 2)
{
unsigned char rise;
for (++a, --n, rise = *(a - 1) < *a; n > 0; ++a, --n)
if (rise ? *(a - 1) > *a : *(a - 1) < *a)
{
c += rise;
rise = !rise;
}
}
return c;
}
Статистика: Добавлено AndreyT — Чт янв 26, 2006 5:36 pm
Код:
unsigned int num_local_maximums( const int array[], size_t size );
Статистика: Добавлено AndreyT — Чт янв 26, 2006 4:44 pm
Izh писал(а):Про отстутствие форматирования вообще
говорить не хочеться.
Все! Интервью завалено! Аднозначно!
Статистика: Добавлено AndreyT — Чт янв 26, 2006 4:37 pm
Статистика: Добавлено ПБХ — Вт янв 24, 2006 9:35 pm
Вы, случайно, не физик?
Статистика: Добавлено Izh — Вт янв 24, 2006 9:12 pm
Wikipedia писал(а):The concepts of maxima and minima are not restricted to
functions whose domain is the real numbers. One can talk about
global maxima and global minima for real-valued functions whose
domain is any set. In order to be able to define local maxima and
local minima, the function needs to take real values, and the
concept of neighborhood must be defined on the domain of the
function. A neighborhood then plays the role of the set of x such
that |x - x*| < ε.
Статистика: Добавлено Izh — Вт янв 24, 2006 9:10 pm
А Вы не проподователь ВУЗа?Вы, случайно, не физик?
Статистика: Добавлено vm__ — Вт янв 24, 2006 8:27 pm
Статистика: Добавлено Taffi — Вт янв 24, 2006 7:39 pm
ПБХ писал(а):Если пользоваться "определением из Wikipedia", которое, строго говоря, неприменимо в Вашем случае, то каждый элемент любого массива является локальным максимумом.
Неформальный
(в математическом смысле) подход к постановке задачи очень
часто приводит к тому, что заказчик получает не совсем (или
совсем не то) что просил, а также ведет к большому
количеству ошибок при дизайне, когда люди принимают
свои предположения о том, как устроен окружающий мир
за действительность, без предварительной проверки.
Статистика: Добавлено ПБХ — Вт янв 24, 2006 7:25 pm
Статистика: Добавлено Izh — Вт янв 24, 2006 1:24 pm
Статистика: Добавлено ПБХ — Пн янв 23, 2006 10:59 pm
2. Игнорируются плоские локальные максимумы.
Статистика: Добавлено Izh — Пн янв 23, 2006 10:23 pm
2. Игнорируются плоские локальные максимумы.
Статистика: Добавлено Taffi — Пн янв 23, 2006 9:54 pm
Код:
if(size < 2)
return size;
Статистика: Добавлено Izh — Пн янв 23, 2006 12:50 pm
Код:
if(size < 2)
return size;
Статистика: Добавлено Gabo — Пн янв 23, 2006 8:00 am
Статистика: Добавлено Izh — Пн янв 23, 2006 4:03 am