UNPKG

graph-typed

Version:
368 lines (367 loc) 139 kB
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AbstractGraph | graph-typed</title><meta name="description" content="Documentation for graph-typed"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar"> <div class="tsd-toolbar-contents container"> <div class="table-cell" id="tsd-search" data-base=".."> <div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div> <div class="field"> <div id="tsd-toolbar-links"></div></div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">graph-typed</a></div> <div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-menu"></use></svg></a></div></div></header> <div class="container container-main"> <div class="col-content"> <div class="tsd-page-title"> <ul class="tsd-breadcrumb"> <li><a href="../modules.html">graph-typed</a></li> <li><a href="AbstractGraph.html">AbstractGraph</a></li></ul> <h1>Class AbstractGraph&lt;V, E&gt;<code class="tsd-tag ts-flagAbstract">Abstract</code> </h1></div> <section class="tsd-panel"> <h4>Type Parameters</h4> <ul class="tsd-type-parameter-list"> <li> <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span> = <a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li> <li> <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span> = <a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section> <section class="tsd-panel tsd-hierarchy"> <h4>Hierarchy</h4> <ul class="tsd-hierarchy"> <li><span class="target">AbstractGraph</span> <ul class="tsd-hierarchy"> <li><a href="DirectedGraph.html" class="tsd-signature-type tsd-kind-class">DirectedGraph</a></li> <li><a href="UndirectedGraph.html" class="tsd-signature-type tsd-kind-class">UndirectedGraph</a></li></ul></li></ul></section> <section class="tsd-panel"> <h4>Implements</h4> <ul class="tsd-hierarchy"> <li><span class="tsd-signature-type ">IAbstractGraph</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span></li></ul></section><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:49</li></ul></aside> <section class="tsd-panel-group tsd-index-group"> <section class="tsd-panel tsd-index-panel"> <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"> <h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-chevronSmall"></use></svg> Index</h5></summary> <div class="tsd-accordion-details"> <section class="tsd-index-section"> <h3 class="tsd-index-heading">Constructors</h3> <div class="tsd-index-list"><a href="AbstractGraph.html#constructor" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-512"></use></svg><span>constructor</span></a> </div></section> <section class="tsd-index-section"> <h3 class="tsd-index-heading">Properties</h3> <div class="tsd-index-list"><a href="AbstractGraph.html#_vertices" class="tsd-index-link tsd-is-private tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>_vertices</span></a> </div></section> <section class="tsd-index-section"> <h3 class="tsd-index-heading">Accessors</h3> <div class="tsd-index-list"><a href="AbstractGraph.html#vertices" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>vertices</span></a> </div></section> <section class="tsd-index-section"> <h3 class="tsd-index-heading">Methods</h3> <div class="tsd-index-list"><a href="AbstractGraph.html#_addEdgeOnly" class="tsd-index-link tsd-is-protected tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_add<wbr/>Edge<wbr/>Only</span></a> <a href="AbstractGraph.html#_addVertexOnly" class="tsd-index-link tsd-is-protected tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_add<wbr/>Vertex<wbr/>Only</span></a> <a href="AbstractGraph.html#_getVertex" class="tsd-index-link tsd-is-protected tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex</span></a> <a href="AbstractGraph.html#_getVertexId" class="tsd-index-link tsd-is-protected tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_get<wbr/>Vertex<wbr/>Id</span></a> <a href="AbstractGraph.html#_setVertices" class="tsd-index-link tsd-is-protected tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>_set<wbr/>Vertices</span></a> <a href="AbstractGraph.html#addEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Edge</span></a> <a href="AbstractGraph.html#addVertex" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Vertex</span></a> <a href="AbstractGraph.html#bellmanFord" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bellman<wbr/>Ford</span></a> <a href="AbstractGraph.html#createEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Edge</span></a> <a href="AbstractGraph.html#createVertex" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>create<wbr/>Vertex</span></a> <a href="AbstractGraph.html#degreeOf" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>degree<wbr/>Of</span></a> <a href="AbstractGraph.html#dijkstra" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra</span></a> <a href="AbstractGraph.html#dijkstraWithoutHeap" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dijkstra<wbr/>Without<wbr/>Heap</span></a> <a href="AbstractGraph.html#edgeSet" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>edge<wbr/>Set</span></a> <a href="AbstractGraph.html#edgesOf" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>edges<wbr/>Of</span></a> <a href="AbstractGraph.html#floyd" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>floyd</span></a> <a href="AbstractGraph.html#getAllPathsBetween" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>All<wbr/>Paths<wbr/>Between</span></a> <a href="AbstractGraph.html#getEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Edge</span></a> <a href="AbstractGraph.html#getEndsOfEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Ends<wbr/>Of<wbr/>Edge</span></a> <a href="AbstractGraph.html#getMinCostBetween" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Min<wbr/>Cost<wbr/>Between</span></a> <a href="AbstractGraph.html#getMinPathBetween" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Min<wbr/>Path<wbr/>Between</span></a> <a href="AbstractGraph.html#getNeighbors" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Neighbors</span></a> <a href="AbstractGraph.html#getPathSumWeight" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Path<wbr/>Sum<wbr/>Weight</span></a> <a href="AbstractGraph.html#getVertex" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Vertex</span></a> <a href="AbstractGraph.html#hasEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Edge</span></a> <a href="AbstractGraph.html#hasVertex" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Vertex</span></a> <a href="AbstractGraph.html#removeAllVertices" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>All<wbr/>Vertices</span></a> <a href="AbstractGraph.html#removeEdge" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Edge</span></a> <a href="AbstractGraph.html#removeVertex" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Vertex</span></a> <a href="AbstractGraph.html#setEdgeWeight" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Edge<wbr/>Weight</span></a> <a href="AbstractGraph.html#tarjan" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>tarjan</span></a> </div></section></div></details></section></section> <section class="tsd-panel-group tsd-member-group"> <h2>Constructors</h2> <section class="tsd-panel tsd-member tsd-is-external"><a id="constructor" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="constructor.new_AbstractGraph"><span class="tsd-kind-constructor-signature">new <wbr/>Abstract<wbr/>Graph</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AbstractGraph.html" class="tsd-signature-type tsd-kind-class">AbstractGraph</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_AbstractGraph" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <section class="tsd-panel"> <h4>Type Parameters</h4> <ul class="tsd-type-parameter-list"> <li> <h4><span class="tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span> = <a href="AbstractVertex.html" class="tsd-signature-type tsd-kind-class">AbstractVertex</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li> <li> <h4><span class="tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol"> extends </span><a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span> = <a href="AbstractEdge.html" class="tsd-signature-type tsd-kind-class">AbstractEdge</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section> <h4 class="tsd-returns-title">Returns <a href="AbstractGraph.html" class="tsd-signature-type tsd-kind-class">AbstractGraph</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section> <section class="tsd-panel-group tsd-member-group"> <h2>Properties</h2> <section class="tsd-panel tsd-member tsd-is-private tsd-is-external"><a id="_vertices" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>_vertices</span><a href="#_vertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <div class="tsd-signature"><span class="tsd-kind-property">_vertices</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:50</li></ul></aside></section></section> <section class="tsd-panel-group tsd-member-group"> <h2>Accessors</h2> <section class="tsd-panel tsd-member tsd-is-external"><a id="vertices" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><span>vertices</span><a href="#vertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature" id="vertices.vertices-1"><span class="tsd-signature-symbol">get</span> vertices<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></li> <li class="tsd-description"> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:51</li></ul></aside></li></ul></section></section> <section class="tsd-panel-group tsd-member-group"> <h2>Methods</h2> <section class="tsd-panel tsd-member tsd-is-protected tsd-is-external"><a id="_addEdgeOnly" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagAbstract">Abstract</code> <span>_add<wbr/>Edge<wbr/>Only</span><a href="#_addEdgeOnly" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="_addEdgeOnly._addEdgeOnly-1"><span class="tsd-kind-call-signature">_add<wbr/>Edge<wbr/>Only</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#_addEdgeOnly._addEdgeOnly-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:327</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-protected tsd-is-external"><a id="_addVertexOnly" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_add<wbr/>Vertex<wbr/>Only</span><a href="#_addVertexOnly" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="_addVertexOnly._addVertexOnly-1"><span class="tsd-kind-call-signature">_add<wbr/>Vertex<wbr/>Only</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">newVertex</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#_addVertexOnly._addVertexOnly-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">newVertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:328</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-protected tsd-is-external"><a id="_getVertex" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_get<wbr/>Vertex</span><a href="#_getVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="_getVertex._getVertex-1"><span class="tsd-kind-call-signature">_get<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#_getVertex._getVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">vertexOrId</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:329</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-protected tsd-is-external"><a id="_getVertexId" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_get<wbr/>Vertex<wbr/>Id</span><a href="#_getVertexId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="_getVertexId._getVertexId-1"><span class="tsd-kind-call-signature">_get<wbr/>Vertex<wbr/>Id</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">VertexId</span><a href="#_getVertexId._getVertexId-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">vertexOrId</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">VertexId</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:330</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-protected tsd-is-external"><a id="_setVertices" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>_set<wbr/>Vertices</span><a href="#_setVertices" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="_setVertices._setVertices-1"><span class="tsd-kind-call-signature">_set<wbr/>Vertices</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#_setVertices._setVertices-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:331</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="addEdge" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><span>add<wbr/>Edge</span><a href="#addEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="addEdge.addEdge-1"><span class="tsd-kind-call-signature">add<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">edge</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addEdge.addEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">edge</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <p>Implementation of IAbstractGraph.addEdge</p> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:116</li></ul></aside></li> <li class="tsd-signature tsd-anchor-link" id="addEdge.addEdge-2"><span class="tsd-kind-call-signature">add<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">src</span>, <span class="tsd-kind-parameter">dest</span>, <span class="tsd-kind-parameter">weight</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addEdge.addEdge-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">src</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li> <li> <h5><span class="tsd-kind-parameter">dest</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;val&quot;</span><span class="tsd-signature-symbol">]</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <p>Implementation of IAbstractGraph.addEdge</p> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:117</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="addVertex" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><span>add<wbr/>Vertex</span><a href="#addVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="addVertex.addVertex-1"><span class="tsd-kind-call-signature">add<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertex</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addVertex.addVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">vertex</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <p>Implementation of IAbstractGraph.addVertex</p> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:90</li></ul></aside></li> <li class="tsd-signature tsd-anchor-link" id="addVertex.addVertex-2"><span class="tsd-kind-call-signature">add<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addVertex.addVertex-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type ">VertexId</span></h5></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">&quot;val&quot;</span><span class="tsd-signature-symbol">]</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"> <p>Implementation of IAbstractGraph.addVertex</p> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:91</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="bellmanFord" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><span>bellman<wbr/>Ford</span><a href="#bellmanFord" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="bellmanFord.bellmanFord-1"><span class="tsd-kind-call-signature">bellman<wbr/>Ford</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">src</span>, <span class="tsd-kind-parameter">scanNegativeCycle</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">getMin</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">genPath</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">distMap</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">hasNegativeCycle</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">min</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">minPath</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">paths</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">preMap</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><a href="#bellmanFord.bellmanFord-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-comment tsd-typography"><p>BellmanFord time:O(VE) space:O(V) one to rest pairs /</p> <p>/** BellmanFord time:O(VE) space:O(V) one to rest pairs The Bellman-Ford algorithm is also used to find the shortest paths from a source node to all other nodes in a graph. Unlike Dijkstra&#39;s algorithm, it can handle edge weights that are negative. Its basic idea involves iterative relaxation of all edges for several rounds to gradually approximate the shortest paths. Due to its ability to handle negative-weight edges, the Bellman-Ford algorithm is more flexible in some scenarios. The <code>bellmanFord</code> function implements the Bellman-Ford algorithm to find the shortest path from a source vertex to all other vertices in a graph, and optionally detects negative cycles and generates the minimum path.</p> </div> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">src</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5> <div class="tsd-comment tsd-typography"><p>The <code>src</code> parameter is the source vertex from which the Bellman-Ford algorithm will start calculating the shortest paths. It can be either a vertex object or a vertex ID.</p> </div> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">scanNegativeCycle</span>: <span class="tsd-signature-type">boolean</span></h5> <div class="tsd-comment tsd-typography"><p>A boolean flag indicating whether to scan for negative cycles in the graph.</p> </div> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">getMin</span>: <span class="tsd-signature-type">boolean</span></h5> <div class="tsd-comment tsd-typography"><p>The <code>getMin</code> parameter is a boolean flag that determines whether the algorithm should calculate the minimum distance from the source vertex to all other vertices in the graph. If <code>getMin</code> is set to <code>true</code>, the algorithm will find the minimum distance and update the <code>min</code> variable with the minimum</p> </div> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">genPath</span>: <span class="tsd-signature-type">boolean</span></h5> <div class="tsd-comment tsd-typography"><p>A boolean flag indicating whether to generate paths for all vertices from the source vertex.</p> </div> <div class="tsd-comment tsd-typography"></div></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">distMap</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">hasNegativeCycle</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">min</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">minPath</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">paths</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">preMap</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></h4><p>The function <code>bellmanFord</code> returns an object with the following properties:</p> <ul class="tsd-parameters"> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">dist<wbr/>Map</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5></li> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">has<wbr/>Negative<wbr/>Cycle</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span></h5></li> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">min</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5></li> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">min<wbr/>Path</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span></h5></li> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">paths</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></h5></li> <li class="tsd-parameter"> <h5><span class="tsd-kind-property">pre<wbr/>Map</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul> <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:243</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="createEdge" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>create<wbr/>Edge</span><a href="#createEdge" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="createEdge.createEdge-1"><span class="tsd-kind-call-signature">create<wbr/>Edge</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">srcOrV1</span>, <span class="tsd-kind-parameter">destOrV2</span>, <span class="tsd-kind-parameter">weight</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">E</span><a href="#createEdge.createEdge-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-comment tsd-typography"><p>In TypeScript, a subclass inherits the interface implementation of its parent class, without needing to implement the same interface again in the subclass. This behavior differs from Java&#39;s approach. In Java, if a parent class implements an interface, the subclass needs to explicitly implement the same interface, even if the parent class has already implemented it. This means that using abstract methods in the parent class cannot constrain the grandchild classes. Defining methods within an interface also cannot constrain the descendant classes. When inheriting from this class, developers need to be aware that this method needs to be overridden.</p> </div> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">srcOrV1</span>: <span class="tsd-signature-type ">VertexId</span></h5> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><span class="tsd-kind-parameter">destOrV2</span>: <span class="tsd-signature-type ">VertexId</span></h5> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">weight</span>: <span class="tsd-signature-type">number</span></h5> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h5> <div class="tsd-comment tsd-typography"></div></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">E</span></h4> <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:67</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="createVertex" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>create<wbr/>Vertex</span><a href="#createVertex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="createVertex.createVertex-1"><span class="tsd-kind-call-signature">create<wbr/>Vertex</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span>, <span class="tsd-kind-parameter">val</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span><a href="#createVertex.createVertex-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-comment tsd-typography"><p>In TypeScript, a subclass inherits the interface implementation of its parent class, without needing to implement the same interface again in the subclass. This behavior differs from Java&#39;s approach. In Java, if a parent class implements an interface, the subclass needs to explicitly implement the same interface, even if the parent class has already implemented it. This means that using abstract methods in the parent class cannot constrain the grandchild classes. Defining methods within an interface also cannot constrain the descendant classes. When inheriting from this class, developers need to be aware that this method needs to be overridden.</p> </div> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type ">VertexId</span></h5> <div class="tsd-comment tsd-typography"></div></li> <li> <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">val</span>: <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5> <div class="tsd-comment tsd-typography"></div></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type tsd-kind-type-parameter">V</span></h4> <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:58</li></ul></aside></li></ul></section> <section class="tsd-panel tsd-member tsd-is-external"><a id="degreeOf" class="tsd-anchor"></a> <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagAbstract">Abstract</code> <span>degree<wbr/>Of</span><a href="#degreeOf" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3> <ul class="tsd-signatures tsd-is-external"> <li class="tsd-signature tsd-anchor-link" id="degreeOf.degreeOf-1"><span class="tsd-kind-call-signature">degree<wbr/>Of</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vertexOrId</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#degreeOf.degreeOf-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li> <li class="tsd-description"> <div class="tsd-parameters"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameter-list"> <li> <h5><span class="tsd-kind-parameter">vertexOrId</span>: <span class="tsd-signature-type ">VertexId</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type tsd-kind-type-parameter">V</span></h5></li></ul></div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"> <p>Implementation of IAbstractGraph.degreeOf</p> <ul> <li>Defined in node_modules/data-structure-typed/lib/data-structures/graph/abstract-graph.d.ts:70</li></ul></aside></li></ul></section> <s