Commit graph

1078 commits

Author SHA1 Message Date
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
hpstory
56b20eff36
feat(csharp) .NET 8.0 code migration (#966)
* .net 8.0 migration

* update docs

* revert change

* revert change and update appendix docs

* remove static

* Update binary_search_insertion.cs

* Update binary_search_insertion.cs

* Update binary_search_edge.cs

* Update binary_search_insertion.cs

* Update binary_search_edge.cs

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-11-26 23:18:44 +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
0x6AcE
c5e37c1b41
Simplify the code in array.swift (#960)
* 简单点

* Apply suggestions from code review

Co-authored-by: nuomi1 <nuomi1@qq.com>

---------

Co-authored-by: Yudong Jin <krahets@163.com>
Co-authored-by: nuomi1 <nuomi1@qq.com>
2023-11-23 15:20:17 +08:00
selear
5b6fb34a82
fix: Use .equals() to compare two strings in Java (#961) 2023-11-21 21:20:04 +08:00
krahets
a01363234c Add auto-build-and-check workflow for Java. 2023-11-17 01:11:13 +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
liuyuxin
82f006372e
fix(Dart): Avoid using num as a variable name (#946) 2023-11-16 00:32:39 +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
易春风
9baf4a1753
Use Vec.last() method to access the top item of stack. (#942)
* Use Vec.last() method to access the top item of stack.

* Use Vec.last() method to access the top item of stack.
2023-11-13 14:18:29 +08:00
Justin Tse
2b0cf6f9ab
fix: the bug for the array binary tree from ts and js code (#936) 2023-11-13 14:06:17 +08:00
易春风
c81d5e091b
Unsize type must be greater than or equal to 0 (#931) 2023-11-09 17:21:09 +08:00
hpstory
99fd891d76
feat: add csharp sdk to dockerfile (#929)
* feature: add csharp sdk to dockerfile

* Update docker-compose.yml

* Update Dockerfile

* remove env file

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-11-08 17:35:20 +08:00
Yudong Jin
d5ee877fd8
feat: Add Docker for code debugging (#927)
* Update Dockerfile and docker-compose.yml

* Add Dockerfile for code debugging.
Add installation procedures of python, cpp and java.
2023-11-08 03:20:29 +08:00
krahets
5f3ad1ed3d A few bug fixes. 2023-11-03 22:48:43 +08:00
Yudong Jin
23cce00e09
Fix Python build check script. (#911)
* Fix Python build check script.

* Update python code check workflow

* Update python test script.

* Compatible with Python >=3.9

* Compatible with Python >=3.10

* Fix errors in Windows

* test

* Add Python version in installation.md

* Update test_all.py
2023-11-02 21:58:14 +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
Justin Tse
c37f0981f0
feat: refactor top_k.ts (#899) 2023-10-28 14:27:52 +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
nuomi1
7605cab160
feature(swift): Reimplement merge_sort and top_k (#898)
* feat: Add swift-collections

* fix: use heap

* refactor: merge

* fix: import HeapModule
2023-10-27 22:59:54 +08:00
liuyuxin
1ab83bd3ef
refactor(dart): Re-implement merge sort function (#896) 2023-10-27 16:00:26 +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
krahets
5b1a219b8b Fine-tune code and texts. 2023-10-27 01:01:21 +08:00
易春风
3628b40f44
refactor: re-implement the rust codes of merge sort (#891) 2023-10-26 22:24:02 +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
liuyuxin
a8b2350705
feat(dart): Add build check for Dart (#886)
* feat(dart): Add build check for Dart

* feat(dart): Add dart analyze to check

* fix(dart): remove dart analyze

* feat(dart): Ignore unused variable and add dart analyze
2023-10-25 23:15:53 +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
52coder
436b6fa9a6
Add C++ iterator example for C++ (#837)
* 增加c++迭代器访问示例

* Update hash_map.md

* Update hash_map.cpp

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-24 23:59:10 +08:00
Spark
2035aa0cf1
feat: iteration & recursion in Zig (#804)
* iteration & recursion in Zig

* missing part in time_complexity.md (zig)

* build.zig sync

* Update recursion.zig

* Update iteration.zig

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-24 23:49:13 +08:00
Yudong Jin
19023148ba
feat: Update the implementation of hash_map_open_addressing.js and .ts (#881)
* add permutations_ii.c and re-implement permutations_i.c

* Update the implementation of hash_map_open_addressing.js and .ts

* Update hash_map_open_addressing.js

* Update hash_map_open_addressing.js
2023-10-24 23:46:34 +08:00
hpstory
fb3ce050c1
feat(csharp): add .net building and testing workflow, solution file (#879) 2023-10-24 17:13:29 +08:00
krahets
17252b53a9 Format code and docs. 2023-10-24 16:19:29 +08:00
Reese Wellin
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
krahets
d27890d98d Fix automating build workflow for Python 2023-10-23 16:06:33 +08:00
krahets
b7c110e5ec Add build check with py_compile 2023-10-23 06:02:34 +08:00
sjinzh
0c470d19c8
upate build.zig (#874) 2023-10-23 03:20:16 +08:00
krahets
5aacf2dfe0 Improve Python code for importing modules. 2023-10-19 16:21:51 +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