算法
akihiro_the_coder
这个作者很懒,什么都没留下…
展开
-
算法分析, 时间复杂度,和BIG O,OMEGA, THETA NOTATION
实验方法用Java的StopWatch数据类型,记录从创建对象到算法完成所需的时间程序在不同的计算机上运行时间之比通常是一个常数。我们可以用幂次法则,绘制标准图像和对数图像。标准图像X轴为问题规模(N),y轴为运行时间T(N)。而对数图像中,x轴就是lg(N),y轴是lg(T(N))。对数图像会是一条直线,等价于我们对数据符合公式T(N)=aN^b的猜想。数学模型:一个程序运行的总时间主要...原创 2020-03-15 03:35:21 · 2947 阅读 · 0 评论 -
联合-查找算法(Union-find),基本原理,代码思路,Java实现,以及LeetCode习题
什么是Union-Find解决这类问题:我和小红是校友,小红和小明是校友,我和小明是校友吗?基本原理参考离散数学中的等价关系:自反性,对称性,传递性。自反性:我和我自己是校友对称性:我和小红是校友,小红和我也是校友传递性:我和小红是校友,小红和小明是校友,我和小明也是校友。(问题解决了)代码思路假如我们要在一个由N个对象组成的集合中来找相互关系,我们可以创建一个长度为N的数组。一...原创 2020-03-14 06:51:29 · 655 阅读 · 0 评论 -
Trie:字典树(AKA单词查找树)的定义,性质,Java实现和算法分析
Ref:算法第四版Definition定义:Trie: a tree of characters, and we make it out of a dictionary.字典树就是一颗由字符组成的树,我们可以将它理解为一个字典,字典树也允许我们用被查找的String中的一个char来开始进行查找。这个数据结构的作用就是取出数据,基本功能包括二叉树的那些,譬如查找,插入。Side notes...原创 2020-03-11 15:00:45 · 296 阅读 · 0 评论 -
【刷题第一周】StrStr和二分查找习题汇总
StrStr Basics 1. StrStr实现 2. Subsets I, II 3. Permutations I, II 4. Combination Sum递归模板Binary Search 1. Search in rotated sorted array 2. Find peak element 3. Peak Index in a Mountain Arra...原创 2020-02-19 03:39:45 · 129 阅读 · 0 评论