{"version":1,"pages":[{"id":"-MAnc7lhFud5okUhC5oE","title":"Introduction","pathname":"/algorithm","siteSpaceId":"sitesp_pEfH9","description":"数据结构和算法基础知识学习和总结。"},{"id":"-MCyjR9qKDqIP6XVci35","title":"C语言","pathname":"/algorithm/c-cpp/c","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"MxKZ4yiRf760RPitKHQA","title":"C/C++编译器","pathname":"/algorithm/c-cpp/c/cc++-bian-yi-qi","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"Xjalafo4fi3TXOk8z0dq","title":"宏的使用","pathname":"/algorithm/c-cpp/c/macro","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"sSQOaHy3QH3mrWZvJvJX","title":"编译过程","pathname":"/algorithm/c-cpp/c/compile-process","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MDUGn39u1iMR0xCq7q8","title":"指针 & 数组","pathname":"/algorithm/c-cpp/c/pointer-array","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MFQymfTeDGDAACyleoe","title":"柔性数组","pathname":"/algorithm/c-cpp/c/flexible-array","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MD08kkVy13IOAju6zu9","title":"函数指针 & 回调函数","pathname":"/algorithm/c-cpp/c/function-pointer-callback-function","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MD5e48JcEaY7RU2WBdg","title":"C标准库之stdio","pathname":"/algorithm/c-cpp/c/clib-stdio","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MDUIl3W7qeDGoEynkeY","title":"C标准库之string","pathname":"/algorithm/c-cpp/c/clib-string","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MD3l8rU6D9tNpk0khIL","title":"C标准库之errno","pathname":"/algorithm/c-cpp/c/clib-errno","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MDE9i8pdfOGLX51Bpsp","title":"C标准库之stdarg","pathname":"/algorithm/c-cpp/c/clib-stdarg","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MF9asjpVykWAqWYIYp3","title":"C标准库之regex","pathname":"/algorithm/c-cpp/c/clib-regex","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C语言"}]},{"id":"-MAxo7UiiISrz-SeUhRZ","title":"C++基础语法","pathname":"/algorithm/c-cpp/c++-syntax","siteSpaceId":"sitesp_pEfH9","description":"c++基础语法复习，主要包括常考点、难点、易错点和重要特性。（基于C++11标准，涉及到C++14标准和C++17标准的新特性会说明）","breadcrumbs":[{"label":"C & C++"}]},{"id":"-MECR3O51VzNY9OQGP_3","title":"自增(++) & 自减(--)","pathname":"/algorithm/c-cpp/c++-syntax/auto-increment-attenuation","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MCvQYucWm-0qo8K_YkI","title":"c语言到c++","pathname":"/algorithm/c-cpp/c++-syntax/c-cpp","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MDDrVmtt_RsMddruLTn","title":"可变模板参数","pathname":"/algorithm/c-cpp/c++-syntax/variable-template-parameter","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MCV-8vf0-UULDiCbTmN","title":"强制类型转换","pathname":"/algorithm/c-cpp/c++-syntax/type-conversion","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MEChKs1gYLWrzWbVJyP","title":"C/C++类型转换的本质","pathname":"/algorithm/c-cpp/c++-syntax/nature-of-type-conversion","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MCvPnh-mRujT8nf2qu3","title":"指针 & 引用","pathname":"/algorithm/c-cpp/c++-syntax/pointers-and-references","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MD9lXQi35_a1Ae1c8Xi","title":"const的用法","pathname":"/algorithm/c-cpp/c++-syntax/keyword-const","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MGn-tY0UBgyoLiok0Co","title":"static的用法","pathname":"/algorithm/c-cpp/c++-syntax/keyword-static","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MCvWOr_aWk-38FRm_e3","title":"重要的关键字（一）","pathname":"/algorithm/c-cpp/c++-syntax/keywords-1","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MDgpU0Rd5aB2dgij5ju","title":"重要的关键字（二）","pathname":"/algorithm/c-cpp/c++-syntax/keywords-2","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MCvpjDwLMTW8-I7s45F","title":"内存申请和释放","pathname":"/algorithm/c-cpp/c++-syntax/memory-request-and-release","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-ME34pXT9K1aVUSYZNAq","title":"内联函数","pathname":"/algorithm/c-cpp/c++-syntax/inline-functions","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MEC3iM_KEjfLGKZGEpb","title":"函数 & 运算符重载","pathname":"/algorithm/c-cpp/c++-syntax/operator-overloading","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MD9Lyz9tth921N9Zq_6","title":"面向对象之封装","pathname":"/algorithm/c-cpp/c++-syntax/oop-encapsulation","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MECIzd1FsdEddlcnpj0","title":"构造函数 & 析构函数","pathname":"/algorithm/c-cpp/c++-syntax/constructor-destructor","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MD9MBeH4RKCLNJ7XBeh","title":"面向对象之继承","pathname":"/algorithm/c-cpp/c++-syntax/oop-inheritance","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MDiLptr2j2Qf1WmwcZQ","title":"面向对象之多态","pathname":"/algorithm/c-cpp/c++-syntax/oop-polymorphism","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MB9cNw3a2uq_XPkK9Vy","title":"泛型编程","pathname":"/algorithm/c-cpp/c++-syntax/generic-programming","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MECLDZcktBg_gdS8hJ_","title":"异常","pathname":"/algorithm/c-cpp/c++-syntax/exception","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MFQ3Iasd4FPOoAn8ehy","title":"再谈函数指针","pathname":"/algorithm/c-cpp/c++-syntax/retalk-function-pointer","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++基础语法"}]},{"id":"-MG7nA6voep8wYoN9l8t","title":"C++并发编程","pathname":"/algorithm/c-cpp/cpp-concurrent-programming","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"-MDxQmgR3sBAlWYbf3Yg","title":"C++的锁","pathname":"/algorithm/c-cpp/cpp-concurrent-programming/locks","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++并发编程"}]},{"id":"-MCei-jbHTPI4z2TqYO4","title":"并发与多线程","pathname":"/algorithm/c-cpp/cpp-concurrent-programming/concurrency-and-multithreading","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++并发编程"}]},{"id":"-MAxoWC8g7EAEvW3CgG4","title":"C++高级特性","pathname":"/algorithm/c-cpp/advanced-c++","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"-MD09uYQ0WVQuCjzX0Ep","title":"函数对象","pathname":"/algorithm/c-cpp/advanced-c++/function-object","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MECfjXWTZKR5re9mNZZ","title":"移动语义 & 完美转发","pathname":"/algorithm/c-cpp/advanced-c++/mobile-semantic-perfect-forward","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MDI3qnBD_2ojO8wXXu2","title":"lambda表达式","pathname":"/algorithm/c-cpp/advanced-c++/lambda","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MCw-78ctd_zvHUChJMT","title":"RTTI技术","pathname":"/algorithm/c-cpp/advanced-c++/rtti","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MDmNgQzzyPM8G1fB_0b","title":"RAII技术","pathname":"/algorithm/c-cpp/advanced-c++/raii","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MCvlfqZLP-ccyOf0hjU","title":"智能指针","pathname":"/algorithm/c-cpp/advanced-c++/smart-pointer","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MDiP5rrkn0Pajb80Fc0","title":"模板的特化","pathname":"/algorithm/c-cpp/advanced-c++/template-specialization","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MGEf6r22LcZjSeRaipA","title":"C++静态库和动态库","pathname":"/algorithm/c-cpp/advanced-c++/static-and-dynamic-libraries","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MGEgk71VuaVp099i1R3","title":"内存溢出和内存泄漏","pathname":"/algorithm/c-cpp/advanced-c++/memory-overflow--and-leak","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++高级特性"}]},{"id":"-MAxpK2Eoa3raRWvhcPm","title":"STL基础","pathname":"/algorithm/c-cpp/stl-basics","siteSpaceId":"sitesp_pEfH9","description":"对C++11标准下的STL的使用方法进行学习和总结。（涉及到C++14标准和C++17标准的新特性会说明）","breadcrumbs":[{"label":"C & C++"}]},{"id":"-ME8a7fDkqREUZO-h6b1","title":"String","pathname":"/algorithm/c-cpp/stl-basics/string-class","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MB2ggVhq-daAKo95i2Y","title":"array/vector/list","pathname":"/algorithm/c-cpp/stl-basics/array-vector-list","siteSpaceId":"sitesp_pEfH9","description":"总结 SGI STL 中的 vector 和 list 两个容器的用法。","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MB6z2TV-4I4tRIlnqKr","title":"deque/priority_queue","pathname":"/algorithm/c-cpp/stl-basics/deque-priority_queue","siteSpaceId":"sitesp_pEfH9","description":"总结 SGI STL 中的 deque、stack 和 queue 三个容器的用法。","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MCB7mgbY4vWE-csCRUF","title":"set/map","pathname":"/algorithm/c-cpp/stl-basics/set-map","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MCB80KcZhXpCA-DXRuJ","title":"unordered_set/unordered_map","pathname":"/algorithm/c-cpp/stl-basics/unordered_set-unordered_map","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MBDWSFFr7zKjlhNQkVJ","title":"algorithm_1","pathname":"/algorithm/c-cpp/stl-basics/algorithm-1","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-ME82c08ChIpgXgpkRKw","title":"functional","pathname":"/algorithm/c-cpp/stl-basics/functional","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-MEf1KS0vy3nccry1jWV","title":"allocator","pathname":"/algorithm/c-cpp/stl-basics/allocator","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL基础"}]},{"id":"-ME8_CtFfwzITN1ulMiX","title":"C++标准库","pathname":"/algorithm/c-cpp/cpp-standard-library","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"-ME8_RWU31sUQ6ErrpJG","title":"IO","pathname":"/algorithm/c-cpp/cpp-standard-library/cpp-io-library","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++标准库"}]},{"id":"-ME8_ukzlEhpzS1MiV4U","title":"Tuple","pathname":"/algorithm/c-cpp/cpp-standard-library/pair-tuple","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++标准库"}]},{"id":"-ME8aN1bIGiRlkCYlA9p","title":"regex","pathname":"/algorithm/c-cpp/cpp-standard-library/regex","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++标准库"}]},{"id":"-ME8aRTTyoXWgbRB_oBe","title":"bitset","pathname":"/algorithm/c-cpp/cpp-standard-library/bitset","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++标准库"}]},{"id":"-ME8aUQjMeH56WeGbXZW","title":"numeric","pathname":"/algorithm/c-cpp/cpp-standard-library/numeric","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"C++标准库"}]},{"id":"-ME8ah75VGRlrsUPifoM","title":"STL深入源码","pathname":"/algorithm/c-cpp/stl-source-analysis","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"-MF4L3A40QF79RD4msdj","title":"vector内部实现","pathname":"/algorithm/c-cpp/stl-source-analysis/vector-source-code","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL深入源码"}]},{"id":"-MF4LAP3MO_gvb7HMeqR","title":"deque内部实现","pathname":"/algorithm/c-cpp/stl-source-analysis/deque-source-code","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL深入源码"}]},{"id":"-MF4LJW3wmQuLCNICUg1","title":"sort函数实现","pathname":"/algorithm/c-cpp/stl-source-analysis/sort-realization-mechanism","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"STL深入源码"}]},{"id":"-ME8b8GTC_rHeLO5q13f","title":"第三方库","pathname":"/algorithm/c-cpp/third-party-libraries","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"}]},{"id":"-ME8bAvTffJGPX4fZUUY","title":"JsonCpp","pathname":"/algorithm/c-cpp/third-party-libraries/jsoncpp","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"第三方库"}]},{"id":"-MJ5dn0BZw68TAob-4sT","title":"ProtoBuf","pathname":"/algorithm/c-cpp/third-party-libraries/protobuf","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"C & C++"},{"label":"第三方库"}]},{"id":"-MAxuAtfYOQ4ZIxPgPfM","title":"线性表","pathname":"/algorithm/data-structure/linear-list","siteSpaceId":"sitesp_pEfH9","description":"这部分主要考察线性表的操作，包括数组、单链表和双向链表等。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxuTh-do4wx2Q5dWwx","title":"字符串","pathname":"/algorithm/data-structure/string","siteSpaceId":"sitesp_pEfH9","description":"总结字符串相关的算法考点和题型。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxuYhV-nUcC6mLh9dI","title":"栈和队列","pathname":"/algorithm/data-structure/stack-and-queue","siteSpaceId":"sitesp_pEfH9","description":"栈和队列的使用场景和相关算法题实现。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxvtM0hnhifk-btllm","title":"二叉树","pathname":"/algorithm/data-structure/binary-tree","siteSpaceId":"sitesp_pEfH9","description":"二叉树相关的算法实现。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxvvmslyQ5jLqytfbB","title":"平衡二叉树","pathname":"/algorithm/data-structure/balanced-binary-tree","siteSpaceId":"sitesp_pEfH9","description":"二叉搜索树和平衡二叉搜索树的相关概念和算法实现。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MD0-mmfQY4SbIBTnHpM","title":"平衡多路搜索树","pathname":"/algorithm/data-structure/balanced-multipath-search-tree","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MFsrTIv92YxIj5ksgi7","title":"树结构的延申","pathname":"/algorithm/data-structure/tree-extension","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxwS4slqlUg5aUAhO7","title":"图","pathname":"/algorithm/data-structure/graph","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MB-I0_U8f4GIybF6J_N","title":"二进制","pathname":"/algorithm/data-structure/binary-system","siteSpaceId":"sitesp_pEfH9","description":"二进制操作相关的试题解答。","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MCB8hjzkj4tGgduY9j5","title":"散列表","pathname":"/algorithm/data-structure/hash-table","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"数据结构"}]},{"id":"-MAxxEMqVDgzEzb1jRq-","title":"排序算法","pathname":"/algorithm/algorithm/sort-algorithm","siteSpaceId":"sitesp_pEfH9","description":"总结常用的十大内部排序算法，并提供代码实现。","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MAyowPWPwsHVoOKfRAR","title":"查找算法","pathname":"/algorithm/algorithm/search-algorithm","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MHnvxNXb4Gu4R7B0NCW","title":"数学问题","pathname":"/algorithm/algorithm/mathematical-problems","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MBEPFj7GgSWowOeDIZ4","title":"并查集","pathname":"/algorithm/algorithm/union-find","siteSpaceId":"sitesp_pEfH9","description":"总结并查集的特性和常见题型。","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MB-EbbCWHgPjaP-LGS_","title":"递归算法","pathname":"/algorithm/algorithm/recursive-algorithm","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MC-Vz07cL3P7qFJFee2","title":"附加——主定理","pathname":"/algorithm/algorithm/master-theorem","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MLQqJi06wR5qIJRlsJ8","title":"Catalan数","pathname":"/algorithm/algorithm/catalan","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法基础"}]},{"id":"-MBEEVoFPzKe_c3qwMr3","title":"滑动窗口思想","pathname":"/algorithm/algorithm-thinking/sliding-window","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MDmOHDTGkxq_kCxzs6T","title":"BFS/DFS","pathname":"/algorithm/algorithm-thinking/bfs-dfs","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MHqAkHxrCIh1oIy_23J","title":"二分法","pathname":"/algorithm/algorithm-thinking/dichotomy","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MB-F0IH8nfK7MiIIAD9","title":"回溯法","pathname":"/algorithm/algorithm-thinking/backtracking-algorithm","siteSpaceId":"sitesp_pEfH9","description":"学习回溯的算法思维，总结常见的题型。","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MB-EuoXCHpz32eTJ4sA","title":"贪心算法","pathname":"/algorithm/algorithm-thinking/greedy-algorithm","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MB-EiDRZusjILU_UnV1","title":"分治法","pathname":"/algorithm/algorithm-thinking/divide-and-conquer-algorithm","siteSpaceId":"sitesp_pEfH9","description":"五大常用算法设计思想之一：分治算法，介绍其思想和应用场景，提供经典题目的解答。","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MB-Er2Q_Qf0MZvQnDv7","title":"动态规划","pathname":"/algorithm/algorithm-thinking/dynamic-programming-algorithm","siteSpaceId":"sitesp_pEfH9","description":"学习动态规划的算法思维，总结常见的题型。","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MB8E2mOfIRFJzIdL36U","title":"分支限界算法","pathname":"/algorithm/algorithm-thinking/branch-and-bound","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MFhsa60UUl_aPZ7imyQ","title":"有限状态机（FSM）","pathname":"/algorithm/algorithm-thinking/finite-state-machine","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"算法设计思想"}]},{"id":"-MDPFHku4N8UG6YSBHM-","title":"死磕二叉树","pathname":"/algorithm/leetcode/stick-to-binary-tree","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MDPGHBH7QIxKGFPr2lf","title":"股票买卖问题","pathname":"/algorithm/leetcode/stockjobbing","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MDPGQd7XBSMkhtKwDnP","title":"打家劫舍问题","pathname":"/algorithm/leetcode/robbery","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MFhsDdXg28o_B9OM5WP","title":"跳跃游戏问题","pathname":"/algorithm/leetcode/jump-game","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MHnv-5QCbQxvQHBnmwy","title":"括号匹配问题","pathname":"/algorithm/leetcode/bracket-matching","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MHoSA80jaICrfZEGQxT","title":"石子游戏问题","pathname":"/algorithm/leetcode/stone-game","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MGEC6RkisU_ep-7AcpU","title":"子序列问题","pathname":"/algorithm/leetcode/subsequences","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MFsvsK-F3An6d-CxW_A","title":"数组 & 矩阵","pathname":"/algorithm/leetcode/array-matrix","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MKQH8zThB3nhMVd3MXo","title":"排列 & 组合","pathname":"/algorithm/leetcode/permutation-and-combination","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"LeetCode系列"}]},{"id":"-MEVTYwRCaTypuB1CYFo","title":"几何问题","pathname":"/algorithm/classical-problem/geometry-problems","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"经典算法问题"}]},{"id":"-MDrrxU7tjVrcqCjpLxD","title":"区间问题","pathname":"/algorithm/classical-problem/interval-questions","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"经典算法问题"}]},{"id":"-MDrsLt4FeMiaAWa5D7k","title":"背包问题","pathname":"/algorithm/classical-problem/backpack-questions","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"经典算法问题"}]},{"id":"-MGEBoYZRu-dEdWPn0Lz","title":"石子堆问题","pathname":"/algorithm/classical-problem/gravel-pile","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"经典算法问题"}]},{"id":"-MB-Ad0fjf90oey5oAl9","title":"表达式求值","pathname":"/algorithm/classical-problem/expression-evaluation","siteSpaceId":"sitesp_pEfH9","description":"三种表达式的的相互转化和求值算法实现。","breadcrumbs":[{"label":"经典算法问题"}]},{"id":"-MCgYaEQVQgRAcnqzGXY","title":"数据结构和算法基础","pathname":"/algorithm/interview-question/basic-knowledge","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"}]},{"id":"-MCgYm0lKSod748GCHOK","title":"程序设计题","pathname":"/algorithm/interview-question/design-problems","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"}]},{"id":"-MGHiRs8wGpfCKfNGWZL","title":"实现双线程交替打印","pathname":"/algorithm/interview-question/design-problems/double-thread-alternate-printing","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGHgRcRzAKVAN4Jb_k9","title":"C++实现读写锁","pathname":"/algorithm/interview-question/design-problems/cpp-rwlock","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGHga7gYhEB_zIu7uHV","title":"实现阻塞队列","pathname":"/algorithm/interview-question/design-problems/blocking-queue","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGnjNACDagq8xPh_ntd","title":"实现环形队列","pathname":"/algorithm/interview-question/design-problems/circle-queue","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGHhgeOrEsEU2M1PBrF","title":"实现线程池","pathname":"/algorithm/interview-question/design-problems/thread-pool","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MH43aO6KKOSMhjVqS5v","title":"实现智能指针","pathname":"/algorithm/interview-question/design-problems/smart-pointer","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MH5u5Q7Xqv4atSrJw51","title":"实现string类","pathname":"/algorithm/interview-question/design-problems/string-class","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MJVdJYFKBvkavpJfLmL","title":"实现高性能local cache","pathname":"/algorithm/interview-question/design-problems/local-cache","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGHh6lmCbSphJekbVbK","title":"实现内存池","pathname":"/algorithm/interview-question/design-problems/memory-pool","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MGHhHo9ljb257OwJzWg","title":"生产者-消费者模型","pathname":"/algorithm/interview-question/design-problems/producer-consumer","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MI4K8cqDy8MUtyNUuwi","title":"设计定时器","pathname":"/algorithm/interview-question/design-problems/timer","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"},{"label":"程序设计题"}]},{"id":"-MEWlmOKKWPnp-UstsqI","title":"经典的算法题","pathname":"/algorithm/interview-question/classic-algorithm-problems","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"}]},{"id":"-MCvlZiD00mhGpGJiaqT","title":"C++面试题总结","pathname":"/algorithm/interview-question/cpp-interview-question","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"}]},{"id":"-MGlAquVbkOaECLY8juh","title":"面试算法题总结","pathname":"/algorithm/interview-question/interview-algorithm","siteSpaceId":"sitesp_pEfH9","description":"","breadcrumbs":[{"label":"面试题"}]}]}