{
  "title": "Theory of Algorithms",
  "desc": "Theory of Algorithms",
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "Pseudo": {
      "ext": [
        "txt"
      ],
      "label": "Pseudo",
      "lang": "pseudo"
    }
  },
  "lang": "en",
  "build_JSAV": false,
  "suppress_todo": true,
  "assumes": "analyzing problems; sorting terminology; logarithms",
  "dispModComp": true,
  "glob_exer_options": {
    "JXOP-debug": "true"
  },
  "glob_ss_options": {
    "threshold": 1.0, 
    "points": 0.0, 
    "required": false,
    "partial_credit": false
  }, 
  "glob_ff_options": {
    "threshold": 1.0, 
    "points": 0.0, 
    "required": false,
    "partial_credit": false
  },
  "glob_ka_options": {
    "threshold": 5, 
    "points": 0.0, 
    "required": true,
    "partial_credit": false
  }, 
  "glob_extr_options": {
    "code-workout": {
      "points": 0.0,
      "required": true,
      "partial_credit": true,
      "enable_scrolling": true
    }, 
    "points": 0.0,
    "partial_credit": false
  }, 
  "glob_pe_options": {
    "threshold": 0.9, 
    "points": 0.0, 
    "required": true,
    "partial_credit": false
  }, 
  "chapters": {
    "Preface": {
      "Intro": {}
    },
    "Introduction": {
      "Algorithms/ToAIntro": {},
      "SeniorAlgAnal/ProblemSolving": {},
      "AlgAnal/AnalPrelim": {},
      "SeniorAlgAnal/AAOverview": {}
    },
    "Analyzing Problems: The Basics": {
      "SeniorAlgAnal/TOH": {},
      "Background/Proofs": {},
      "Background/SetDef": {},
      "SeniorAlgAnal/BoundsReview": {},
      "SeniorAlgAnal/GrowthRate": {},
      "Background/Summations": {},
      "SeniorAlgAnal/AdvSumm": {},
      "Background/RecurrenceIntro": {},
      "SeniorAlgAnal/Recurrence": {}
    },
    "Dynamic Programming": {
      "SeniorAlgAnal/DynamicProgramming": {}
    },
    "Sorting": {
      "Sorting/InSort": {}, 
      "Sorting/SortNotation": {
        "SortIntroSumm": {
          "threshold": 3
        }
      }, 
      "Sorting/InsertionSort": {}, 
      "Sorting/BubbleSort": {
        "BubsortPRO": {
          "points": 0.0, 
          "threshold": 3
        }
      }, 
      "Sorting/SelectionSort": {
        "SelsortPRO": {
          "points": 0.0
        }
      }, 
      "Sorting/ExchangeSort": {
        "FindInversionsPRO": {
          "points": 0.0
        }
      }, 
      "Sorting/SortOpt": {
        "insertionSortWithoutSwapPRO": {
          "points": 0.0
        }
      }, 
      "Sorting/Shellsort": {
        "shellsortPRO": {
          "exer_options": {
            "JXOP-feedback": "continuous", 
            "JXOP-fixmode": "fix"
          }
        }, 
        "shellsortPerf": {
          "threshold": 1.0
        }
      }, 
      "Sorting/Mergesort": {
        "mergesortPRO": {
          "exer_options": {
            "JXOP-feedback": "continuous", 
            "JXOP-fixmode": "fix"
          }
        }
      }, 
      "Sorting/MergesortImpl": {}, 
      "Sorting/Quicksort": {
        "quicksortPRO": {
          "exer_options": {
            "JXOP-feedback": "continuous", 
            "JXOP-fixmode": "fix"
          }
        }
      }, 
      "Sorting/Heapsort": {
        "HeapsortStepPRO": {
          "points": 0.0
        }, 
        "heapsortPRO": {
          "exer_options": {
            "JXOP-feedback": "continuous", 
            "JXOP-fixmode": "fix"
          }
        }
      }, 
      "Sorting/BinSort": {}, 
      "Sorting/RadixSort": {
        "RadixsortPRO": {
          "points": 0.0, 
          "threshold": 4
        }
      }, 
      "Sorting/SortingEmpirical": {},
      "Sorting/SortingLowerBound": {
        "SortBoundSumm": {
          "threshold": 4
        }
      }, 
      "Sorting/SortSumm": {
        "SortChapterSumm": {
          "points": 0, 
          "threshold": 10
        }
      }
    }, 
    "Searching": {
      "SeniorAlgAnal/SearchIntro": {},
      "Searching/UnsortedSearch": {},
      "Searching/SortedSearch": {}
    },
    "Lower Bounds": {
      "Bounds/BoundMax": {},
      "Bounds/BoundAdversary": {},
      "Bounds/BoundState": {},
      "Bounds/BoundiBest": {},
      "Bounds/SortingOptimal": {},
      "SeniorAlgAnal/AmortAnal": {}
    },
    "Probabilistic Algorithms": {
      "SearchStruct/SkipList": {},
      "SeniorAlgAnal/RandomNums": {}
    },
        "Graphs": {
      "Graph/GraphIntro": {
        "GspaceCalcSumm": {
          "points": 0.0
        }, 
        "GraphIntroSumm": {
          "points": 0.0, 
          "threshold": 10
        }
      }, 
      "Graph/GraphImpl": {}, 
      "Graph/GraphTraversal": {},
      "Graph/GraphTopsort": {}, 
      "Graph/GraphShortest": {},
      "Graph/MCST": {}, 
      "Graph/Kruskal": {},
      "Graph/Floyd": {},
      "Graph/GraphCM": {
        "CMgraphSumm": {
          "threshold": 5
        }
      }
    }, 
    "Limits to Computing": {
      "NP/LimComp": {},
      "NP/Reduction": {},
      "NP/NPComplete": {},
      "NP/provingNPC": {},
      "NP/circuitSAT": {},
      "NP/SAT": {},
      "NP/threeSAT": {
        "threeSATPRO": {
          "threshold": 1.0
        }
      },
      "NP/SAT_to_threeSAT": {},
      "NP/clique": {
        "cliquePRO": {
          "threshold": 1.0
        }
      },
      "NP/independentSet": {
        "independentSetPRO": {
          "threshold": 1.0
        }
      },
      "NP/vertexCover": {
        "vertexCoverPRO": {
          "threshold": 1.0
        }
      },
      "NP/hamiltonianCycle": {
        "hamiltonianCycPRO": {
          "threshold": 1.0
        }
      },
      "NP/TSP": {
        "TSPPRO": {
          "threshold": 1.0
        }
      },
      "NP/circuitSAT_to_SAT": {},
      "NP/threeSAT_to_clique": {},
      "NP/independentSet_to_vertexCover": {},
      "NP/threeSAT_to_hamiltonianCycle": {},
      "NP/clique_to_independentSet": {},
      "NP/hamiltonianCycle_to_TSP": {},
      "NP/NPCoping": {}
    },
    "Number Problems": {
      "SeniorAlgAnal/Numeric": {},
      "SeniorAlgAnal/Matrix": {},
      "SeniorAlgAnal/Probabilistic": {},
      "SeniorAlgAnal/Primes": {},
      "SeniorAlgAnal/Transform": {},
      "SeniorAlgAnal/FFT": {}
    },
    "Appendix": {
      "Glossary": {}
    }
  }
}
