English | 简体中文
python版数据结构和算法实现的简约版小示例
谢谢关注。有多种方法可以贡献你的代码。从这里开始吧
或者可以用不同语言来完成上述算法,期待加入:https://github.com/yunshuipiao/sw-algorithms
如下代码可以运行全部测试:
python3 -m unittest discover tests
针对特定模块(比如:sort)的测试, 可以使用如下代码:
python3 -m unittest tests.test_sort
如下代码运行所有测试代码:
pyhton3 -m pytest tests
如果想在代码中使用算法API, 可按如下步骤进行:
pip3 install git+https://github.com/keon/algorithms
通过创建python文件(比如:在sort模块使用merge_sort)进行测试:
from sort import merge_sort
if __name__ == "__main__":
my_list = [1, 8, 3, 5, 6]
my_list = merge_sort.merge_sort(my_list)
print(my_list)
如下代码可卸载该API:
pip3 uninstall -y algorithms
- array:数组
- backtrack:回溯
- general_solution.md:一般方法
- anagram:同字母异序词
- array_sum_combinations:数组和
- combination_sum:和的合并
- expression_add_operators:给表达式添加运算符
- factor_combinations:因素组合
- generate_abbreviations:缩写生成
- generate_parenthesis:括号生成
- letter_combination:字母组合
- palindrome_partitioning:字符串的所有回文子串
- pattern_match:模式匹配
- permute:排列
- permute_unique:唯一排列
- subsets:子集
- subsets_unique:唯一子集
- bfs:广度优先搜索
- bit:位操作
- calculator:计算
- dfs:深度优先搜索
- dp:动态规划
- graph:图
- heap:堆
- linkedlist:链表
- map:映射
- math:数学问题
- matrix:矩阵
- queue:队列
- search:查找
- set:集合
- sort:排序
- stack:栈
- string:字符串
- add_binary:二进制数相加
- breaking_bad:打破坏
- decode_string:字符串编码
- encode_decode:编解码
- group_anagrams:群组错位词
- int_to_roman:整数转换罗马数字
- is_palindrome:回文字符串
- license_number:拍照号码
- make_sentence:造句
- multiply_strings:字符串相乘
- one_edit_distance:一个编辑距离
- rabin_karp:Rabin-Karp 算法
- reverse_string:反转字符串
- reverse_vowel:反转元音
- reverse_words:反转单词
- roman_to_int:罗马数转换整数
- word_squares:单词平方
- tree:树
- segment-tree:线段树
- binary_tree_paths:二叉树路径
- bintree2list:二叉树转换链表
- bst:二叉搜索树
- deepest_left:最深叶子节点
- invert_tree:反转树
- is_balanced:判断平衡树
- is_subtree:判断子树
- is_symmetric:判断对称树
- longest_consecutive:最长连续节点
- lowest_common_ancestor:最近公共祖先
- max_height:最大高度
- max_path_sum:最长路径和
- min_height:最小高度
- path_sum2:路径和2
- path_sum:路径和
- pretty_print:完美打印
- same_tree:相同树
- traversal:遍历
- tree:树
- trie:字典树
- union-find:并查集
谢谢主要维护人员:
以及所有贡献者