1678 Commits

Author SHA1 Message Date
88a1e4aaac refactor(JS, TS): Improve code readability in edit_distance (#860)
* fix(JS、TS): chapter_sorting QuickSortMedian and QuickSortTailCall example

* refactor(JS、TS): Improve code readability in edit_distance

* Updated code
2023-10-24 15:32:20 +08:00
d27890d98d Fix automating build workflow for Python 2023-10-23 16:06:33 +08:00
b7c110e5ec Add build check with py_compile 2023-10-23 06:02:34 +08:00
1b9978998a Create python.yml (#877) 2023-10-23 05:59:00 +08:00
9562287a21 Update Q&A of data_structure, array_and_linkedlist (#861)
* "Add Q&A sections to array/linked_list and tree chapters"

Added question and answers related to the use of std::list in C++ and space complexity in full binary tree traversal to their respective chapters in array_and_linked_list and tree documentation.

* Update summary.md

* Update summary.md

* Update summary.md

* "Expand details on HashTable, arrays, and linked lists in docs"

Extended the section explaining how HashTables use both linear and nonlinear data structures. Added Q&A sections addressing common questions on character type size, the static and dynamic nature of array-based data structures, and distinguishing array and linked list from logic and physical perspective. These changes provide clearer understanding for readers.

* "Add FAQs to array and linked list docs chapter"

Added several Frequently Asked Questions to improve clarity in the arrays and linked list documentation chapter. These questions mainly address the behavior and structure of array initializations, circular array queues, and single-link list node deletion. Providing answers to these can enhance understanding and prevent misconceptions among readers.

* Update summary.md

* Update summary.md

* Update summary.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-23 04:54:25 +08:00
e81c9a85b5 Add CI check for Swift (#875)
* Create swift.yml

* Update swift.yml

* Update swift.yml

* Update swift.yml
2023-10-23 04:28:05 +08:00
fa9607b749 Update permutations_problem.md (#864)
* Update permutations_problem.md

* Update permutations_problem.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-23 04:19:29 +08:00
0c470d19c8 upate build.zig (#874) 2023-10-23 03:20:16 +08:00
fc70b1eb2c Fix the docs of binary_search_tree and
graph_operations.
2023-10-23 03:09:41 +08:00
433997c38d Fix several figures. 2023-10-19 16:22:10 +08:00
5aacf2dfe0 Improve Python code for importing modules. 2023-10-19 16:21:51 +08:00
1e49574332 Simplify struct declarations of C.
Use PascalCase for all structs in C.
SImplify n_queens.c
Format C code for chapter of graph.
2023-10-18 02:16:26 +08:00
070d23ee6e fix: hash_collision.md squared detection description (#867) 2023-10-17 10:49:06 -05:00
5392afd44b fix several bugs 2023-10-17 23:45:31 +08:00
51405c0669 add permutations_ii.c and re-implement permutations_i.c (#868) 2023-10-17 10:20:10 -05:00
37872726b0 feat: build_tree.c translation (#847)
* feat: build_tree.c translation

* Update CMakeLists.txt

* chore: find with map

* change inordermap

* Update build_tree.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-17 08:47:16 -05:00
ea7275ab6a add forLoopRecur in recursion.c (#866) 2023-10-17 07:28:17 -05:00
faa44fecd2 Squash the language code blocks and fix list.md (#865) 2023-10-16 12:06:00 -05:00
346c8451de Fix code naming style. 2023-10-15 21:18:09 +08:00
ada37fd1f8 Fix Python code. 2023-10-14 22:15:02 +08:00
2976d9ff56 Fix Python code. 2023-10-14 21:54:47 +08:00
a8c624fa5a Fix the code in min_path_sum 2023-10-14 03:25:11 +08:00
3df5c36370 refactor: Improve the hash_map_chaining.c implementation. (#858)
* Improve the hash_map_chaining.c implementation.

* Update hash_map_chaining.c
2023-10-13 02:04:45 -05:00
84e2799f1b Fix hash_map_chaining.c and
hash_map_open_addressing.c
2023-10-13 14:32:49 +08:00
fe01f77ff8 Create hash_map_open_addressing.c (#838)
* Create hash_map_open_addressing.c

哈希冲突-C语言

* Update hash_map_open_addressing.c

* Update hash_map_open_addressing.c

* Update hash_map_open_addressing.c
2023-10-13 01:15:23 -05:00
61eca92055 fix get() in hash_map_chaining.c (#845)
Fix get function.
2023-10-13 01:09:06 -05:00
da5ef293d9 fix a typo 2023-10-11 17:39:56 +08:00
227bd66223 Update Dockerfile and mkdocs.yml
Fix a variable name in list.md
2023-10-10 13:16:09 +08:00
c37b7c807b Several bug fixes 2023-10-09 18:21:18 +08:00
fb552987f5 Update variable names in list and my_list 2023-10-09 18:20:42 +08:00
e5f8c93f5d fix a Python variable name in list.md
Python 代码中的列表命名为list时,会出现如下错误。
 list:list[int] = [1, 2, 3, 4, 5]
TypeError: list indices must be integers or slices, not type
建议修改为list2
2023-10-09 01:47:25 -05:00
704b638d89 feat: n_queens.c translation (#774)
* feat: tranlating n_queens.c

* Reference to c++ code with additional comments

* Update n_queens.c

* Update n_queens.c

* Format n_queens.c

* Update n_queens.c

keep  the file header information format consistent with others

* fine tune

* fine tune

* Delete mkdocs-en.yml

* Update README.md

---------

Co-authored-by: krahets <krahets@163.com>
2023-10-08 12:42:32 -05:00
c098bcdde4 Several bug fixes. 2023-10-09 01:06:26 +08:00
b85deae275 Update time_complexity.md (#844)
错别字
2023-10-08 07:39:41 -05:00
e03022d5fb fix: Polishing code format on linearLogRecur, convert String type to string (#841) 2023-10-08 07:33:30 -05:00
2bba70fd87 Add Edit distance in C code (#835)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* old vector.h

* Create edit_distance.c

* Update edit_distance.c

* Update edit_distance.c

* Update edit_distance.c

* Create CMakeLists.txt

* Update edit_distance.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 22:29:44 -05:00
1a3b819355 Add Climbing stairs constraint dp in C code (#829)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* Create climbing_stairs_constraint_dp.c

* RollBack vector.h

* Create CMakeLists.txt

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 22:28:23 -05:00
51dab9dd25 Update overrides directory structure. 2023-10-08 04:42:57 +08:00
7e15726bb5 Update .gitignore 2023-10-08 04:34:53 +08:00
b39c2a94d3 Move docs/zh back to docs.
Move docs/overrides to overrides/.
Other fine tunes.
2023-10-08 04:25:06 +08:00
f62256bee1 fix(csharp): Modify method name to PascalCase, simplify new expression (#840)
* Modify method name to PascalCase(array and linked list)

* Modify method name to PascalCase(backtracking)

* Modify method name to PascalCase(computational complexity)

* Modify method name to PascalCase(divide and conquer)

* Modify method name to PascalCase(dynamic programming)

* Modify method name to PascalCase(graph)

* Modify method name to PascalCase(greedy)

* Modify method name to PascalCase(hashing)

* Modify method name to PascalCase(heap)

* Modify method name to PascalCase(searching)

* Modify method name to PascalCase(sorting)

* Modify method name to PascalCase(stack and queue)

* Modify method name to PascalCase(tree)

* local check
2023-10-07 12:33:46 -05:00
6f7e768cb7 Move docs/* to docs/zh/* 2023-10-08 01:33:09 +08:00
400b3914f6 Move docs/zh back to docs. 2023-10-08 01:22:57 +08:00
47
70cff2d99f fix: Fixed the state transition error in minCostClimbingStairsDP function (#839)
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
2023-10-07 08:52:12 -05:00
61e1d1faec feat(go): add forLoopRecur func (#816) 2023-10-07 08:47:58 -05:00
ef87bd494a Add Binary search recur in C code (#820)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Create CMakeLists.txt

* Update vector.h

* RollBack vector.h

* Update CMakeLists.txt

* Update binary_search_recur.c

* Update binary_search_recur.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:47:05 -05:00
2b59c9ce88 Add Coin change ii in C code (#834)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* old vector.h

* Create coin_change_ii.c

* Update coin_change_ii.c

* Create CMakeLists.txt

* Update coin_change_ii.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:41:09 -05:00
8b4d3300c3 Add Coin change in C code (#833)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* old vector.h

* Create coin_change.c

* Update coin_change.c

* Update coin_change.c

* Create CMakeLists.txt

* Update coin_change.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:40:17 -05:00
d75a2eb691 Add Unbounded knapsack in C code (#832)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* old vector.h

* Create unbounded_knapsack.c

* Update unbounded_knapsack.c

* Update unbounded_knapsack.c

* Create CMakeLists.txt

* Update unbounded_knapsack.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:38:02 -05:00
1364bc52e7 Add Min path sum in C code (#831)
* Update vector.h

增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)

* Create hanota.c

* 新增binary_search_recur.c

* Update vector.h

* Delete codes/c/chapter_divide_and_conquer directory

* Update vector.h

* Create binary_search_recur.c

* Delete codes/chapter_divide_and_conquer directory

* Update vector.h

* old vector.h

* Create min_path_sum.c

* Update min_path_sum.c

* Update min_path_sum.c

* Create CMakeLists.txt

* Update min_path_sum.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:36:52 -05:00