adjacency-list 0.0.2

Adjacency List and Adjacency Graph
Documentation
<p>Sparse, edge first, adjacency list</p>
<h1 id="space-complexity">Space Complexity</h1>
<ul>
    <li>
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mi>|</mi>
                    <mi>V</mi>
                    <mi>|</mi>
                    <mo>+</mo>
                    <mi>|</mi>
                    <mi>E</mi>
                    <mi>|</mi>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
        for undirected graph
    </li>
    <li>
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mi>|</mi>
                    <mi>V</mi>
                    <mi>|</mi>
                    <mo>+</mo>
                    <mn>2</mn>
                    <mi>|</mi>
                    <mi>E</mi>
                    <mi>|</mi>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
        for directed graph
    </li>
</ul>
<h1 id="node-time-complexity">Node Time Complexity</h1>
<p>This structure has very good performance for nodes</p>
<ul>
    <li>Insert:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Query:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Removal:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Count:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Neighbors:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
</ul>
<h1 id="edge-time-complexity">Edge Time Complexity</h1>
<p>This structure has linear complexity across the edges</p>
<ul>
    <li>Insert edge:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mn>1</mn>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Query edge:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mi>|</mi>
                    <mi>V</mi>
                    <mi>|</mi>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Removal edge:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mi>|</mi>
                    <mi>V</mi>
                    <mi>|</mi>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
    <li>Count edges:
        <math display="inline">
            <mrow>
                <mi>O</mi>
                <mrow>
                    <mo fence="true" form="prefix">(</mo>
                    <mi>|</mi>
                    <mi>V</mi>
                    <mi>|</mi>
                    <mo fence="true" form="postfix">)</mo>
                </mrow>
            </mrow>
        </math>
    </li>
</ul>