All Projects → ssjssh → Algorithm

ssjssh / Algorithm

Licence: gpl-2.0
我用Python写的一些算法

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Algorithm

.net Big O Algorithm Complexity Cheat Sheet
Big-O complexities of common algorithms used in .NET and Computer Science.
Stars: ✭ 215 (-14%)
Mutual labels:  algorithm
C Algorithms
A library of common data structures and algorithms written in C.
Stars: ✭ 2,654 (+961.6%)
Mutual labels:  algorithm
Rethink C
A reuseable codebase for C Programming Language.
Stars: ✭ 241 (-3.6%)
Mutual labels:  algorithm
Develop Source
Open source for developer.(开发资源整理:Java,Android,算法,iOS,MacOS等等)
Stars: ✭ 219 (-12.4%)
Mutual labels:  algorithm
Way To Algorithm
Algorithm Tutorial and Source Code
Stars: ✭ 221 (-11.6%)
Mutual labels:  algorithm
Algorithms Sedgewick Python
Algorithms(4th edition) by Robert Sedgewick and Kevin Wayne exercises in python
Stars: ✭ 224 (-10.4%)
Mutual labels:  algorithm
Play With Data Structures
慕课 liuyubobobo「玩转数据结构」课程的 Go 语言实现版本
Stars: ✭ 217 (-13.2%)
Mutual labels:  algorithm
Delaunator Cpp
A really fast C++ library for Delaunay triangulation of 2D points
Stars: ✭ 244 (-2.4%)
Mutual labels:  algorithm
Ngraph.path
Path finding in a graph
Stars: ✭ 2,545 (+918%)
Mutual labels:  algorithm
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (-4.8%)
Mutual labels:  algorithm
Hackerrank
Solution to HackerRank problems
Stars: ✭ 218 (-12.8%)
Mutual labels:  algorithm
Javascript Total
Сборник практических вопросов, задач разного уровня сложности, сниппетов (утилит), паттерны проектирования, а также полезные ссылки по JavaScript
Stars: ✭ 214 (-14.4%)
Mutual labels:  algorithm
Fastrange
A fast alternative to the modulo reduction
Stars: ✭ 230 (-8%)
Mutual labels:  algorithm
Ekalgorithms
EKAlgorithms contains some well known CS algorithms & data structures.
Stars: ✭ 2,421 (+868.4%)
Mutual labels:  algorithm
Skeleton Tracing
A new algorithm for retrieving topological skeleton as a set of polylines from binary images
Stars: ✭ 241 (-3.6%)
Mutual labels:  algorithm
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (-13.2%)
Mutual labels:  algorithm
Harmony
Fast, sensitive and accurate integration of single-cell data with Harmony
Stars: ✭ 223 (-10.8%)
Mutual labels:  algorithm
Awesome Algorithm Books
📚 awesome algorithm books I've collected 【不定期更新】 搜集整理的算法书籍(经典算法、ML/DL算法、面试算法、比赛算法等)
Stars: ✭ 245 (-2%)
Mutual labels:  algorithm
Rust Algorithms
Common data structures and algorithms in Rust
Stars: ✭ 2,918 (+1067.2%)
Mutual labels:  algorithm
Ringbuf
Lock-free ring buffer (MPSC)
Stars: ✭ 227 (-9.2%)
Mutual labels:  algorithm

algorithm

在阅读算法导论的时候。我用Python写的一些算法,这些算法大部分使用list来作为底层存储数据的结构。

#算法 ##排序算法:sort文件夹下面

  1. 冒泡排序
  2. 插入排序
  3. 归并排序
  4. 快速排序
  5. 随机快速排序
  6. 选择排序
  7. 堆排序
  8. 计数排序

##查找算法

  1. 二分查找算法
  2. 第k小数选择算法
  3. 随机第k小数选择算法
  4. 计算集合中两个元素的和和一个数相等

##动态规划

  1. 使用分治法的最大子数组(应该算成分治法)
  2. 使用自底向上方法实现的最大子数组
  3. 使用动态规划的两种方式实现的LCS(最大公共串)(下面的算法都会使用动态规划的两种方式来实现)
  4. 加权有向无环图中最短路径和最长路径
  5. 背包问题
  6. 最长回文子串(lps)

###幂乘:算法复杂度是O(lgn) ##贪心算法

  1. 活动选择问题
  2. 带权活动选择问题(其实就是一个调度问题)
  3. 分数背包问题

###斐波那契树

  1. 使用循环实现的算法o(n)

##数论算法

  1. 欧几里得算法求解最大公约数

##字符串匹配算法

  1. 朴素算法
  2. Rabin-Karp算法
  3. KMP算法

#数据结构

##树

  1. 二叉树
  2. 使用左孩子右兄弟实现的多叉树
  3. 二叉搜索树
  4. 红黑树
  5. 动态顺序统计树
  6. 区间树
  7. AVL树(未实现,类似于红黑树)
  8. Tries(用于处理字符串)
  9. B树(B树的中序遍历是由我自己实现的,没有任何资料来源)

##列表类

  1. 双向链表
  2. 使用三个数组实现的链表
  3. 跳跃表 (性能类似于红黑树,但是编程更加简单)

##堆类和队列

  1. 最大堆
  2. 最大优先队列
  3. 使用列表实现的队列
  4. 使用最大堆实现的FIFO队列

##哈希表

  1. 使用链表解决冲突的哈希表
  2. 使用二次哈希解决冲突的哈希表

##矩阵

  1. 实现strassen矩阵乘法的矩阵

##图

  1. 深度遍历,广度遍历和拓扑排序
  2. 带权有向无环图的最大路径(动态规划自下而上)

##类库:为了保证被其他算法使用的数据结构一定是没有bug的,我用Python的内置类型实现实现了一些常用的数据结构(lib)

  1. Stack
  2. Queue
  3. Set

未来计划

  • 在学习redis源码的过程中修改各个数据结构的实现,目的是使用更加精细的规则去提高数据结构的性能
  • 添加更多注释并且格式化代码,注释中注重于设计的思考
  • 添加算法导论中其他高级的数据结构
  • 计划完成一些在线的题库,比如leecode和projecteuler
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].