[{"data":1,"prerenderedAt":553},["ShallowReactive",2],{"term-g\u002Fgraph":3,"related-g\u002Fgraph":542},{"id":4,"title":5,"acronym":6,"body":7,"category":523,"description":524,"difficulty":525,"extension":526,"letter":527,"meta":528,"navigation":260,"path":529,"related":530,"seo":536,"sitemap":537,"stem":540,"subcategory":6,"__hash__":541},"terms\u002Fterms\u002Fg\u002Fgraph.md","Graph",null,{"type":8,"value":9,"toc":517},"minimark",[10,15,19,23,26,30,506,510,513],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A graph is like a network of dots connected by lines. Each dot is a node and each line is an edge. A city map is a graph: intersections are nodes, roads are edges. Social networks are graphs: people are nodes, friendships are edges. Unlike trees, graphs can have cycles and connections in any direction.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A graph is a data structure consisting of vertices (nodes) and edges (connections). Graphs can be directed (edges have direction) or undirected, weighted (edges have values) or unweighted, and cyclic or acyclic. Graph algorithms include BFS (breadth-first search), DFS (depth-first search), Dijkstra's (shortest path), and topological sort. Used in routing, social networks, and dependency resolution.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Adjacency list representation:\nconst graph = {\n  A: ['B', 'C'],\n  B: ['A', 'D', 'E'],\n  C: ['A', 'F'],\n  D: ['B'],\n  E: ['B', 'F'],\n  F: ['C', 'E']\n};\n\n\u002F\u002F BFS traversal:\nfunction bfs(start) {\n  const visited = new Set([start]);\n  const queue = [start];\n  while (queue.length) {\n    const node = queue.shift();\n    for (const neighbor of graph[node]) {\n      if (!visited.has(neighbor)) {\n        visited.add(neighbor);\n        queue.push(neighbor);\n      }\n    }\n  }\n}\n","javascript","",[38,39,40,49,67,106,145,174,194,222,249,255,262,268,290,319,337,362,385,415,444,463,482,488,494,500],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Adjacency list representation:\n",[41,50,52,56,60,64],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","const",[41,57,59],{"class":58},"sTEyZ"," graph ",[41,61,63],{"class":62},"sMK4o","=",[41,65,66],{"class":62}," {\n",[41,68,70,74,77,80,83,87,89,92,95,98,100,103],{"class":43,"line":69},3,[41,71,73],{"class":72},"swJcz","  A",[41,75,76],{"class":62},":",[41,78,79],{"class":58}," [",[41,81,82],{"class":62},"'",[41,84,86],{"class":85},"sfazB","B",[41,88,82],{"class":62},[41,90,91],{"class":62},",",[41,93,94],{"class":62}," '",[41,96,97],{"class":85},"C",[41,99,82],{"class":62},[41,101,102],{"class":58},"]",[41,104,105],{"class":62},",\n",[41,107,109,112,114,116,118,121,123,125,127,130,132,134,136,139,141,143],{"class":43,"line":108},4,[41,110,111],{"class":72},"  B",[41,113,76],{"class":62},[41,115,79],{"class":58},[41,117,82],{"class":62},[41,119,120],{"class":85},"A",[41,122,82],{"class":62},[41,124,91],{"class":62},[41,126,94],{"class":62},[41,128,129],{"class":85},"D",[41,131,82],{"class":62},[41,133,91],{"class":62},[41,135,94],{"class":62},[41,137,138],{"class":85},"E",[41,140,82],{"class":62},[41,142,102],{"class":58},[41,144,105],{"class":62},[41,146,148,151,153,155,157,159,161,163,165,168,170,172],{"class":43,"line":147},5,[41,149,150],{"class":72},"  C",[41,152,76],{"class":62},[41,154,79],{"class":58},[41,156,82],{"class":62},[41,158,120],{"class":85},[41,160,82],{"class":62},[41,162,91],{"class":62},[41,164,94],{"class":62},[41,166,167],{"class":85},"F",[41,169,82],{"class":62},[41,171,102],{"class":58},[41,173,105],{"class":62},[41,175,177,180,182,184,186,188,190,192],{"class":43,"line":176},6,[41,178,179],{"class":72},"  D",[41,181,76],{"class":62},[41,183,79],{"class":58},[41,185,82],{"class":62},[41,187,86],{"class":85},[41,189,82],{"class":62},[41,191,102],{"class":58},[41,193,105],{"class":62},[41,195,197,200,202,204,206,208,210,212,214,216,218,220],{"class":43,"line":196},7,[41,198,199],{"class":72},"  E",[41,201,76],{"class":62},[41,203,79],{"class":58},[41,205,82],{"class":62},[41,207,86],{"class":85},[41,209,82],{"class":62},[41,211,91],{"class":62},[41,213,94],{"class":62},[41,215,167],{"class":85},[41,217,82],{"class":62},[41,219,102],{"class":58},[41,221,105],{"class":62},[41,223,225,228,230,232,234,236,238,240,242,244,246],{"class":43,"line":224},8,[41,226,227],{"class":72},"  F",[41,229,76],{"class":62},[41,231,79],{"class":58},[41,233,82],{"class":62},[41,235,97],{"class":85},[41,237,82],{"class":62},[41,239,91],{"class":62},[41,241,94],{"class":62},[41,243,138],{"class":85},[41,245,82],{"class":62},[41,247,248],{"class":58},"]\n",[41,250,252],{"class":43,"line":251},9,[41,253,254],{"class":62},"};\n",[41,256,258],{"class":43,"line":257},10,[41,259,261],{"emptyLinePlaceholder":260},true,"\n",[41,263,265],{"class":43,"line":264},11,[41,266,267],{"class":47},"\u002F\u002F BFS traversal:\n",[41,269,271,274,278,281,285,288],{"class":43,"line":270},12,[41,272,273],{"class":54},"function",[41,275,277],{"class":276},"s2Zo4"," bfs",[41,279,280],{"class":62},"(",[41,282,284],{"class":283},"sHdIc","start",[41,286,287],{"class":62},")",[41,289,66],{"class":62},[41,291,293,296,299,302,305,308,311,313,316],{"class":43,"line":292},13,[41,294,295],{"class":54},"  const",[41,297,298],{"class":58}," visited",[41,300,301],{"class":62}," =",[41,303,304],{"class":62}," new",[41,306,307],{"class":276}," Set",[41,309,310],{"class":72},"([",[41,312,284],{"class":58},[41,314,315],{"class":72},"])",[41,317,318],{"class":62},";\n",[41,320,322,324,327,329,331,333,335],{"class":43,"line":321},14,[41,323,295],{"class":54},[41,325,326],{"class":58}," queue",[41,328,301],{"class":62},[41,330,79],{"class":72},[41,332,284],{"class":58},[41,334,102],{"class":72},[41,336,318],{"class":62},[41,338,340,344,347,350,353,356,359],{"class":43,"line":339},15,[41,341,343],{"class":342},"s7zQu","  while",[41,345,346],{"class":72}," (",[41,348,349],{"class":58},"queue",[41,351,352],{"class":62},".",[41,354,355],{"class":58},"length",[41,357,358],{"class":72},") ",[41,360,361],{"class":62},"{\n",[41,363,365,368,371,373,375,377,380,383],{"class":43,"line":364},16,[41,366,367],{"class":54},"    const",[41,369,370],{"class":58}," node",[41,372,301],{"class":62},[41,374,326],{"class":58},[41,376,352],{"class":62},[41,378,379],{"class":276},"shift",[41,381,382],{"class":72},"()",[41,384,318],{"class":62},[41,386,388,391,393,395,398,401,404,407,410,413],{"class":43,"line":387},17,[41,389,390],{"class":342},"    for",[41,392,346],{"class":72},[41,394,55],{"class":54},[41,396,397],{"class":58}," neighbor",[41,399,400],{"class":62}," of",[41,402,403],{"class":58}," graph",[41,405,406],{"class":72},"[",[41,408,409],{"class":58},"node",[41,411,412],{"class":72},"]) ",[41,414,361],{"class":62},[41,416,418,421,423,426,429,431,434,436,439,442],{"class":43,"line":417},18,[41,419,420],{"class":342},"      if",[41,422,346],{"class":72},[41,424,425],{"class":62},"!",[41,427,428],{"class":58},"visited",[41,430,352],{"class":62},[41,432,433],{"class":276},"has",[41,435,280],{"class":72},[41,437,438],{"class":58},"neighbor",[41,440,441],{"class":72},")) ",[41,443,361],{"class":62},[41,445,447,450,452,455,457,459,461],{"class":43,"line":446},19,[41,448,449],{"class":58},"        visited",[41,451,352],{"class":62},[41,453,454],{"class":276},"add",[41,456,280],{"class":72},[41,458,438],{"class":58},[41,460,287],{"class":72},[41,462,318],{"class":62},[41,464,466,469,471,474,476,478,480],{"class":43,"line":465},20,[41,467,468],{"class":58},"        queue",[41,470,352],{"class":62},[41,472,473],{"class":276},"push",[41,475,280],{"class":72},[41,477,438],{"class":58},[41,479,287],{"class":72},[41,481,318],{"class":62},[41,483,485],{"class":43,"line":484},21,[41,486,487],{"class":62},"      }\n",[41,489,491],{"class":43,"line":490},22,[41,492,493],{"class":62},"    }\n",[41,495,497],{"class":43,"line":496},23,[41,498,499],{"class":62},"  }\n",[41,501,503],{"class":43,"line":502},24,[41,504,505],{"class":62},"}\n",[11,507,509],{"id":508},"when-youll-hear-this","When You'll Hear This",[16,511,512],{},"\"Model the dependencies as a graph and detect cycles.\" \u002F \"BFS on a graph is how you find the shortest unweighted path.\"",[514,515,516],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":518},[519,520,521,522],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":508,"depth":51,"text":509},"general","A graph is like a network of dots connected by lines. Each dot is a node and each line is an edge.","intermediate","md","g",{},"\u002Fterms\u002Fg\u002Fgraph",[531,532,533,534,535],"Tree","Data Structure","Algorithm","BFS","DFS",{"title":5,"description":524},{"changefreq":538,"priority":539},"weekly",0.7,"terms\u002Fg\u002Fgraph","x0psTnxTNDghJDhZtYlrq30RQvB8IPpplDWstcx_Jis",[543,547,550],{"title":533,"path":544,"acronym":6,"category":523,"difficulty":545,"description":546},"\u002Fterms\u002Fa\u002Falgorithm","beginner","An algorithm is just a step-by-step recipe for solving a problem. Sort a list? There is an algorithm. Find the shortest path? Algorithm. Make a sandwich?",{"title":532,"path":548,"acronym":6,"category":523,"difficulty":545,"description":549},"\u002Fterms\u002Fd\u002Fdata-structure","A data structure is a way of organizing information in your code so it is easy to use and fast to access.",{"title":531,"path":551,"acronym":6,"category":523,"difficulty":525,"description":552},"\u002Fterms\u002Ft\u002Ftree","A tree is a data structure shaped like an upside-down tree — one root at the top, branches going down, and leaves at the very bottom.",1776518284865]