Commit Graph

164 Commits

Author SHA1 Message Date
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