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

Нахождение пути от одной ячейки к другой в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ связный список символов http://www.cyberforum.ru/cpp-beginners/thread992948.html
есть строка символов (слова через пробел, которые вводятся с клавиатуры) реализовать связный список с функцией удаления букв "а, о" из слов; удаления первой буквы первого слова, если в тексте встречаются еще слова, начинающиеся с этой буквы не выводить их. как такое реализовать ??
C++ не объявляются переменные #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; void main(); class Fun {double x,y,z,a,b,c,t; public: Fun(double a, double b, double c); ~Fun(); http://www.cyberforum.ru/cpp-beginners/thread992940.html
C++ Произведение двух матриц через разыменование указателя
программа должна вывести матрицу, которая есть результатом умножения двух матриц одинаковой размерности. нужно сделать только через разыменование поинтера. программа не выводит результата на экран. подскажите плз в чем проблема. #include <iostream> using namespace std; int main() { int a, summ; cin>>a;
C++ Некорректно работает
Здравствуйте помогите пож-та с задачкой: Сформировать вещественный массив X1(N), N≤20, элементами которого являются случайные числа из диапазона . Переслать из него в массив X2 все элементы, значения которых больше 24 и меньше 34. Вот мой код: #include <stdio.h> #include <stdlib.h> #include <conio.h> void main() {
C++ Посчитать произведение в тех рядках матрицы, в которых нет минусовых чисел http://www.cyberforum.ru/cpp-beginners/thread992902.html
Вимоги до програми: - использовать статические массивы; - максимальные розмеры массива (N i M) – константы; - реальные розмеры масива n i m (n<N, m<M) – ввести з клавиатури; - елементы массива – случайные числа, сгенерированые на интервале , де a і b (a<b) вводяться с клавиатуры; - все входящие данные а так же елементы массива выводятся на екран. 1). Программа сумирует первый и...
C++ Взгляните пожалуйста #include "stdafx.h" #include <iostream> #include <fstream> #include <vector> using namespace std; int main() { ifstream in("text.txt"); подробнее

Показать сообщение отдельно
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
31.10.2013, 19:25     Нахождение пути от одной ячейки к другой в массиве
Цитата Сообщение от ya_noob Посмотреть сообщение
если реализовать алгоритм дейкстры с использованием очереди по приоритетам, то сложность E*logV операций, где V - кол-во вершин (в вашем случае 1000), а E - кол-во ребер (путем несложных расчетов получаем для вашего случая E=4000, т.е. у каждой вершины может быть по 4 связи(слева/справа/сверху/снизу)).
для вашего примера получаем 4000 * log2(1000) = 40000 (очень быстро).
если же реализовывать дейкстру просто с помощью циклов, то сложность V*V = миллион, что чуть чуть медленнее чем первый вариант, но зато реализовать легче.
ох наврал я, жестко наврал (исходную матрицу представил как матрицу смежности, что неверно). правильно будет так: V = 1000000, E = 4000000. тогда для первого варианта E*logV = 4000000 * log2(1000000) = 800 миллионов с копейками (секунд 10 точно считать будет в худшем случае). второй вариант отпадает, т.к. не дождетесь окончания работы алгоритма, если только у вас не суперкомпьютер.
 
Текущее время: 20:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru