{
    "api": "YAML JSON TOON Database",
    "version": "1.0.0",
    "format": "json",
    "dataset": {
        "id": 2343,
        "slug": "complexity-analysis",
        "title": "Data Structure Complexity Analysis",
        "description": "Time and space complexity analysis of common data structures: Array, Linked List, Binary Search Tree, Hash Table, Heap, and Graph with Big-O notation.",
        "summary": "Time and space complexity of basic operations (access, search, insertion, deletion) for the core data structures: arrays, linked lists, binary search trees, hash tables, heaps and graphs, extended with stacks, queues, dynamic arrays, balanced trees, tries and skip lists.",
        "use_when": [
            "You need a quick comparison of operation costs across data structures.",
            "You are choosing a structure for a given access pattern."
        ],
        "caveats": [
            "Values are typical average-case figures; worst cases can be worse (a hash table with many collisions, an unbalanced tree).",
            "For linked-list insertion and deletion, O(1) assumes you already hold a reference to the node."
        ],
        "related": [
            "sorting-algorithms-comparison",
            "tree-data-structures",
            "hash-tables",
            "search-algorithms"
        ],
        "entry_count": 15,
        "fields": [
            {
                "section": "structures",
                "field": "name",
                "type": "string",
                "example": "Array"
            },
            {
                "section": "structures",
                "field": "access",
                "type": "string",
                "example": "O(1)"
            },
            {
                "section": "structures",
                "field": "search",
                "type": "string",
                "example": "O(n)"
            },
            {
                "section": "structures",
                "field": "insertion",
                "type": "string",
                "example": "O(n)"
            },
            {
                "section": "structures",
                "field": "deletion",
                "type": "string",
                "example": "O(n)"
            },
            {
                "section": "structures",
                "field": "space",
                "type": "string",
                "example": "O(n)"
            }
        ],
        "category": "Data Structures",
        "category_slug": "data-structures",
        "tags": "algorithms,complexity,big-o,data structures",
        "view_count": 46,
        "created_at": 1777673262,
        "updated_at": 1777673262
    },
    "data": {
        "structures": [
            {
                "name": "Array",
                "access": "O(1)",
                "search": "O(n)",
                "insertion": "O(n)",
                "deletion": "O(n)",
                "space": "O(n)"
            },
            {
                "name": "Linked List",
                "access": "O(n)",
                "search": "O(n)",
                "insertion": "O(1)",
                "deletion": "O(1)",
                "space": "O(n)"
            },
            {
                "name": "Binary Search Tree",
                "access": "O(log n)",
                "search": "O(log n)",
                "insertion": "O(log n)",
                "deletion": "O(log n)",
                "space": "O(n)"
            },
            {
                "name": "Hash Table",
                "access": "N\/A",
                "search": "O(1)",
                "insertion": "O(1)",
                "deletion": "O(1)",
                "space": "O(n)"
            },
            {
                "name": "Heap",
                "access": "O(1) max",
                "search": "O(n)",
                "insertion": "O(log n)",
                "deletion": "O(log n)",
                "space": "O(n)"
            },
            {
                "name": "Graph (Adjacency List)",
                "access": "O(1)",
                "search": "O(V+E)",
                "insertion": "O(1)",
                "deletion": "O(V+E)",
                "space": "O(V+E)"
            },
            {
                "name": "Stack",
                "access": "O(n)",
                "search": "O(n)",
                "insertion": "O(1)",
                "deletion": "O(1)",
                "space": "O(n)"
            },
            {
                "name": "Queue",
                "access": "O(n)",
                "search": "O(n)",
                "insertion": "O(1)",
                "deletion": "O(1)",
                "space": "O(n)"
            },
            {
                "name": "Dynamic Array",
                "access": "O(1)",
                "search": "O(n)",
                "insertion": "O(n) (amortized O(1) at the end)",
                "deletion": "O(n)",
                "space": "O(n)"
            },
            {
                "name": "Doubly Linked List",
                "access": "O(n)",
                "search": "O(n)",
                "insertion": "O(1)",
                "deletion": "O(1)",
                "space": "O(n)"
            },
            {
                "name": "AVL Tree",
                "access": "O(log n)",
                "search": "O(log n)",
                "insertion": "O(log n)",
                "deletion": "O(log n)",
                "space": "O(n)"
            },
            {
                "name": "Red-Black Tree",
                "access": "O(log n)",
                "search": "O(log n)",
                "insertion": "O(log n)",
                "deletion": "O(log n)",
                "space": "O(n)"
            },
            {
                "name": "B-Tree",
                "access": "O(log n)",
                "search": "O(log n)",
                "insertion": "O(log n)",
                "deletion": "O(log n)",
                "space": "O(n)"
            },
            {
                "name": "Trie",
                "access": "N\/A",
                "search": "O(m)",
                "insertion": "O(m)",
                "deletion": "O(m)",
                "space": "O(total key length)"
            },
            {
                "name": "Skip List",
                "access": "O(log n) expected",
                "search": "O(log n) expected",
                "insertion": "O(log n) expected",
                "deletion": "O(log n) expected",
                "space": "O(n)"
            }
        ]
    }
}