Форум программистов, компьютерный форум CyberForum.ru

Хитрое разделение массивов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ удалить текст из файла http://www.cyberforum.ru/cpp-beginners/thread59677.html
как удалить текст из файла?30 часа в поиске сижу,помню где то читал что то вро f=fopen(name, "w+r)или что то в этом роде помогите Добавлено через 3 минуты извините не 30 часов а минут
C++ Определить максимальное число из пяти заданных чисел Буду благодарен если поможете решить хоть что нибудь=-O 1.Запишите алгоритм программы, определяющей максимальное число из пяти заданных чисел. 2.Запишите алгоритм программы, определяющей минимальное число из пяти заданных чисел. 3.Запишите алгоритм программы, определяющей среднее значение для пяти заданных чисел. 4.Запишите алгоритм программы, определяющей разность между максимальным и... http://www.cyberforum.ru/cpp-beginners/thread59662.html
Не запускается программа C++
Эта программа для подсчёта количества слов начинающихся с определённой буквы. У меня проблема с запуском пишет кучу ошибок про 'std'. Помогите запустить прогу! #include <iostream> #include <string> int main() { std::cout << "Please, enter string: "; std::string str; std::getline(std::cin, str);
C++ Разработать базу данных студентов.
Уважаемые программисты.помогите с программой,а то их навалилась куча и к тому не понимаю еще как это сделать. Разработать базу данных студентов. Исходными данными для проектирования является: информация о группе студентов из N человек, где запись о студенте содержит следующие данные: 1)Ф.И.О. студента. 2)Число, месяц, год рождения. 3)Год поступления в институт. 4)Факультет, кафедра....
C++ МАссив хелп http://www.cyberforum.ru/cpp-beginners/thread59630.html
Используйте двумерный массив для решения следующей задачи. Компания имеет 4 продавцов (их номера от 1 до 4), которые продают 5 разных продуктов (их номера от 1 до 5). Каждый день заносится следующая информация: 1) номер продавца; 2) номер продукта; 3) Общая выручка в долларах за проданный в этот день продукт. Напишите программу, которая считывает эту информацию за месяц и подсчитывает общую...
C++ Деление чисел. Ошибка на ровном месте. Не пойму почему. Пишу задачу, где нужно вычислить простое выражение. И возникает проблема при делении 1 на другие числа. Код ниже: //вычисление формулы #include <iostream> #include <iomanip> #include <cmath> #include <conio.h> using namespace std; int main() подробнее

Показать сообщение отдельно
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
30.10.2009, 11:25     Хитрое разделение массивов.
А я не сказал что нужно считать с помощью моего алгоритма
Памяти потребуется больше - это факт.
Но и считать он будет быстрее чем тупой алгоритм в лоб.

Алгоритм в лоб будет считать примерное O(N*N*LOG(N)).
Мой алгоритм будет считать примерное O(N*LOG(N)), но потребует больше памяти.

Добавлено через 6 минут
заменять их в массиве A скажем на MAXDOUBLE и MINDOUBLE
Это неправильная идея. Потому что расстояние между двумя MAXDOUBLE равно 0, то есть минимально. Нужно именно удалять элементы !
отсортировать массив A, то можно сверять расстояния тока между соседними элементами.
А вот это уже хорошая идея.
Сортируем массив. Тогда чтобы найти минимальное расстояние потребуется всего O(N) действий. И не требуется заводить большой дополнительный массив.
Потом удаляем два элемента с минимальным расстоянием путем сдвига массива.
И опять ищем минимальное расстояние.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru