# Project information
site_name: Hello 算法
site_url: https://www.hello-algo.com/
site_author: krahets
site_description: 动画图解、一键运行的数据结构与算法教程
docs_dir: build/docs
site_dir: site
# Repository
repo_name: krahets/hello-algo
repo_url: https://github.com/krahets/hello-algo
edit_uri: tree/main/docs
version: 1.0.0

# Copyright
copyright: Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>

# Configuration
theme:
  name: material
  custom_dir: build/overrides
  language: zh
  features:
    - announce.dismiss
    - content.action.edit
    # - content.action.view
    - content.code.annotate
    - content.code.copy
    - content.tabs.link
    - content.tooltips
    # - header.autohide
    # - navigation.expand
    - navigation.indexes
    # - navigation.instant
    # - navigation.prune
    # - navigation.sections
    # - navigation.tabs
    # - navigation.tabs.sticky
    - navigation.top
    - navigation.footer
    - navigation.tracking
    - search.highlight
    - search.share
    - search.suggest
    - toc.follow
    # - toc.integrate
  palette:
    - scheme: default
      primary: white
      accent: teal
      toggle:
        icon: material/theme-light-dark
        name: 深色模式
    - scheme: slate
      primary: black
      accent: teal
      toggle:
        icon: material/theme-light-dark
        name: 浅色模式
  font:
    text: Noto Sans SC
    code: Fira Code
  favicon: assets/images/favicon.png
  logo: assets/images/logo.svg
  icon:
    logo: logo
    repo: fontawesome/brands/github
    edit: fontawesome/regular/pen-to-square

extra:
  alternate:
    - name: 简体中文
      link: /
      lang: zh
    - name: 繁體中文
      link: /zh-hant/
      lang: zh-Hant
    - name: English
      link: /en/
      lang: en
  social:
    - icon: fontawesome/brands/github
      link: https://github.com/krahets
    - icon: fontawesome/brands/x-twitter
      link: https://twitter.com/krahets
    - icon: fontawesome/solid/code
      link: https://leetcode.cn/u/jyd/
  generator: false
  status:
    new: 最近添加

# Plugins
plugins:
  - search
  - glightbox:
      touchNavigation: true
      loop: false
      effect: zoom
      slide_effect: none
      width: 100%
      height: auto
      zoomable: true
      draggable: false
      auto_caption: false
      caption_position: bottom

# Extensions
markdown_extensions:
  - abbr
  - admonition
  - attr_list
  - def_list
  - footnotes
  - md_in_html
  - toc:
      permalink: true
  - pymdownx.arithmatex:
      generic: true
  - pymdownx.betterem:
      smart_enable: all
  - pymdownx.caret
  - pymdownx.details
  # - pymdownx.emoji:
  #     emoji_index: !!python/name:materialx.emoji.twemoji
  #     emoji_generator: !!python/name:materialx.emoji.to_svg
  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences
  - pymdownx.keys
  # - pymdownx.magiclink:
  #     repo_url_shorthand: true
  #     user: squidfunk
  #     repo: mkdocs-material
  - pymdownx.mark
  - pymdownx.smartsymbols
  - pymdownx.tabbed:
      alternate_style: true
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.tilde

extra_javascript:
  - javascripts/mathjax.js
  - https://polyfill.io/v3/polyfill.min.js?features=es6
  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
  # - javascripts/katex.js 
  # - https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.js  
  # - https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/contrib/auto-render.min.js

extra_css:
  - stylesheets/extra.css
  # - https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.css

# Page tree
nav:
  - 序:
    - chapter_hello_algo/index.md
  - 第 0 章 &nbsp; 前言:
    # [icon: material/book-open-outline]
    - chapter_preface/index.md
    - 0.1 &nbsp; 关于本书: chapter_preface/about_the_book.md
    - 0.2 &nbsp; 如何使用本书: chapter_preface/suggestions.md
    - 0.3 &nbsp; 小结: chapter_preface/summary.md
  - 第 1 章 &nbsp; 初识算法:
    # [icon: material/calculator-variant-outline]
    - chapter_introduction/index.md
    - 1.1 &nbsp; 算法无处不在: chapter_introduction/algorithms_are_everywhere.md
    - 1.2 &nbsp; 算法是什么: chapter_introduction/what_is_dsa.md
    - 1.3 &nbsp; 小结: chapter_introduction/summary.md
  - 第 2 章 &nbsp; 复杂度分析:
    # [icon: material/timer-sand]
    - chapter_computational_complexity/index.md
    - 2.1 &nbsp; 算法效率评估: chapter_computational_complexity/performance_evaluation.md
    - 2.2 &nbsp; 迭代与递归: chapter_computational_complexity/iteration_and_recursion.md
    - 2.3 &nbsp; 时间复杂度: chapter_computational_complexity/time_complexity.md
    - 2.4 &nbsp; 空间复杂度: chapter_computational_complexity/space_complexity.md
    - 2.5 &nbsp; 小结: chapter_computational_complexity/summary.md
  - 第 3 章 &nbsp; 数据结构:
    # [icon: material/shape-outline]
    - chapter_data_structure/index.md
    - 3.1 &nbsp; 数据结构分类: chapter_data_structure/classification_of_data_structure.md
    - 3.2 &nbsp; 基本数据类型: chapter_data_structure/basic_data_types.md
    - 3.3 &nbsp; 数字编码 *: chapter_data_structure/number_encoding.md
    - 3.4 &nbsp; 字符编码 *: chapter_data_structure/character_encoding.md
    - 3.5 &nbsp; 小结: chapter_data_structure/summary.md
  - 第 4 章 &nbsp; 数组与链表:
    # [icon: material/view-list-outline]
    - chapter_array_and_linkedlist/index.md
    - 4.1 &nbsp; 数组: chapter_array_and_linkedlist/array.md
    - 4.2 &nbsp; 链表: chapter_array_and_linkedlist/linked_list.md
    - 4.3 &nbsp; 列表: chapter_array_and_linkedlist/list.md
    # [status: new]
    - 4.4 &nbsp; 内存与缓存 *: chapter_array_and_linkedlist/ram_and_cache.md
    - 4.5 &nbsp; 小结: chapter_array_and_linkedlist/summary.md
  - 第 5 章 &nbsp; 栈与队列:
    # [icon: material/stack-overflow]
    - chapter_stack_and_queue/index.md
    - 5.1 &nbsp; 栈: chapter_stack_and_queue/stack.md
    - 5.2 &nbsp; 队列: chapter_stack_and_queue/queue.md
    - 5.3 &nbsp; 双向队列: chapter_stack_and_queue/deque.md
    - 5.4 &nbsp; 小结: chapter_stack_and_queue/summary.md
  - 第 6 章 &nbsp; 哈希表:
    # [icon: material/table-search]
    - chapter_hashing/index.md
    - 6.1 &nbsp; 哈希表: chapter_hashing/hash_map.md
    - 6.2 &nbsp; 哈希冲突: chapter_hashing/hash_collision.md
    - 6.3 &nbsp; 哈希算法: chapter_hashing/hash_algorithm.md
    - 6.4 &nbsp; 小结: chapter_hashing/summary.md
  - 第 7 章 &nbsp; 树:
    # [icon: material/graph-outline]
    - chapter_tree/index.md
    - 7.1 &nbsp; 二叉树: chapter_tree/binary_tree.md
    - 7.2 &nbsp; 二叉树遍历: chapter_tree/binary_tree_traversal.md
    - 7.3 &nbsp; 二叉树数组表示: chapter_tree/array_representation_of_tree.md
    - 7.4 &nbsp; 二叉搜索树: chapter_tree/binary_search_tree.md
    - 7.5 &nbsp; AVL 树 *: chapter_tree/avl_tree.md
    - 7.6 &nbsp; 小结: chapter_tree/summary.md
  - 第 8 章 &nbsp; 堆:
    # [icon: material/family-tree]
    - chapter_heap/index.md
    - 8.1 &nbsp; 堆: chapter_heap/heap.md
    - 8.2 &nbsp; 建堆操作: chapter_heap/build_heap.md
    - 8.3 &nbsp; Top-k 问题: chapter_heap/top_k.md
    - 8.4 &nbsp; 小结: chapter_heap/summary.md
  - 第 9 章 &nbsp; 图:
    # [icon: material/graphql]
    - chapter_graph/index.md
    - 9.1 &nbsp; 图: chapter_graph/graph.md
    - 9.2 &nbsp; 图基础操作: chapter_graph/graph_operations.md
    - 9.3 &nbsp; 图的遍历: chapter_graph/graph_traversal.md
    - 9.4 &nbsp; 小结: chapter_graph/summary.md
  - 第 10 章 &nbsp; 搜索:
    # [icon: material/text-search]
    - chapter_searching/index.md
    - 10.1 &nbsp; 二分查找: chapter_searching/binary_search.md
    - 10.2 &nbsp; 二分查找插入点: chapter_searching/binary_search_insertion.md
    - 10.3 &nbsp; 二分查找边界: chapter_searching/binary_search_edge.md
    - 10.4 &nbsp; 哈希优化策略: chapter_searching/replace_linear_by_hashing.md
    - 10.5 &nbsp; 重识搜索算法: chapter_searching/searching_algorithm_revisited.md
    - 10.6 &nbsp; 小结: chapter_searching/summary.md
  - 第 11 章 &nbsp; 排序:
    # [icon: material/sort-ascending]
    - chapter_sorting/index.md
    - 11.1 &nbsp; 排序算法: chapter_sorting/sorting_algorithm.md
    - 11.2 &nbsp; 选择排序: chapter_sorting/selection_sort.md
    - 11.3 &nbsp; 冒泡排序: chapter_sorting/bubble_sort.md
    - 11.4 &nbsp; 插入排序: chapter_sorting/insertion_sort.md
    - 11.5 &nbsp; 快速排序: chapter_sorting/quick_sort.md
    - 11.6 &nbsp; 归并排序: chapter_sorting/merge_sort.md
    - 11.7 &nbsp; 堆排序: chapter_sorting/heap_sort.md
    - 11.8 &nbsp; 桶排序: chapter_sorting/bucket_sort.md
    - 11.9 &nbsp; 计数排序: chapter_sorting/counting_sort.md
    - 11.10 &nbsp; 基数排序: chapter_sorting/radix_sort.md
    - 11.11 &nbsp; 小结: chapter_sorting/summary.md
  - 第 12 章 &nbsp; 分治:
    # [icon: material/set-split]
    - chapter_divide_and_conquer/index.md
    - 12.1 &nbsp; 分治算法: chapter_divide_and_conquer/divide_and_conquer.md
    - 12.2 &nbsp; 分治搜索策略: chapter_divide_and_conquer/binary_search_recur.md
    - 12.3 &nbsp; 构建树问题: chapter_divide_and_conquer/build_binary_tree_problem.md
    - 12.4 &nbsp; 汉诺塔问题: chapter_divide_and_conquer/hanota_problem.md
    - 12.5 &nbsp; 小结: chapter_divide_and_conquer/summary.md
  - 第 13 章 &nbsp; 回溯:
    # [icon: material/map-marker-path]
    - chapter_backtracking/index.md
    - 13.1 &nbsp; 回溯算法: chapter_backtracking/backtracking_algorithm.md
    - 13.2 &nbsp; 全排列问题: chapter_backtracking/permutations_problem.md
    - 13.3 &nbsp; 子集和问题: chapter_backtracking/subset_sum_problem.md
    - 13.4 &nbsp; N 皇后问题: chapter_backtracking/n_queens_problem.md
    - 13.5 &nbsp; 小结: chapter_backtracking/summary.md
  - 第 14 章 &nbsp; 动态规划:
    # [icon: material/table-pivot]
    - chapter_dynamic_programming/index.md
    - 14.1 &nbsp; 初探动态规划: chapter_dynamic_programming/intro_to_dynamic_programming.md
    - 14.2 &nbsp; DP 问题特性: chapter_dynamic_programming/dp_problem_features.md
    - 14.3 &nbsp; DP 解题思路: chapter_dynamic_programming/dp_solution_pipeline.md
    - 14.4 &nbsp; 0-1 背包问题: chapter_dynamic_programming/knapsack_problem.md
    - 14.5 &nbsp; 完全背包问题: chapter_dynamic_programming/unbounded_knapsack_problem.md
    - 14.6 &nbsp; 编辑距离问题: chapter_dynamic_programming/edit_distance_problem.md
    - 14.7 &nbsp; 小结: chapter_dynamic_programming/summary.md
  - 第 15 章 &nbsp; 贪心:
    # [icon: material/head-heart-outline]
    - chapter_greedy/index.md
    - 15.1 &nbsp; 贪心算法: chapter_greedy/greedy_algorithm.md
    - 15.2 &nbsp; 分数背包问题: chapter_greedy/fractional_knapsack_problem.md
    - 15.3 &nbsp; 最大容量问题: chapter_greedy/max_capacity_problem.md
    - 15.4 &nbsp; 最大切分乘积问题: chapter_greedy/max_product_cutting_problem.md
    - 15.5 &nbsp; 小结: chapter_greedy/summary.md
  - 第 16 章 &nbsp; 附录:
    # [icon: material/help-circle-outline]
    - chapter_appendix/index.md
    - 16.1 &nbsp; 编程环境安装: chapter_appendix/installation.md
    - 16.2 &nbsp; 一起参与创作: chapter_appendix/contribution.md
    - 16.3 &nbsp; 术语表: chapter_appendix/terminology.md
  - 参考文献:
    - chapter_reference/index.md
  - 纸质书:
    - chapter_paperbook/index.md