gonglja
3a559f1b60
Fix some code bugs ( #1021 )
...
* fix(counting_sort.c): Fix access out-of-bounds issue
* fix(hash_map_open_addressing.c): Fix coding errors
* fix(binary_search_tree.c): Fix unreleased memory
* Update indentataion
2024-01-02 21:45:01 +08:00
codingonion
7ffef7e1d6
update the author info sjinzh
-> codingonion
( #1017 )
...
* update author information
* Update index.md
---------
Co-authored-by: Yudong Jin <krahets@163.com>
2024-01-02 01:25:37 +08:00
Yudong Jin
f68bbb0d59
Update the book based on the revised second edition ( #1014 )
...
* Revised the book
* Update the book with the second revised edition
* Revise base on the manuscript of the first edition
2023-12-28 18:06:09 +08:00
Yudong Jin
6d961d38a0
Several improvements ( #1002 )
...
* Update buttons.
* Update button svg
* Update button
* Update README.md
* Update index.md
* Update translation of about_the _book
* Update English headings.
2023-12-24 10:37:25 +08:00
krahets
9a5ab776d6
A bug fix.
2023-12-19 21:55:57 +08:00
krahets
d9686e57dd
Fix bubble_sort.c
2023-12-18 22:52:00 +08:00
gonglja
d67c458caa
fix(codes/c): Fix bubble_sort.c ( #983 )
2023-12-11 00:42:45 +08:00
Yudong Jin
e720aa2d24
feat: Revised the book ( #978 )
...
* Sync recent changes to the revised Word.
* Revised the preface chapter
* Revised the introduction chapter
* Revised the computation complexity chapter
* Revised the chapter data structure
* Revised the chapter array and linked list
* Revised the chapter stack and queue
* Revised the chapter hashing
* Revised the chapter tree
* Revised the chapter heap
* Revised the chapter graph
* Revised the chapter searching
* Reivised the sorting chapter
* Revised the divide and conquer chapter
* Revised the chapter backtacking
* Revised the DP chapter
* Revised the greedy chapter
* Revised the appendix chapter
* Revised the preface chapter doubly
* Revised the figures
2023-12-02 06:21:34 +08:00
Yudong Jin
b824d149cb
fix: Several code bug fixes ( #973 )
...
* Update counting_sort.c and quick_sort.c
* Code bug fixes.
2023-11-29 23:14:55 +08:00
gonglja
d960c99a1f
fix: bug fixes for array_hash_map.c and counting_sort.c ( #968 )
...
* fix(codes/cpp): Memory leak fix: the space was not freed when pop removed the element.
* fix(codes/cpp): Fix access error when printArray(arr, 0)
* Update PrintUtil.hpp
* fix(codes/c): Fix some errors of cmake build
* feat(codes/c): Add hashing_search.c
* styles(codes/c): Modify function description
* styles(codes/c): Modify binary_search.c code style
* fix(codes/c): Fix the problem in binary_tree_bfs.c and the problem that the memory is not released.
* feat: Add preorder_traversal_i_compact.c
* feat(codes/c): Add head_sort.c
* feat(codes/c): Add bucket_sort.c
* feat(codes/c): Add binary_search_edge.c
* fix(codes/c): Add programs that are not managed by cmake (c code)
* feat(codes/c): Add selection_sort.c
* style(codes/c): Change swap in selection_sort.c to `selectionSort`
* styles(codes/c): Change style.
* fix(codes/c): Fix some formatting errors and temporarily remove backtracking chapters
* fix(codes/c): Fix space_complexity.c build error.
* feat(codes/c): Add array_binary_tree.c
* feat(code/c): Update push_back and pop_back in vector.h
* styles(codes/c): Adjust format.
* feat(codes/c): Add `interation.c ` `recursion.c` `simple_hash.c` `binary_search_edge.c` `binary_search_insertion.c` in C codes.
* fix(mylist.c): Fix `insert` function in `mylist.c`
https://github.com/krahets/hello-algo/discussions/32#discussioncomment-6974163
* feat(codes/c): Add binary_search_recur.c
* fix(codes/c): Bug fixes in discussion
https://github.com/krahets/hello-algo/discussions/78\#discussioncomment-7611511
https://github.com/krahets/hello-algo/discussions/428\#discussioncomment-7637613
---------
Co-authored-by: Yudong Jin <krahets@163.com>
2023-11-26 22:56:30 +08:00
Yudong Jin
f7c41b6bef
fix: Update C code for compatibility with the MSVC compiler ( #949 )
...
* Replace VLA with malloc
Replace VLA with malloc to make C code
compatible with cl compiler on Windows.
* Fix C code for CI compiler.
* Fix C code compability to CI.
* check the trigger
2023-11-17 00:29:54 +08:00
krahets
49745cf2d2
Add the link of math.h lib in CMakeList.
2023-11-16 21:14:20 +08:00
Yudong Jin
fcbaf101a4
Several bug fixes and improvements ( #945 )
...
* Update Dockerfile for code debugging.
* Format Python code using Black.
* Improve dark theme by defining html classes for the figures, animations and cover images.
* Fix several glossary translation.
* Update a code comment.
* Fix climbing_stairs_backtrack: the pruning should not require the sorted choices list.
* Update the code of array and list traversal.
* Fix a rendering issue of README.md
* Update code of list traversal.
* Fix array_definition.png
* Update README.md
* Fix max_capacity_moving_short_board.png
* Fix array.dart
* Fix array.dart
* Fix array.dart
* Fix array.dart
2023-11-14 21:27:35 +08:00
krahets
5f3ad1ed3d
A few bug fixes.
2023-11-03 22:48:43 +08:00
krahets
355cc3a6b1
Bug fixes to C code.
2023-11-01 05:14:22 +08:00
Yudong Jin
9c28619839
feat: Reimplement the graph code for C ( #901 )
...
* Reimplement the graph code for C
* Free memory of **vertices.
2023-10-29 19:52:19 +08:00
krahets
db5d1d21f3
Several bug fixes.
2023-10-29 00:09:54 +08:00
lucas
f98b337144
refactor: Re-implement hanota.c ( #885 )
...
* feat: re-impl hanota.c
* chore: Remove useless comment code
* Update hanota.c
* Update hanota.c
* Update print_util.h
* Update CMakeLists.txt
---------
Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-27 23:41:58 +08:00
Yudong Jin
492a69ebca
refactor: Replace vector with array in C code ( #894 )
...
* Re-implement merge sort function.
* Replace vector with array for C.
* fix
2023-10-27 23:26:48 +08:00
krahets
5385057993
Replace "结点" with "节点".
2023-10-27 23:24:13 +08:00
krahets
bd8cda325e
A few improvements to the C code.
2023-10-27 01:13:36 +08:00
krahets
0e10274bb4
Update arrayToTree() and treeToArray() for C.
2023-10-27 01:04:17 +08:00
Yudong Jin
e441ee4e35
Re-implement merge sort function. ( #888 )
2023-10-26 02:56:33 +08:00
Yudong Jin
7822bf9cd4
feat: add top_k.c and refactor top_k.js ( #889 )
...
* Add top_k.c based on my_heap.c
* Improve the implementation of top_k.js
* Add a comment to top_k
2023-10-26 02:54:19 +08:00
Yudong Jin
d26e811e10
Several bug fixes and improvements. ( #887 )
...
* fix the bugs of C code.
* Add a header figure.
* Improve the definition of tree node height.
2023-10-25 22:59:25 +08:00
krahets
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
krahets
5392afd44b
fix several bugs
2023-10-17 23:45:31 +08:00
Yudong Jin
51405c0669
add permutations_ii.c and re-implement permutations_i.c ( #868 )
2023-10-17 10:20:10 -05:00
lucas
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
Yudong Jin
ea7275ab6a
add forLoopRecur in recursion.c ( #866 )
2023-10-17 07:28:17 -05:00
krahets
346c8451de
Fix code naming style.
2023-10-15 21:18:09 +08:00
krahets
a8c624fa5a
Fix the code in min_path_sum
2023-10-14 03:25:11 +08:00
Yudong Jin
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
krahets
84e2799f1b
Fix hash_map_chaining.c and
...
hash_map_open_addressing.c
2023-10-13 14:32:49 +08:00
lclc6
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
FreddieLi
61eca92055
fix get() in hash_map_chaining.c ( #845 )
...
Fix get function.
2023-10-13 01:09:06 -05:00
krahets
c37b7c807b
Several bug fixes
2023-10-09 18:21:18 +08:00
krahets
fb552987f5
Update variable names in list and my_list
2023-10-09 18:20:42 +08:00
lucas
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
王作勋
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
王作勋
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
王作勋
946853431f
Add Knapsack in C code ( #830 )
...
* 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 knapsack.c
* Update knapsack.c
* Update knapsack.c
* Create CMakeLists.txt
* Update knapsack.c
* Update knapsack.c
---------
Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-07 08:33:41 -05:00
王作勋
c6bc10a101
Add Min cost climbing stairs dp in C code ( #828 )
...
* 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 min_cost_climbing_stairs_dp.c
* Update min_cost_climbing_stairs_dp.c
* Update min_cost_climbing_stairs_dp.c
* RollBack vector.h
* Update min_cost_climbing_stairs_dp.c
* Update min_cost_climbing_stairs_dp.c
* Create CMakeLists.txt
* Update min_cost_climbing_stairs_dp.c
2023-10-07 08:32:35 -05:00
王作勋
21fa72ea9f
Add hanota in C code ( #819 )
...
* Update vector.h
增加功能列表:
获取向量的第 i 个元素
设置向量的第 i 个元素
向量扩容
向量缩容
向量插入元素
向量删除元素
向量交换元素
向量是否为空
向量是否已满
向量是否相等
对向量内部进行排序(升序/降序)
对向量某段数据排序(升序/降序)
* Create hanota.c
* 新增binary_search_recur.c
* Update vector.h
* Delete codes/c/chapter_divide_and_conquer directory
* Create hanota.c
* Update vector.h
* Update hanota.c
* Create CMakeLists.txt
* Update vector.h
* Update hanota.c
* RollBack vector.h
* Update CMakeLists.txt
* Update hanota.c
* Update hanota.c
2023-10-07 08:30:12 -05:00
王作勋
1f512b105f
refactor: Extend vector.h implementation ( #818 )
...
* 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
* Update vector.h
2023-10-07 00:43:30 -05:00