Commit Graph

780 Commits

Author SHA1 Message Date
Yudong Jin
881d573790
Refactor the articles related to searching algorithm. Add the chapter of binary search. Add the section of searching algorithm revisited. (#464) 2023-04-17 18:22:18 +08:00
gonglja
28fdd26f2f
Fix some errors of cmake build and add hashing_search.c (#458)
* 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

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-04-17 13:37:38 +08:00
hpstory
878f12f701
feat(csharp/backtracking): add csharp code in backtracking (#463) 2023-04-17 13:37:06 +08:00
krahets
0ade8d87ad Update the page tree 2023-04-16 16:38:04 +08:00
krahets
f5b8978330 Add cpp code for the backtrack algorithm. 2023-04-16 16:34:52 +08:00
krahets
1600ed6dee Fix the codes of backtracking. 2023-04-16 05:14:15 +08:00
Yudong Jin
49606fd199
Add the chapter of backtracking. (#459) 2023-04-16 04:52:42 +08:00
Gonglja
8bc41bc013
Add space_complexit under C and fix memory leak under CPP (#456)
* 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)

* fix(codes/cpp): Fix memory leaks: replace pointers with local variables, no need to manage memory

* fix(codes/cpp): Fix memory leaks: no delete

* fix(codes/cpp): Fix memory leaks: Add destructor ~ArrayHashMap()

* Update PrintUtil.hpp

* feat(codes/c): Add three-party hash implementation

* feat(codes/c): Add freeMemoryTree in tree_node.h

* feat(codes/c): Add space_complexity.c

* styles(codes/c): Modify format

* feat(codes/cpp): Undo a previous delete, there is no memory leak here

* Update array_hash_map.cpp

* Update include.h

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-04-15 23:51:35 +08:00
krahets
c8344e8636 Fix C# codes for the bucket sort,
counting sort and radix sort
2023-04-14 06:01:37 +08:00
hpstory
3b96ab6be9
feat(csharp/sorting): add bucked_sort, counting_sort, radix_sort (#455)
* feat(csharp/sorting): add bucked_sort, counting_sort, radix_sort

* use top level statements
2023-04-14 05:57:07 +08:00
krahets
b3640c53d1 Remove unused functions. 2023-04-14 05:52:59 +08:00
krahets
f7ae9c8a02 Fix the return type of binary search tree and avl tree 2023-04-14 05:47:20 +08:00
krahets
9c9c8b7574 Format C++ codes in Clang-Format Style: Microsoft 2023-04-14 03:44:02 +08:00
krahets
f8513455b5 Format the Java codes with the Reat Hat extension. 2023-04-14 00:12:10 +08:00
liuyuxin
e56cf7c65e
feat: add dart code for chapter_heap (#454) 2023-04-10 03:14:11 +08:00
krahets
0bec52d7cc Polish the chapter of heap, introduction, preface.
Replace "其它" with "其他"
2023-04-09 19:12:37 +08:00
krahets
10e2180013 Unify the comment style of python codes 2023-04-09 05:30:02 +08:00
Yudong Jin
5ddcb60825
Format python codes with black. (#453) 2023-04-09 05:05:35 +08:00
Yudong Jin
1c8b7ef559
refactor: Replace 结点 with 节点 (#452)
* Replace 结点 with 节点
Update the footnotes in the figures

* Update mindmap

* Reduce the size of the mindmap.png
2023-04-09 04:32:17 +08:00
krahets
3f4e32b2b0 Polish the chapter of graph, hashing, appendix 2023-04-09 03:09:06 +08:00
Justin Tse
56243ccc5b
Add JavaScript and TypeScript code of bucket sort, counting sort and radix sort (Chapter of Sorting) (#451)
* Add JavaScript and TypeScript code of bucket sort (Chapter of Sorting)

* Add JavaScript and TypeScript code of counting sort (Chapter of Sorting)

* Add JavaScript and TypeScript code of radix sort (Chapter of Sorting)
2023-04-09 02:59:06 +08:00
liuyuxin
42c89be785
feat: add dart code for chapter_tree (#448) 2023-04-05 15:44:54 +08:00
Yudong Jin
830ec69d39
Add bucket_sort.cpp and bucket_sort.py (#446) 2023-03-30 03:44:26 +08:00
liuyuxin
684f27cf5e
feat: add dart code for chapter_stack_and_queue and chapter_hashing (#445)
* feat: add dart code for chapter stack and queue

* feat: add dart code for chapter_hashing

* Update array_hash_map.dart
2023-03-30 02:03:08 +08:00
Reanon
cac38c0c93
feat(bucket_sort): add bucket_sort code in go/c (#443)
* feat(bucket_sort): add bucket_sort code in go/c

* feat(go): add bucket_sort

* feat(c): add bucket_sort in c

* Update bucket_sort_test.go

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-30 02:00:17 +08:00
nuomi1
944c34982c
feat: add Swift codes for bucket_sort article (#444) 2023-03-30 01:59:14 +08:00
Yudong Jin
34a1bca627
Add the section of radix sort. (#441) 2023-03-26 22:02:37 +08:00
krahets
4830dffd26 Update the test case in bucket_sort.java 2023-03-26 04:50:59 +08:00
krahets
c338a6d8d8 Add the section of bucket sort 2023-03-26 04:47:05 +08:00
krahets
22898b6955 Simplify the contents of the sorting algorithms. 2023-03-25 18:41:22 +08:00
Guanngxu
9b0bdd929f
feat: add C merge sort (#434)
* feat: add C merge sort

* Update merge_sort.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-23 19:10:33 +08:00
krahets
0a4a846e13 Fix python modules 2023-03-23 18:56:14 +08:00
Yudong Jin
8918ec9079
refactor: Follow the PEP 585 Typing standard (#439)
* Follow the PEP 585 Typing standard

* Update list.py
2023-03-23 18:51:56 +08:00
nuomi1
31be65cc55
refactor: use stride (#437) 2023-03-23 02:57:31 +08:00
nuomi1
5ba85ea69d
feat: add Swift codes for counting_sort article (#438) 2023-03-23 02:57:13 +08:00
Yudong Jin
65e47b0748
Add Python and C++ code for the counting sort. (#436) 2023-03-21 22:24:17 +08:00
krahets
a78365401e Update counting_sort.go and radix_sort.go 2023-03-20 21:40:50 +08:00
Gonglja
b9e97d3823
Fix access error when printArray(arr, 0) (#432)
* 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

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-20 21:26:20 +08:00
Guanngxu
e539c44f63
feat: add C counting_sort (#430)
* feat: add C counting_sort

* Update CMakeLists.txt

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-20 21:25:03 +08:00
Gonglja
0659c54e77
Fix memory leaks (#433)
* 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)

* fix(codes/cpp): Fix memory leaks: replace pointers with local variables, no need to manage memory
2023-03-20 21:17:19 +08:00
Reanon
c837882dbd
feat(counting_sort): support counting_sort in c/go (#431)
* feat(go/counting_sort): support counting_sort in go

* feat(test): support counting_sort_naive testcase

* feat(go/counting_sort): support counting sort

* feat(c/counting_sort): support counting_sort in c
2023-03-20 21:16:25 +08:00
Guanngxu
2356cc1b2e
add C binary_search and linear_search (#426)
* add C binary_search

* add C linear_search

* Update linear_search.c

* Update binary_search.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-20 19:17:20 +08:00
Gonglja
564ace6bc1
feat(codes/c): Add linkedlist_deque.c (#422)
* feat(codes/c): Add linkedlist_deque.c

* feat(codes/c): Update linkedlist_deque.c function comment.

* feat(codes/c): Update linkedlist_deque.c driver code.
2023-03-19 23:48:46 +08:00
Gonglja
3173d02538
fix(codes/cpp): Memory leak fix: the space was not freed when pop removed the element. (#423) 2023-03-19 23:46:48 +08:00
Yudong Jin
ceeb138487
Add the section of counting sort. (#427) 2023-03-19 23:42:12 +08:00
krahets
3cd724a6d8 Update list_node.h 2023-03-18 18:33:35 +08:00
krahets
28f3c98697 Fix avl_tree.cpp 2023-03-16 22:50:17 +08:00
krahets
0840bc2043 Fix the deconstructor of linkedlist_queue.cpp 2023-03-16 18:43:13 +08:00
krahets
518b9efabc Update a comment in array_hash_map 2023-03-15 03:48:31 +08:00
krahets
d5afd93571 Update array_hash_map 2023-03-15 03:11:43 +08:00
krahets
d37d704b18 Update CMakeLists.txt for C++ 2023-03-15 01:43:28 +08:00
sjinzh
c2be6ebfbe
🚀feat: add rust codes for array_deque (#418)
* update zig codes style

* feat: add rust codes for array_deque

* Update array_deque.rs

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-14 20:45:27 +08:00
Gonglja
567497a6b8
Add cpp codes cmake build method (#419)
* feat(codes/cpp): Add cmake build method

* feat(codes/cpp): Modify the cpp support version to c++17

* feat(codes/cpp): fix graph_adjacency_list.cpp cannot be compiled into an executable

* style(codes/cpp): Adjust the code to enhance compatibility.

* feat(codes/cpp): Change cpp version from 17 to 11.
2023-03-14 20:40:33 +08:00
krahets
b37a088f7d Fix a comment in binary_tree_bfs.go 2023-03-13 22:47:22 +08:00
krahets
516cb17775 Replace poll with pop 2023-03-13 22:39:45 +08:00
Yudong Jin
28aacccf44
refactor: Replace 'poll' with 'pop' in Heap (#416) 2023-03-13 22:31:05 +08:00
Yudong Jin
8aebbaad21
refactor: Replace poll with pop in Queue and Deque (#415) 2023-03-13 21:58:21 +08:00
Gonglja
2d17ee8e92
feat(codes/c): Add array_deque.c (#412)
* feat(codes/c): Add array_deque.c

* Update array_deque.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-13 20:40:25 +08:00
Gonglja
f73b6a3654
feat(codes/c): Add linkedlist_queue.c (#413)
* feat(codes/c): Add linkedlist_queue.c

* feat(codes/c): Prevent null pointer access errors in linkedlist_queue.c

* Update linkedlist_queue.c

* Update linkedlist_queue.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-13 20:37:58 +08:00
Reanon
be0c965886
feat(go/deque): support go array deque (#414) 2023-03-13 20:16:23 +08:00
sjinzh
6924d15f63
🚀feat: add rust codes for linkedlist_stack, linkedlist_queue and linkedlist_deque (#410)
* feat: add rust codes for space_complexity

* feat: add rust codes for linkedlist_stack

* update

* feat: add rust codes for linkedlist_queue

* feat: add rust codes for linkedlist_deque

* update
2023-03-13 20:15:11 +08:00
Yudong Jin
9151eaf533
Add typing annotations to Python codes. (#411) 2023-03-12 18:49:52 +08:00
sjinzh
2029d2b939
feat: add rust codes for space_complexity (#409) 2023-03-12 15:16:35 +08:00
krahets
82bbdd444d Update the chapter of stack and queue. 2023-03-12 04:14:36 +08:00
sjinzh
050b922f8a
feat: add rust codes for linked_list and my_list (#408)
* feat: add rust codes for linked_list

* feat: add rust codes for my_list

* Update linked_list.rs

* Update print_util.rs

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-12 02:48:44 +08:00
krahets
bbef87ccfe Update the applications of deque. 2023-03-12 02:45:10 +08:00
hpstory
7d55f82508
feature: Add csharp code array_deque and linkedlist_deque (#405)
* feature: Add csharp code array_deque and linkedlist_deque

* fix code style issue in comments
2023-03-08 19:17:30 +08:00
hpstory
b6c9b01d96
feature: Add csharp code graph_bfs and graph_dfs (#404)
* add csharp code graph_bfs and graph_dfs, modify graph adjacency list class inaccessable

* remove unnecessary using

* fix code style issue in comments
2023-03-08 19:16:46 +08:00
xBLACKICEx
590b532606
feat(rust/tree): add binary_tree (#398)
*  feat(rust/hashing): add array_hash_map

* 📃 docs(rust/hashing): correct comments

*  feat(rust/include): add tree_node

*  feat(rust/include): add print_tree

*  feat(rust/tree): add binary_tree

* docs(rust/tree): correct comments

* 📃 docs(rust/tree): correct comments
2023-03-07 23:46:28 +08:00
krahets
ca261a8f46 Update the chapter preface. 2023-03-03 21:54:04 +08:00
zhuoqinyue
8c65345b76
feat: add array_deque for JS and TS (#397)
* feat: add array_deque for JS and TS

* feat: update the information

* Update array_deque.ts

* Update array_deque.js

* use private property

* Update array_deque.js

---------

Co-authored-by: steak-zhuo <zhuoqinyue@gmail.com>
Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-03 21:25:25 +08:00
nuomi1
17ff091a03
refactor: review Swift codes for chapter_computational_complexity art… (#396)
* refactor: review Swift codes for chapter_computational_complexity articles

* Update time_complexity.swift

* Update time_complexity.swift

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-03-03 21:22:23 +08:00
krahets
7c501140f0 Update code style for Python 2023-03-03 03:07:22 +08:00
Justin Tse
e4a98bc9c5
Update JavaScript and TypeScript codes for all chapters, rename JavaScript and TypeScript import folder to modules (#402)
* Update JavaScript and TypeScript codes

* Rename JavaScript and TypeScript import folder to modules
2023-03-03 01:34:53 +08:00
Yudong Jin
33c797efeb
feat: Add C++ code for the graph bfs and dfs (#401)
* Add C++ code for the graph bfs and dfs

* Add C++ code for the graph bfs and dfs
2023-03-02 18:57:33 +08:00
Yudong Jin
4f941e3d99
Add C++ code for the linkedlist deque and array deque (#400) 2023-03-02 03:00:14 +08:00
Yudong Jin
0ed596e251
Add array_deque.py and linkedlist_deque.py (#399) 2023-03-01 03:47:28 +08:00
krahets
10903b2781 Updathe time_complexity.md 2023-02-28 00:14:59 +08:00
Reanon
327f385d32
feat(go/graph): add go code for graph_dfs/bfs (#372)
* feat(vertex): add a vertex pkg

* feat(graph): add graph_bfs in go

* feat(graph): add graph_dfs in go

* fix(graph): fix comment

* fix(graph): fix graph_adj_list

* fix(go/graph): fix graph_adjacency

* fix(c): gitignore

* feat(graph): print order adjList graph

* fix(graph): remove order print

* Update graph_adjacency_list_test.go

* Update .gitignore

* Update .gitignore

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-27 20:34:30 +08:00
krahets
9ea24e8b26 Change the operations sequence of the likedlist's insert() method. 2023-02-27 20:25:43 +08:00
krahets
18f2ec4fdc Fix array_deque.java
Unify the book name.
Update cover image.
2023-02-27 19:08:32 +08:00
zhuoqinyue
037aaeeaa2
fix: update the code comment (#386)
Co-authored-by: steak-zhuo <zhuoqinyue@gmail.com>
2023-02-26 01:16:41 +08:00
krahets
93fb0075cc Update graph_bfs.js and graph_dfs.js 2023-02-25 02:19:48 +08:00
zhuoqinyue
e8f311e900
update: Use function declarations instead of function expressions. (#385)
Co-authored-by: steak-zhuo <zhuoqinyue@gmail.com>
2023-02-25 02:15:46 +08:00
zhuoqinyue
2d421de984
feat: add bfs and dfs for JS and TS (#377)
* add bfs and dfs for JS and TS

* update the type

* Apply suggestions from code review

Co-authored-by: Justin Tse <xiefahit@gmail.com>

* Update graph_dfs.ts

* Update graph_bfs.ts

* Update graph_dfs.ts

* Update graph_bfs.ts

* Update graph_dfs.js

* Update graph_bfs.js

---------

Co-authored-by: steak-zhuo <zhuoqinyue@gmail.com>
Co-authored-by: Yudong Jin <krahets@163.com>
Co-authored-by: Justin Tse <xiefahit@gmail.com>
2023-02-25 01:11:11 +08:00
nuomi1
037769d94d
feat: add Swift codes for deque article (#380) 2023-02-23 23:03:33 +08:00
xBLACKICEx
533cb7bbbe
feat(rust/hashing): add array_hash_map (#373)
*  feat(rust/hashing): add array_hash_map

* 📃 docs(rust/hashing): correct comments
2023-02-23 23:02:13 +08:00
krahets
adbb12c011 Fix a comment in graph_adjacency_list 2023-02-23 20:32:26 +08:00
krahets
73c8920c6b Add python code of Heap and Graph to docs. 2023-02-23 20:23:49 +08:00
Yudong Jin
1f4dba4845
Add the Python codes for the chapter of Graph and Heap (#382) 2023-02-23 20:00:40 +08:00
nuomi1
c6c4c9d997
feat: add Swift codes for graph_traversal article (#378)
* feat: add Swift codes for graph_traversal article

* refactor: rename parameters

* Update graph_dfs.swift

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-22 19:41:31 +08:00
t8g
f2d2cca5f1
refactor:Simplified lambda expressions for PriorityQueue in heap.md and heap.java (#379) 2023-02-22 19:35:49 +08:00
krahets
0b72fef381 Fix quick_sort.py 2023-02-21 21:51:56 +08:00
zhuoqinyue
b89ea3eba4
Add vertex class for javascript and typescript (#370)
* add vertex class for javascript and typescript

* update the adjacencyList

* update the graph_adjacency_list file

* update the implicit type

---------

Co-authored-by: steak-zhuo <zhuoqinyue@gmail.com>
2023-02-21 21:35:44 +08:00
nuomi1
04b0fb7455
refactor: extract Vertex and use Array<Vertex> (#374)
* refactor: extract Vertex and use Array<Vertex>

* docs: add chapter to Package.swift

* Update graph_adjacency_list.swift

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-21 21:35:28 +08:00
Leo.Cai
d249c8802e
add chapter_sorting by dart (#366)
* add chapter_sorting by dart

* fixed style of dart and bug mentioned before

* alter min value of dart

* Update radix_sort.dart

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-19 01:03:42 +08:00
xBLACKICEx
53f45984f9
feat(rust/sorting) add insertion, merge, quick sort code (#369)
*  feat(rust/sorting): add insertion_sort

*  feat(rust/sorting): add merge sort

*  feat(rust/sorting): add quick sort

* 📃 docs(rust/sorting): add & correct some missing comments.

* 📃 docs(rust/sorting): add & correct some missing comments.
2023-02-19 01:00:20 +08:00
Jefferson
7b9c552273
Add dart chapter_computational_complexity (#363)
* add dart chapter_array_and_linkedlist

* update my_list.dart

* update chapter_array_and_linkedlist

* Update my_list.dart

* Update array.dart

* Update file name

* Add chapter_computational_complexity

* Add chapter_computational_complexity

* add space_complexity class and format code

* remove class

---------

Co-authored-by: huangjianqing <huangjianqing@52tt.com>
Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-16 02:23:06 +08:00
方圆
f0d8d8b1b0
feat: add ArrayDeque (#348)
* 双向队列: java 代码

* 双向队列: markdown 内容

* Rewrite array_deque.java
Update array_queue.java, linkedlist_deque.java

* Add ArrayDeque figures and rewrite the contents

---------

Co-authored-by: krahets <krahets@163.com>
2023-02-16 02:17:15 +08:00
krahets
0fa78e4b3b Update graph_adjacency_list.java, .cs 2023-02-15 21:45:35 +08:00