3-Amaliy ish
3-Amaliy ish
3-Amaliy ish
#include <iostream>
#include <algorithm>
struct Node {
int data;
Node* left;
Node* right;
Node(int value) {
data = value;
};
if (root == nullptr) {
return 0;
} else {
return root;
int main() {
return 0;
}
2 – topshiriq
Har bir talaba oʻziga tegishli variantni tanlab uni graf koʻrinishiga oʻtirishi kerak,
hosil boʻlgan grafda oʻzaro eng uzoqda joylashgan tugunlar orasida eng qisqa
yoʻlni Dijkstra usullarida topishi va natijani chiqarishi kerak .
Variant22
054078
500000
400995
009010
709107
805070
#include <iostream>
#include <vector>
#include <climits>
dist[src] = 0;
minDist = dist[j];
u = j;
visited[u] = true;
if (!visited[v] && graph[u][v] != 0 && dist[u] != INT_MAX && dist[u] + graph[u][v] < dist[v]) {
return dist[dest];
int main() {
vector<vector<int>> graph = {
{0, 5, 4, 0, 7, 8},
{5, 0, 0, 0, 0, 0},
{4, 0, 0, 9, 9, 5},
{0, 0, 9, 0, 1, 0},
{7, 0, 9, 1, 0, 7},
{8, 0, 5, 0, 7, 0}
};
int n = graph.size();
minDistance = dist;
node1 = i;
node2 = j;
cout << "Eng uzoq tugunlar: " << node1 << " va " << node2 << endl;
cout << "Eng qisqa yo'l masofasi: " << minDistance << endl;
return 0;