Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में एक ग्राफ बनाना


हम एक ग्राफ़ क्लास बनाएंगे जो वज़न और निर्देशित और अप्रत्यक्ष दोनों प्रकारों का समर्थन करता है। इसे एक आसन्न सूची का उपयोग करके लागू किया जाएगा। जैसे-जैसे हम अधिक उन्नत अवधारणाओं की ओर बढ़ते हैं, ग्राफ़ के भार और निर्देशित प्रकृति दोनों ही काम आएंगे।

एक आसन्न सूची अलग सूचियों की एक सरणी ए है। ऐरे का प्रत्येक अवयव एक सूची है, जिसमें वे सभी शीर्ष शामिल हैं जो शीर्ष i से सटे हैं। हम इसे 2 सदस्यों, नोड्स और किनारों का उपयोग करके परिभाषित कर रहे हैं।

आइए अपनी कक्षा और कुछ विधियों को परिभाषित करके ग्राफ़ क्लास सेट करें जिनका उपयोग हम अपने ग्राफ़ में नोड्स और किनारों को जोड़ने के लिए करेंगे।

हम शुरू में निम्नलिखित विधियों को परिभाषित करेंगे -

  • addNode:ग्राफ़ में एक नोड जोड़ता है
  • addEdge:ग्राफ़ में एक अप्रत्यक्ष किनारा जोड़ता है
  • addDirectedEdge:एक निर्देशित किनारा जोड़ता है

उदाहरण

क्लास ग्राफ {कन्स्ट्रक्टर () {this.edges ={}; यह नोड्स =[]; } एडनोड (नोड) {this.nodes.push (नोड); यह किनारों [नोड] =[]; } addEdge (नोड 1, नोड 2) { यह किनारों [नोड 1]। पुश (नोड 2); यह किनारों [नोड 2]। पुश (नोड 1); } addDirectedEdge(node1, node2) {this.edges[node1].push(node2); } प्रदर्शन () { ग्राफ ="" दें; this.nodes.forEach(नोड => {ग्राफ +=नोड + "->" + this.edges[node].join(", ") + "\n"; }); कंसोल.लॉग (ग्राफ); }} 

आप -

. का उपयोग करके इन विधियों और हमारी कक्षा का परीक्षण कर सकते हैं

उदाहरण

चलो g =नया ग्राफ़ ();g.addNode("A");g.addNode("B");g.addNode("C");g.addNode("D");g.addNode ("इ"); g.addEdge("A", "C");g.addEdge("A", "B");g.addDirectedEdge("A", "D");g.addEdge("D", "E" );g.डिस्प्ले ();

आउटपुट

यह आउटपुट देगा -

A->C, B, DB->AC->AD->EE->D

  1. जावास्क्रिप्ट - एक कस्टम छवि स्लाइडर बनाना

    जावास्क्रिप्ट में एक कस्टम इमेज स्लाइडर बनाने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    * {       box-sizing: border-box;

  1. नए कीवर्ड के साथ जावास्क्रिप्ट सरणी बनाना।

    नए कीवर्ड के साथ JavaScript सरणी बनाने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume

  1. जावास्क्रिप्ट का उपयोग करके ऑटो-रिसाइज टेक्स्ट एरिया बनाना

    जावास्क्रिप्ट का उपयोग करके ऑटो आकार बदलने वाले टेक्स्ट क्षेत्र को बनाने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1