Commit graph

221 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
Gonglja
5271276f4e feat(codes/c): add linked_list.c 2023-01-12 11:02:39 +08:00
Yudong Jin
40b5be5302 Unify the naming of the C codes. 2023-01-12 00:31:11 +08:00
Yudong Jin
6a46e38e1b
Merge pull request #228 from sjinzh/master
add zig codes for Section 'Space Complexity' and 'Space Time Tradeoff'
2023-01-11 14:32:59 +08:00
reanon
8723ca1469 feat(tree): add C codes 2023-01-11 01:56:08 +08:00
reanon
24cdcd54df feat(codes/c): add C include/ codes and modify exist C codes 2023-01-11 00:55:21 +08:00
sjinzh
a667e71b20 fix bug 2023-01-10 19:29:57 +08:00
Yudong Jin
73e3452838 Add Swift language blocks to the docs. 2023-01-08 19:41:05 +08:00
Yudong Jin
0e49f0053a Update the format of the file headers
of c, cpp, java, js, ts, swift.
2023-01-06 03:39:19 +08:00
Yudong Jin
fdb102eb16
Merge pull request #208 from sjinzh/master
(PR #204) update c code and doc for time_complexity
2023-01-06 03:34:42 +08:00
Yudong Jin
75217d5e8b Update bubble sort (C) and insertion sort (C). 2023-01-06 03:31:58 +08:00
sjinzh
ea867eadac (PR #204) update c code and doc for time_complexity 2023-01-05 08:39:09 +08:00
Yudong Jin
2899f453fb
Merge branch 'master' into master 2023-01-05 01:11:34 +08:00
MolDuM
e0a3189f91
Update array.c
3 changes:
1. In the enlarge part, I didn't change because I didn't find a good way to deal with the local variable and the clear definition. malloc is commonly used in LeetCode so I think it is not bad for a beginner.
2. I changed the initialization of the second array to make it in the same style as C++.
3. In the enlarge part in main, I deleted the code of pointer free to match the array operations. I also changed the operate array in the later part because the enlarged array cannot be assigned to the older array name.

BTW, sorry for updating so late. Reading different version documents and book are really tiring and boring.
2023-01-04 14:56:16 +08:00
sjinzh
9e4a5fd6d8 update c code for chapter_computational_complexity, add c code to time_complexity.md 2023-01-04 08:09:22 +08:00
sjinzh
1b356ba0a2 add c code for chapter_computational_complexity 2023-01-03 21:19:11 +08:00
L-Super
23bbaf12b9
Merge branch 'krahets:master' into patch-1 2022-12-30 09:30:51 +08:00
Listening
0dda12e0ab add insertion sort content 2022-12-30 09:26:26 +08:00
Yudong Jin
34ad07bfed Fine tune 2022-12-27 20:11:22 +08:00
Listening
edf1029ac4 fixed the format of the file header 2022-12-26 13:34:50 +08:00
Listening
2ee6fcfef1 add bubble sort in C code 2022-12-26 12:43:37 +08:00
Meng Du
0a72d37578 create c folder and finished array 2022-12-21 18:57:28 +08:00