Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/549: Рейтинг темы: голосов - 549, средняя оценка - 4.75
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
22.01.2011, 23:46
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от yanyk1n Посмотреть сообщение
Ещё как, это чуть не ли один из канонов решения задач по графам
но ведь его можно заменить bfs'ом и dfs'ом?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.01.2011, 23:46
Ответы с готовыми решениями:

CyberChat 5.0 <- Флудим здесь
Решил реанимировать старика https://www.cyberforum.ru/dump/thread62189.html , который, похоже, пользовался успехом (за тыщу страниц...

CyberChat 4.2 <- Флудим здесь
Продолжение темы https://www.cyberforum.ru/dump/thread521792.html Правила темы:

CyberChat 4.3 <- Флудим здесь
Продолжение темы https://www.cyberforum.ru/dump/thread662153-page111.html Правила темы:

1619
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
22.01.2011, 23:50
Собственно, сам алгоритм Дейкстры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <stdio.h>
#include <vector>
#include <limits>
using namespace std;
 
const int inf = numeric_limits<int>::max();
 
struct Edge {
     int to;        // Конец ребра
     int weight;    // Вес ребра
     Edge(int _to = 0, int _weight = 0) {
         to = _to;
         weight = _weight;
     }
 };
 
 // Входные данные (граф)
 vector<vector<Edge> > graph;
 
 // Данные, используемые алгоритмом Дейкстры1 vector<bool> added;
 vector<int> d, parents;
 
 // Находит еще не добавленную вершину с минимальным значением
 // d. Если все вершины с d, отличным от бесконечности, уже
 // добавлены - возаращает -1.
 int nextVertex() {
     int result = -1;
     for(int i = 0; i < graph.size(); i++)
         if(!added[i] && d[i] != inf && (result == -1 || d[i] < d[result]))
             result = i;
     return result;
 }
 
 // Стандартная инициализация перед релаксациями
 void initialize(int s) {
     added.assign(graph.size(), false);
     d.assign(graph.size(), inf);
     d[s] = 0;
     parents.assign(graph.size(), -1);
 }
 
 // Релаксация ребра
 void relax(int u, int v, int weight) {
     if(d[v] > d[u] + weight) {
         d[v] = d[u] + weight;
         parents[v] = u;
     }
 }
 
 // Собственно алгоритм Дейкстры
 void dijkstra(int s) {
     int u;
 
     initialize(s);
     while((u = nextVertex()) != -1) {
         added[u] = true;
         for(int j = 0; j < graph[u].size(); j++)
             relax(u, graph[u][j].to, graph[u][j].weight);
     }
 }
 
 // Простая демонстрация
 // Считывает описание взвешенного графа и пару вершин (from, to)
 // Печатает кратчайший путь от from до to
 int main()
 {
     int vertexCount, edgeCount;
     int from, to;
 
     // Read the input
     scanf("%d%d", &vertexCount, &edgeCount);
     graph.resize(vertexCount);
     for(int i = 0; i < edgeCount; i++) {
         int from, to, weight;
         scanf("%d%d%d", &from, &to, &weight);
         graph[from].push_back(Edge(to, weight));
     }
     scanf("%d%d", &from, &to);
 
     // Run the algo
     dijkstra(from);
 
     // Print the result
     if(to != from && parents[to] == -1) {
         printf("%d isn't reachable from %d\n", to, from);
     } else {
         vector<int> path;
         for(int cur = to; cur != -1; cur = parents[cur])
             path.push_back(cur);
         for(int i = path.size() - 1; i >= 0; i--)
             printf("%d ", path[i]);
         printf("\n");
     }
 }

Источник - лекции по программированию на моём направлении

Добавлено через 1 минуту
Цитата Сообщение от Vladiator Посмотреть сообщение
но ведь его можно заменить bfs'ом и dfs'ом?
Нет, не всегда... Одни алгоритмы нужны, чтобы проверить граф на какие-то св-ва (скажем, имеет ли он цикл или нет), а другие - для нахождения расстояний или каких-то других характеристик.
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
22.01.2011, 23:56
yanyk1n, спасибо. За ночь точно не выучу, а принтер картриджи требует.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
22.01.2011, 23:59
Напоследок: http://ru.wikipedia.org/wiki/%... 0%B8%D0%B5

Добавлено через 55 секунд
Внизу есть примеры, очень рекомендую их изучить
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
23.01.2011, 00:07
yanyk1n, спасибо. у меня двухнедельняя лень только вчера отпала( теперь поздно, надо будет самому догадываться) наверное, пойду спать, так как рано вставать.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
23.01.2011, 00:10
Vladiator, спокойной ночи и ещё раз удачи! Ни пуха пи пера!
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
23.01.2011, 00:15
Цитата Сообщение от yanyk1n Посмотреть сообщение
спокойной ночи и ещё раз удачи! Ни пуха пи пера!
спасибо...
0
 Аватар для vasy02
12 / 12 / 8
Регистрация: 19.10.2010
Сообщений: 237
23.01.2011, 18:06
аааа я тоже первый этап завалил, а второй пока не знаю как сделал
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
23.01.2011, 22:14
3-й рейтинг

Добавлено через 3 часа 33 минуты
Эти 10 часов работал в VS2008 (впервые в моей жизни не зависала и дала попрограммировать на C++!). Вроде ничего, но Qt Creator лучше, не говоря о vim, на который я перейду позже.
0
610 / 93 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
28.01.2011, 21:15
Какое вступление лучше сделать для исследования "Кроссплатформенное программирование"?

Основные понятия, зачем нужно, etc...

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от Vladiator Посмотреть сообщение
Вроде ничего, но Qt Creator лучше, не говоря о vim, на который я перейду позже.
Чистый g++ рулит! Без шуток...

0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
28.01.2011, 21:26
Цитата Сообщение от i.c Посмотреть сообщение
Без шуток..
С шутками. g++ - компилятор. Где программу писать?
0
610 / 93 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
28.01.2011, 21:31
Bash
1
2
g++ sample.cpp
./a.out
Так я писал школьную олимпиаду...
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
28.01.2011, 21:34
Цитата Сообщение от i.c Посмотреть сообщение
Так я писал школьную олимпиаду...
g++: sample.cpp: No such file or directory
g++: no input files
0
610 / 93 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
28.01.2011, 21:35
А ты сделай cpp файл в gedit'е...
sample.cpp
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
28.01.2011, 21:37
*опираясь на левую руку* Наконец-то наши холиварщики вернилусь... А то я тут уже немного заскучал... *зевок*
Всем привет!

Добавлено через 50 секунд
Цитата Сообщение от i.c Посмотреть сообщение
А ты сделай cpp файл в gedit'е...
Ну или в nano...

Не по теме:

да, мне обязательно надо было вставить слово:D

0
610 / 93 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
28.01.2011, 21:39
Вернемся к теме...
Какое вступление лучше сделать для исследования "Кроссплатформенное программирование"?

Основные понятия, зачем нужно, etc...
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
28.01.2011, 21:44
i.c, ты ошибаешься, здесь нет темы на то она и флудилка
0
610 / 93 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
28.01.2011, 21:49
Цитата Сообщение от Vladiator Посмотреть сообщение
Эти 10 часов работал в VS2008 (впервые в моей жизни не зависала и дала попрограммировать на C++!)
А мне разрешили JDK и NetBeans установить...
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
28.01.2011, 22:15
Цитата Сообщение от i.c Посмотреть сообщение
А ты сделай cpp файл в gedit'е...
а ты говорил, что только g++. Вот)
PS. Vim рулит

Добавлено через 1 минуту
Цитата Сообщение от i.c Посмотреть сообщение
А мне разрешили JDK и NetBeans установить...
а мне - нет (по регламенту). Что-то говорили про Elcipse, но до него так и не дошло. Это моя любимая среда после vim/gedit+g++ и Qt Creator.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
28.01.2011, 23:10
Цитата Сообщение от Vladiator Посмотреть сообщение
PS. Vim рулит
И чем же? Интуитивно-непонятным интерфейсом?

Добавлено через 51 секунду
На мой взгляд это абсурд, когда вместо одного нажатия надо делать как минимум два...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2011, 23:10

CyberChat 4.4 <- Флудим здесь
Продолжение темы https://www.cyberforum.ru/dump/thread668441-page107.html Правила темы:

CyberChat 4.0 <- Флудим здесь
Посмотрели мы с CyberБурундукЪ'ом на ситуацию, и поняли - народу не хватает общения. Везде эти модераторы, которые чистят оффтоп и раздают...

... флудим про дизайн )))
Дизайн порадовал ) только вот в Опера 10 чуток смазанно смотрится ...

Здесь есть какие нибудь ошибки ? и как здесь получается в ответе 6.25?
program r2; var b:real; begin b:=100; repeat b:=b/2; until b&lt;10; writeln (b:0:2); end. Здесь есть какие нибудь ошибки ?...

CyberChat 4.5
Продолжение темы https://www.cyberforum.ru/dump/thread676513.html#post3631070


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Закрытая тема Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru