Commit graph

171 commits

Author SHA1 Message Date
Yudong Jin
9563965a20
Add the codes of hashmap (#553)
of chaining and open addressing
2023-06-14 02:01:06 +08:00
krahets
d3e597af94 Update cmakelists.txt 2023-06-13 21:16:54 +08:00
krahets
0345a479a4 Fix some codes. 2023-06-06 02:03:27 +08:00
gonglja
86209e0a7b
feat: Add C codes for bucket sort, heap sort, selection sort, binary search edge (#525)
* 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

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-06-02 02:51:35 +08:00
krahets
fb72aa385e Polish some texts. 2023-05-26 20:34:48 +08:00
krahets
eb8df49993 Update bubble sort and insertion sort. 2023-05-23 21:20:14 +08:00
krahets
f6d290d903 Update the comments of bubble sort
and insertion sort
2023-05-22 23:05:37 +08:00
krahets
d95c628eef Fix the test case of binary search. 2023-05-21 19:29:24 +08:00
krahets
d3cc149c5a Merge the chapter of binary tree and searching. 2023-05-21 19:26:52 +08:00
krahets
c3e7455285 Refactor the section of bianry search. 2023-05-21 04:51:32 +08:00
krahets
399e5df39a Polish some cotents. 2023-05-18 20:27:58 +08:00
krahets
817b4598d5 Fix a comment in binary_search_tree code 2023-05-17 19:04:46 +08:00
krahets
fe69f7240d Add figures to replace_linear_by_hashing.md 2023-05-09 00:36:18 +08:00
gonglja
53ca2144e2
Fix the problem in binary_tree_bfs.c and the problem that the memory is not released. (#487)
* 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.

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-05-09 00:01:23 +08:00
krahets
78c84dfec6 Fix counting_sort.c 2023-05-03 22:58:48 +08:00
krahets
3f430fb85e Update the code of permutations i and ii 2023-04-27 01:18:18 +08:00
krahets
145975b335 Rename the common modules in Java, C++ and C. 2023-04-24 04:11:18 +08:00
Guanngxu
95ed93dc4b
feat: add C array hash map (#424)
* feat: add C hash map

* fix: hash map put bug

* fix: C array hash map

* fix: Incorrect indentation

* refactory array hash map

* remove header

* refactory print

* 修改注释

* replace all the Tab with 4 spaces

* 向 cpp 靠拢

* 删除错误注释

* delete <stdlib.h>

* delete array_hash_map.h

* Update array_hash_map.c

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-04-23 23:44:49 +08:00
gonglja
ac6eece4f3
Modify code and comments (#473)
* 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

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-04-22 02:03:24 +08:00
krahets
661603d467 Add the hashtable based on uthash.h to docs 2023-04-18 21:19:57 +08:00
Yudong Jin
dbc4906582
Publish the C codes to the docs. (#469) 2023-04-18 20:21:31 +08:00
krahets
6723cdbc7e Represent null with INT_MAX in C, C++. 2023-04-18 14:31:23 +08:00
krahets
af0f92c18d Fine tune the C codes. 2023-04-17 22:15:06 +08:00
krahets
9a98ff8a5e Format the C code in Clang-Format Style: Microsoft 2023-04-17 21:13:15 +08:00
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
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
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
0bec52d7cc Polish the chapter of heap, introduction, preface.
Replace "其它" with "其他"
2023-04-09 19:12:37 +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
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
Yudong Jin
34a1bca627
Add the section of radix sort. (#441) 2023-03-26 22:02:37 +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
Yudong Jin
65e47b0748
Add Python and C++ code for the counting sort. (#436) 2023-03-21 22:24:17 +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
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
krahets
3cd724a6d8 Update list_node.h 2023-03-18 18:33:35 +08:00
krahets
0840bc2043 Fix the deconstructor of linkedlist_queue.cpp 2023-03-16 18:43:13 +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
krahets
9ea24e8b26 Change the operations sequence of the likedlist's insert() method. 2023-02-27 20:25:43 +08:00
krahets
0b72fef381 Fix quick_sort.py 2023-02-21 21:51:56 +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
方圆
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
300016393b Add code source blocks to the chapter Graph.
Fix "函数" and "方法"
2023-02-10 01:04:26 +08:00
krahets
8f512c2840 Update code extractor of Java. 2023-02-07 19:05:19 +08:00
krahets
ecbf2d1560 1. Add build script for Java.
2. Add height limitation for code blocks in extra.css.
3. Fix "节点" to "结点".
2023-02-07 04:43:52 +08:00
Reanon
93ca29ca6d
feat(graph): add go codes (#314)
* feat(graph): add go codes

* feat(go/graph): add graph_adjacency_list

* doc(graph): add go codes

* fix(graph): fix go codes

* Update graph_adjacency_matrix_test.go

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-02-05 16:08:08 +08:00
Yudong Jin
70dead5cd0 Update worst_best_time_complexity,
leetcode_two_sum
2023-02-03 18:53:15 +08:00
Yudong Jin
7d14c9440e Unify the function naming of
queue from `offer()` to `push()`
2023-02-02 01:43:01 +08:00
Yudong Jin
5eae708035 Fix array queue. 2023-02-01 03:23:29 +08:00
Yudong Jin
286b441bed Update .gitattributes 2023-01-31 03:43:07 +08:00
Yudong Jin
7f3752d306 Update README.md 2023-01-30 20:49:12 +08:00
Yudong Jin
9973822672 Merge branch 'develop' 2023-01-30 17:59:54 +08:00
Yudong Jin
ddd5562b60 Fix the index out of bound check in my_list. 2023-01-30 17:50:07 +08:00
Zero
9c2caad067
Add queue array impl in C (#300)
* feat(codes/c): Add array_queue.c initialization

* feat(codes/c): Add array_queue.c impl

* style(codes/c): Update array_queue.c code style

* style(codes/c): Update array_queue.c code style
2023-01-30 16:05:57 +08:00
Reanon
da405b579d
Modify the code style of C (#299)
* style(my_list): modify c codes.

* style(stack): modify c codes.

* style(hash): modify c codes.
2023-01-29 00:08:12 +08:00
Zero
3a2a9a996c
fix(codes/c): Fix file header error message (#298) 2023-01-29 00:06:34 +08:00
Zero
3d197feb30
feat(codes/c): Update array_stack.c codes (#289) 2023-01-28 00:52:01 +08:00
Zero
0b5761eaf5
fix(codes/c): Fix unknown behavior when size is 0 or arr is a null pointer (#288)
Co-authored-by: Yudong Jin <krahets@163.com>
2023-01-21 01:16:22 +08:00
Yudong Jin
1c7008289f
Merge pull request #273 from Reanon/feat-c-sort
Add quick_sort/radix_sort to C code.
2023-01-18 19:19:03 +08:00
Yudong Jin
a0990a0f7a
Merge branch 'master' into master 2023-01-18 19:14:38 +08:00
reanon
d4d11d9f7d fix(sort): add c codes 2023-01-18 14:20:42 +08:00
reanon
744a37925f feat(sort): add c codes 2023-01-18 14:15:27 +08:00
reanon
f72a1c6b3f feat(sort): add c codes 2023-01-18 14:14:57 +08:00
Gonglja
6f9d7ef64f feat(codes/c): Fix the problem that mylist.c memory is not released 2023-01-18 08:15:27 +08:00
Gonglja
ed91372594 style(codes/c): Update my_list.c code format 2023-01-18 08:14:19 +08:00
Yudong Jin
2336fe1d50 Update the comments in
binary_search_tree and avl_tree.
2023-01-17 01:53:12 +08:00
Yudong Jin
8e2e95a511
Merge pull request #261 from Reanon/feat-c-heap
feat(heap): add c codes.
2023-01-17 00:37:11 +08:00
Gonglja
3698865b32 fix(codes/c): Fix linkedlist_stack.c memory release problem 2023-01-16 16:27:55 +08:00
Gonglja
78b4c4f029 fix(codes/c): Fix compilation error of list.c caused by renaming. 2023-01-16 16:16:38 +08:00
reanon
ea0a8c271c fix(tree): add c codes 2023-01-16 10:38:25 +08:00
reanon
b1c69a9cdb fix(tree): add c codes 2023-01-16 10:35:59 +08:00
reanon
00009c8e49 feat(tree): add go codes 2023-01-16 10:20:56 +08:00
reanon
fe524f7a76 fix(heap): add c codes 2023-01-16 10:17:55 +08:00
reanon
c8ee075d50 feat(heap): add c codes 2023-01-16 10:03:31 +08:00
Gonglja
2ff4c00fea fix(codes/c): Remove makefile 2023-01-14 20:33:58 +08:00
Gonglja
c461b13436 style(codes/c): Update code style 2023-01-14 20:32:35 +08:00
Gonglja
81cdf1d530 docs(codes/c): add function description 2023-01-14 17:10:04 +08:00
Gonglja
dceae63f38 feat(codes/c): Rename list.c to my_list.c, modify part of the code in my_list.c 2023-01-14 16:58:38 +08:00
Gonglja
a94010645d feat(docs/c): add linkedlist_stack.c 2023-01-14 15:45:38 +08:00
Gonglja
74218bf7f0 Merge branch 'dev' 2023-01-14 15:08:22 +08:00
Yudong Jin
7ab9fd68c8
Update linked_list.c 2023-01-13 16:19:04 +08:00
Yudong Jin
750d4f502d
Update linked_list.c 2023-01-13 16:18:05 +08:00
Gonglja
08d715a2e9 feat(codes/c): update linkedlist_stack.c some code 2023-01-13 06:44:31 +08:00
Gonglja
78d7d07bd9 style(codes/c): update comment format 2023-01-13 06:01:21 +08:00
Gonglja
3839f47ac0 feat(codes/c): update linkedlist_stack.c some code 2023-01-13 05:48:29 +08:00
Gonglja
153846c94b feat(codes/c/): add array_stack and linkedlist_stack frame 2023-01-12 21:09:51 +08:00
Gonglja
cbbb7d34b2 feat(code/c): add c code Makefile compile method 2023-01-12 20:44:17 +08:00
Gonglja
2a1b479002 feat(codes/c): add list.c cmake compile method 2023-01-12 20:42:36 +08:00
Gonglja
3970e88be2 style(codes/c): update comment format 2023-01-12 20:27:18 +08:00
Gonglja
e7bb42f552 feat(codes/c): add list.c listExtendCapacity 2023-01-12 18:36:39 +08:00
Gonglja
009191f712 feat(codes/c): add list.c 2023-01-12 15:44:02 +08:00
Gonglja
be2d109c5b style(codes/c): update comment format 2023-01-12 15:16:57 +08:00