Commit graph

970 commits

Author SHA1 Message Date
Yudong Jin
406eed82a3
Several bug fixes and improvements (#991)
* Several bug fixes.

* Update index.md
2023-12-16 03:15:20 +08:00
krahets
54b1ac8638 A bug fix. 2023-12-14 02:54:19 +08:00
Yudong Jin
ed4de4644f
Revised the book. (#987) 2023-12-14 02:42:53 +08:00
Yudong Jin
2e130d4bbc
Several bug fixes (#984)
* Fix quick_sort.md

* Disable instant loading for mathjax rendering

* Fix the summary.md of chapter_sorting

* Two bug fixes
2023-12-11 00:42:00 +08:00
Yudong Jin
b10091c5f9
Several enhancements and bug fixes (#981)
* Update the installation section.

* Fix storage_pyramid.png

* Update the landing page.

* Update index.md

* Add download buttons to the landing page.

* Update the button style.

* Update .gitignore
2023-12-06 23:26:53 +08:00
Yudong Jin
723af99fb9
Update the assets and GIF animations. (#979) 2023-12-04 03:19:48 +08:00
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
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
krahets
f5407f2aaa Update ram_and_cache.md 2023-11-26 15:28:20 +08:00
krahets
880f233ca9 Update chapter_array_and_linkedlist/summary.md 2023-11-26 02:05:35 +08:00
krahets
020eb622b7 Add the section of ram_and_cache 2023-11-26 01:51:39 +08:00
krahets
770371527e Update quick_sort.md 2023-11-26 01:22:10 +08:00
Neo
9b35f75505
fix: Initialize go empty slice (#947)
* Fix: Initialize go empty slice

* Update list.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-11-20 02:08:29 +08:00
Florance
732750b902
Update time_complexity.md (#955) 2023-11-20 02:05:40 +08:00
易春风
b8591822d8
Fix the type annotation in Rust (#951) 2023-11-18 14:02:00 +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
jiaxianhua
1f71f6f701
Update linked_list.md (#935)
There is no need to declare next
2023-11-11 19:53:55 +08:00
Yudong Jin
f0c81ce048
Update basic_data_types.md and reduce size of assembling_blocks.png (#926)
* Convert a figure to png-8.

* Update basic_data_types.md
2023-11-08 02:19:45 +08:00
Yudong Jin
c6e7ea8112
Update the logo and favicon (#924)
* Update ieration_and_recursion.md

* Update the logo and favicon.
2023-11-06 23:27:09 +08:00
Yudong Jin
c7b863f705
Several bug fixes (#919)
* Fix index.md

* Update the badge in index.md

* Fix the programming languages order.
2023-11-04 04:59:15 +08:00
krahets
88099b96fa Update index.md 2023-11-04 04:17:14 +08:00
krahets
5f3ad1ed3d A few bug fixes. 2023-11-03 22:48:43 +08:00
JackYang-hellobobo
6c16276494
Update terminology.md (#915)
* Update terminology.md

对应链表linked list 为 linked list node ,而不应该是对应下文的列表list node

* Update terminology.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-11-03 17:51:51 +08:00
krahets
7f26e28280 Update preface. 2023-11-03 17:46:38 +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
71b9ded0b9 Remove the unused files. 2023-11-02 01:22:54 +08:00
Yudong Jin
0217624818
Update README (#909) 2023-11-02 01:08:36 +08:00
Yuelin Xin
f7dd05e7a4
Add missing terminologies (#905)
* Update terminology.md

* Update terminology.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-30 14:16:10 +08:00
krahets
33acfc0af7 Fix a typo 2023-10-30 05:30:49 +08:00
Yudong Jin
6133aa63ba
feat: Add the section of terminologies. (#902)
* Add the section of terminologies.

* fix format
2023-10-30 05:14:21 +08:00
krahets
5385057993 Replace "结点" with "节点". 2023-10-27 23:24:13 +08:00
Yudong Jin
ba74d4bba7
Reduce the image files size for faster loading. (#897) 2023-10-27 20:13:08 +08:00
krahets
5b1a219b8b Fine-tune code and texts. 2023-10-27 01:01:21 +08:00
syd168
356db47cd4
Update array.md (#890)
* Update array.md

* Update array.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-26 22:22:19 +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
krahets
f80b25bd17 Replace Java with Python in pivot division figures 2023-10-24 22:33:38 +08:00
krahets
17252b53a9 Format code and docs. 2023-10-24 16:19:29 +08:00
Logan Qiu
d639d946f0
fix: Removed unnecessary JS & TS codes in linked_list.md (#852)
* fix: Removed unnecessary JS & TS codes in linked_list.md

* Update linked_list.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-24 15:34:55 +08:00
krahets
b7c110e5ec Add build check with py_compile 2023-10-23 06:02:34 +08:00
Sizhuo Long
9562287a21
Update Q&A of data_structure, array_and_linkedlist (#861)
* "Add Q&A sections to array/linked_list and tree chapters"

Added question and answers related to the use of std::list in C++ and space complexity in full binary tree traversal to their respective chapters in array_and_linked_list and tree documentation.

* Update summary.md

* Update summary.md

* Update summary.md

* "Expand details on HashTable, arrays, and linked lists in docs"

Extended the section explaining how HashTables use both linear and nonlinear data structures. Added Q&A sections addressing common questions on character type size, the static and dynamic nature of array-based data structures, and distinguishing array and linked list from logic and physical perspective. These changes provide clearer understanding for readers.

* "Add FAQs to array and linked list docs chapter"

Added several Frequently Asked Questions to improve clarity in the arrays and linked list documentation chapter. These questions mainly address the behavior and structure of array initializations, circular array queues, and single-link list node deletion. Providing answers to these can enhance understanding and prevent misconceptions among readers.

* Update summary.md

* Update summary.md

* Update summary.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-23 04:54:25 +08:00
noobcodemaker
fa9607b749
Update permutations_problem.md (#864)
* Update permutations_problem.md

* Update permutations_problem.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-23 04:19:29 +08:00
krahets
fc70b1eb2c Fix the docs of binary_search_tree and
graph_operations.
2023-10-23 03:09:41 +08:00
krahets
433997c38d Fix several figures. 2023-10-19 16:22:10 +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
lucaswangdev
070d23ee6e
fix: hash_collision.md squared detection description (#867) 2023-10-17 10:49:06 -05:00
krahets
5392afd44b fix several bugs 2023-10-17 23:45:31 +08:00
Yudong Jin
faa44fecd2
Squash the language code blocks and fix list.md (#865) 2023-10-16 12:06:00 -05:00
krahets
346c8451de Fix code naming style. 2023-10-15 21:18:09 +08:00
krahets
ada37fd1f8 Fix Python code. 2023-10-14 22:15:02 +08:00
Yudong Jin
3df5c36370
refactor: Improve the hash_map_chaining.c implementation. (#858)
* Improve the hash_map_chaining.c implementation.

* Update hash_map_chaining.c
2023-10-13 02:04:45 -05:00
krahets
84e2799f1b Fix hash_map_chaining.c and
hash_map_open_addressing.c
2023-10-13 14:32:49 +08:00
krahets
da5ef293d9 fix a typo 2023-10-11 17:39:56 +08:00
krahets
227bd66223 Update Dockerfile and mkdocs.yml
Fix a variable name in list.md
2023-10-10 13:16:09 +08:00
krahets
c37b7c807b Several bug fixes 2023-10-09 18:21:18 +08:00
krahets
fb552987f5 Update variable names in list and my_list 2023-10-09 18:20:42 +08:00
gledfish
e5f8c93f5d
fix a Python variable name in list.md
Python 代码中的列表命名为list时,会出现如下错误。
 list:list[int] = [1, 2, 3, 4, 5]
TypeError: list indices must be integers or slices, not type
建议修改为list2
2023-10-09 01:47:25 -05:00
krahets
c098bcdde4 Several bug fixes. 2023-10-09 01:06:26 +08:00
coderlef
b85deae275
Update time_complexity.md (#844)
错别字
2023-10-08 07:39:41 -05:00
hpstory
e03022d5fb
fix: Polishing code format on linearLogRecur, convert String type to string (#841) 2023-10-08 07:33:30 -05:00
krahets
b39c2a94d3 Move docs/zh back to docs.
Move docs/overrides to overrides/.
Other fine tunes.
2023-10-08 04:25:06 +08:00
hpstory
f62256bee1
fix(csharp): Modify method name to PascalCase, simplify new expression (#840)
* Modify method name to PascalCase(array and linked list)

* Modify method name to PascalCase(backtracking)

* Modify method name to PascalCase(computational complexity)

* Modify method name to PascalCase(divide and conquer)

* Modify method name to PascalCase(dynamic programming)

* Modify method name to PascalCase(graph)

* Modify method name to PascalCase(greedy)

* Modify method name to PascalCase(hashing)

* Modify method name to PascalCase(heap)

* Modify method name to PascalCase(searching)

* Modify method name to PascalCase(sorting)

* Modify method name to PascalCase(stack and queue)

* Modify method name to PascalCase(tree)

* local check
2023-10-07 12:33:46 -05:00
krahets
6f7e768cb7 Move docs/* to docs/zh/* 2023-10-08 01:33:09 +08:00
krahets
400b3914f6 Move docs/zh back to docs. 2023-10-08 01:22:57 +08:00
krahets
f1ef7e9d10 Move documents to a sub-directory
to support multi-language selector.
2023-10-06 00:57:28 +08:00
krahets
04e2a46bcd fine tune 2023-10-05 14:34:42 +08:00
Nepenthe
bcb5bf641a
Update hash_algorithm.md (#836)
* Update hash_algorithm.md

- Add the hiding property required for the hash algorithm in security domain.

* Update hash_algorithm.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-03 13:32:49 -05:00
krahets
4355f8d49f Several bug fixes. 2023-10-04 02:30:31 +08:00
lucas
0e3d2ce4bb
feat: Add rust code in binary_tree.md (#759)
* feat: Add binary_tree.md

* Update binary_tree.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-02 11:43:24 -05:00
Nepenthe
d86cb0ee5d
Update array.md & hash_map.md (#827)
* Update array.md

- Update array.md
- Add comments to maintain consistency with implementations in other languages.

* Update hash_map.md

- Update hash_map.md
- Update the filename to correspond with the filenames in the "codes/go" directory.
2023-10-02 11:13:44 -05:00
Nepenthe
dbf6c1c68d
fix: typo (#826) 2023-10-02 11:10:41 -05:00
krahets
98538b924f Several bugs fixes and improvments; 2023-10-01 19:33:53 +08:00
Wang Jianing
ddb2f9e024
Update suggestions (#812)
* Update suggestions

Here I think using "code warehouse" instead of "code warehouse" can eliminate unnecessary ambiguity.

* Update suggestions.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-10-01 06:30:32 -05:00
易春风
cbe76b58a2
feat: add rust docs (#815)
* feat: add rust docs

* Import std types for built_in_hash doc
2023-10-01 06:25:03 -05:00
Phoenix0415
79ee529b47
Update deque.md (#808)
* Update deque.md

添加了信息:
其名字"deque"是"double-ended queue"的缩写,反映了这种数据结构的主要特点。"

帮助读者更好记住deque的英文名,也能更好联系到其特性

* Update deque.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-28 01:53:16 -05:00
Flamingo
22be495412
fix(cpp). update hash_map (#800)
* fix(cpp). update hash_map

遍历 map 还是 k-v 键值对

* Update hash_map.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-25 22:07:14 -05:00
Turing-1024-Lee
ea7eb514fc
Update graph_traversal.md (#801)
笔误文字重复
2023-09-25 22:05:13 -05:00
krahets
e567d08348 Bug fixes 2023-09-26 10:57:53 +08:00
krahets
ff8e7ceec5 Several bug fixes. 2023-09-24 20:38:21 +08:00
krahets
e3773b7f76 Several bug fixes and improments. 2023-09-24 19:35:32 +08:00
kilikilikid
0f0892b8f5
Update dp_problem_features.md (#772)
* Update dp_problem_features.md

这样的中文描述和转移方程更加一致

* Update dp_problem_features.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-24 03:42:17 -05:00
krahets
af65ab08ef Update .gitignore
Remove prev and next button in footer.html
2023-09-21 20:48:54 +08:00
malone6
16574186ee
feat: add previous and next button in content.html (#763)
* fix: linkedlist_stack.py 中的peek方法需要判空raise Error

栈空的时候不能再 peek() 。另外由于 pop() 复用了 peek() ,栈空时返回的 None 会传递到 pop() 中的 num ,导致后续的继续执行 
 self.peek.next 报错等后续问题

* Update linkedlist_stack.py

* Update linkedlist_queue.py

* Update linkedlist_deque.py

* feat: Move the pagination nav above the comments

* feat: Move the pagination nav above the comments

* Delete docs/overrides/partials/footer.html

* Update content.html

---------

Co-authored-by: Yudong Jin <krahets@163.com>
Co-authored-by: long.ma <long.ma@sumscope.com>
2023-09-21 05:39:29 -05:00
Yudong Jin
a46b482951
Refactor the hash_map_open_addressing implementation with lazy reallocation. (#776) 2023-09-21 04:43:15 -05:00
krahets
8effa58a59 Several bug fixes. 2023-09-20 01:53:44 +08:00
Qingpeng Li
7cbe284fcf
follow PEP585 typing (#767)
Signed-off-by: Qingpeng Li <qingpeng9802@gmail.com>
2023-09-19 14:41:02 +08:00
krahets
9f59c572b5 fine tune 2023-09-17 01:13:15 +08:00
hts0000
b2246e11a7
feat: add Rust code in queue.md and deque.md (#757)
* feat: add Rust code in queue.md

* feat: add Rust code in deque.md

* style: fix comment style
2023-09-17 00:39:57 +08:00
lucas
0a2ad4489a
feat: add Rust code in stack.md (#748)
* Update stack.md

Add rust sample code

* Update stack.md

* Update stack.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-15 02:11:46 +08:00
Kato0130
eba015c0bb
add Rust codes for hash_map (#751) 2023-09-15 02:09:16 +08:00
krahets
cb9c14f5ff fix build_tree, binary_search_tree.cs
fix two figures
2023-09-15 02:08:09 +08:00
krahets
d190dbf3c1 Several enhancements and fixes 2023-09-14 03:36:31 +08:00
Horbin
e8554975f4
Update what_is_dsa.md (#745)
* Update what_is_dsa.md

优化了语句表达

* Update what_is_dsa.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-13 03:25:20 +08:00
Horbin
3e41e2f475
Update suggestions.md (#744)
给Rust添加注释说明
2023-09-13 02:51:23 +08:00
zhouLion
76e953a74c
style: Make the picture not glare in dark theme (#741)
* style: Make the picture not glare in dark theme

* Update extra.css

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-12 03:13:17 +08:00
krahets
5f814d6538 Add comparison between iteration and recursion.
Fix the figure of tail recursion.
Fix two links.
2023-09-12 00:56:59 +08:00
krahets
3530f8c5ce prepare 1.0.0b5 release 2023-09-10 22:43:59 +08:00
gonglja
46d6463883
Remove unnecessary printing (#733)
* 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.

* style: Remove unnecessary print.

---------

Co-authored-by: Yudong Jin <krahets@163.com>
2023-09-09 16:42:04 +08:00