算法
mbinary
博客 https://mbinary.xyz
展开
-
inc,dec,getMin,getMax均为O(1)——一个有趣的数据结构
做leetcode题时遇到这样一道题,挺有趣的数据结构,所以记下来:)1. All O`one Data Structure –leetcode 432Implement a data structure supporting the following operations:Inc(Key) - Inserts a new key with value 1. Or increm原创 2018-01-24 12:25:40 · 627 阅读 · 0 评论 -
String Matching algorithm
See more on githubRabin-KarpWe can view a string of k characters (digits) as a length-k decimal number. E.g., the string “31425” corresponds to the decimal number 31,425.Given a pattern P [1…m],...原创 2018-12-11 15:24:09 · 577 阅读 · 0 评论 -
图算法
1. 图1.1. 概念顶顶点的度 d 边相邻重边环完全图: 所有顶都相邻二分图: V(G)=X∪Y,X∩Y=∅V(G)=X∪Y,X∩Y=∅V(G) = X \cup Y, X\cap Y = \varnothing, X 中, Y 中任两顶不相邻轨道圈1.1.1. 性质∑v∈Vd(v)=2|E|∑v∈Vd(v)=2|E|\sum_{v\in ...原创 2018-09-06 15:14:53 · 1581 阅读 · 2 评论 -
整数划分 -- 思考问题背后的数学原理
今天在 leetcode 做动态规划的题, 做到一道整数划分的题目如下 Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you c...原创 2018-08-29 15:49:13 · 341 阅读 · 0 评论 -
『算法』摊还分析
聚合分析 (aggregate analysis)一个 n 个操作的序列最坏情况下花费的总时间为 T(n)T(n)T(n), 则在最坏情况下, 每个操作的摊还代价为 T(n)nT(n)n\frac{T(n)}{n}如栈中的 push, pop 操作都是 O(1)O(1)O(1), 增加一个新操作 multipop, def multipop(stk,k): while not ...原创 2018-08-29 15:47:02 · 380 阅读 · 0 评论 -
『数据结构』红黑树(red-black tree)
1. 定义与性质红黑树是一种平衡的二叉查找树1.1. 数据域每个结点有 5 个数据域 * color: red or black * key: keyword * left: pointer to left child * right:pointer to right child * p: pointer to nil leaf1.2. 红黑性质满足下面的 ...原创 2018-07-14 17:58:24 · 470 阅读 · 0 评论 -
『算法』排序
1. 希尔排序 (shellSort)2. 堆排序 (heapSort) 2.1. 建堆2.2. 访问最元2.3. 取出最元2.4. 堆排序3. 快速排序 (quickSort) 3.1. partition 的实现3.2. 选择枢纽元3.3. 快速排序的性能 3.3.1. 最坏情况3.3.2. 最佳情况3.3.3. 平衡的划分3.4. 期望运行时间3.5. 堆栈深度...原创 2018-07-13 18:30:39 · 266 阅读 · 0 评论 -
『算法』general
算法定义良好的计算过程, 取输入, 并产生输出. 即算法是一系列的计算步骤, 将输入数据转化为输出结果可以解决哪些类型的问题大数据的存储, 以及开发出进行这方面数据分析的工具网络数据的传输, 寻路, 搜索电子商务密码, (数值算法, 数论) 资源分配, 最大效益…算法分析衡量算法的优劣 оОθΩ ** 最坏情况, 平均情况增长的量级О(1) ,О...原创 2018-07-05 22:59:19 · 372 阅读 · 0 评论 -
『数据结构』树
1. 概念2. 二叉查找树 2.1. 随机构造的二叉查找树2.2. 平均结点深度2.3. 不同的二叉树数目 (Catalan num)2.4. 好括号列3. 基数树 (radixTree)4. 字典树 (trie) 4.1. AC 自动机5. 平衡二叉树 5.1. AVL Tree5.2. splayTree 5.2.1. Zig-step5.2.2. Zig-zi...原创 2018-07-11 20:17:29 · 340 阅读 · 0 评论 -
『数据结构』散列表
1. 关键字2. 映射 2.1. 散列函数 (hash) 2.1.1. 简单一致散列2.1.2. 碰撞 (collision)2.1.3. str2int 的方法2.2. 直接寻址法2.3. 链接法 2.3.1. 全域散列 (universal hashing) 2.3.1.1. 定义2.3.1.2. 性质2.3.1.3. 实现2.4. 开放寻址法 2.4.1. 不...原创 2018-07-08 23:49:41 · 399 阅读 · 0 评论 -
傅里叶变换--快速傅里叶变换实现
0.1. 定义0.1.1. 连续0.1.2. 离散0.2. 性质0.2.1. 分离性0.2.2. 位移定理0.2.3. 周期性0.2.4. 共轭对称性0.2.5. 旋转性0.2.6. 加法定理0.2.7. 平均值0.2.8. 相似性定理0.2.9. 卷积定理0.2.10. 相关定理0.2.11. Rayleigh 定理0.3. 快速傅里叶变换0.3...原创 2019-06-11 16:23:42 · 2096 阅读 · 0 评论