Int getWeight { return weight
Download 153,5 Kb.
|
Untitled-1
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI MUSTAQIL ISH Bajardi: 218-21 guruh talabasi Risqulov Abbosxon Tekshirdi: Djangazova Kumriniso Toshkent – 2022 Berilgan cho’qqidan eng uzun yo'lni topish algoritmini ishlab chiqing DASTUR KODI: #include #include #include #include #define NINF INT_MIN using namespace std; class AdjListNode { int v; int weight; public:
{ v = _v; weight = _w; } int getV() { return v; } int getWeight() { return weight; } }; class Graph { int V; list void topologicalSortUtil(int v, bool visited[], stack public:
~Graph(); void addEdge(int u, int v, int weight); void longestPath(int s); }; Graph::Graph(int V) { this->V = V; adj = new list } Graph::~Graph() { delete [] adj; } void Graph::addEdge(int u, int v, int weight) { AdjListNode node(v, weight); adj[u].push_back(node); } void Graph::topologicalSortUtil(int v, bool visited[], stack { visited[v] = true; list for (i = adj[v].begin(); i != adj[v].end(); ++i) { AdjListNode node = *i; if (!visited[node.getV()]) topologicalSortUtil(node.getV(), visited, Stack); } Stack.push(v); } void Graph::longestPath(int s) { stack int dist[V]; bool* visited = new bool[V]; for (int i = 0; i < V; i++) visited[i] = false; for (int i = 0; i < V; i++) if (visited[i] == false) topologicalSortUtil(i, visited, Stack); for (int i = 0; i < V; i++) dist[i] = NINF; dist[s] = 0; while (Stack.empty() == false) { int u = Stack.top(); Stack.pop(); list if (dist[u] != NINF) { for (i = adj[u].begin(); i != adj[u].end(); ++i){ if (dist[i->getV()] < dist[u] + i->getWeight()) dist[i->getV()] = dist[u] + i->getWeight(); } } } for (int i = 0; i < V; i++) (dist[i] == NINF) ? cout << "INF " : cout << dist[i] << " "; delete [] visited; } int main() { Graph g(6); g.addEdge(0, 1, 5); g.addEdge(0, 2, 3); g.addEdge(1, 3, 6); g.addEdge(1, 2, 2); g.addEdge(2, 4, 4); g.addEdge(2, 5, 2); g.addEdge(2, 3, 7); g.addEdge(3, 5, 1); g.addEdge(3, 4, -1); g.addEdge(4, 5, -2); int s = 1; cout << "berilgan cho'qqidan eng uzun yo'l " " " << s << " \n"; g.longestPath(s); return 0; } 2-masala
algoritmini keltiring #include using namespace std; struct Node { int data; struct Node *left, *right; }; void printLeafNodes(Node *root) { if (!root) return; if (!root->left && !root->right) { cout << root->data << " "; return; } if (root->left) printLeafNodes(root->left); if (root->right) printLeafNodes(root->right); } Node* newNode(int data) { Node *temp = new Node; temp->data = data; temp->left = temp->right = NULL; return temp; } int main() { Node *root = newNode(1); root->left = newNode(2); root->right = newNode(3); root->left->left = newNode(4); root->right->left = newNode(5); root->right->right = newNode(8); root->right->left->left = newNode(6); root->right->left->right = newNode(7); root->right->right->left = newNode(9); root->right->right->right = newNode(10); printLeafNodes(root); return 0; } Download 153,5 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling