算法
文章平均质量分 70
潘建南
这个作者很懒,什么都没留下…
展开
-
算法的时间复杂度和空间复杂度-总结
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 ...转载 2018-07-03 12:54:26 · 764 阅读 · 0 评论 -
二分查找算法递归实现
/** * Created by panjiannan on 2018/7/3. */public class BinarySearch { public static void main(String[] args) { int[] array = {1,2,3,6,8,9}; System.out.println(binarySearch(arr...原创 2018-07-03 14:05:36 · 687 阅读 · 0 评论 -
工作窃取算法 work-stealing
工作窃取(work-stealing)算法是指某个线程从其他队列里窃取任务来执行。 一个大任务分割为若干个互不依赖的子任务,为了减少线程间的竞争,把这些子任务分别放到不同的队列里,并未每个队列创建一个单独的线程来执行队列里的任务,线程和队列一一对应。比如线程1负责处理1队列里的任务,2线程负责2队列的。但是有的线程会先把自己队列里的任务干完,而其他线程对应的队列里还有任务待处理。干完活的线程与其...原创 2018-07-06 18:08:20 · 18789 阅读 · 1 评论 -
排序算法时间复杂度、空间复杂度、稳定性比较
排序大的分类可以分为两种:内排序和外排序。放在内存的称为内排序,需要使用外存的称为外排序。转载 2018-12-31 14:09:13 · 71304 阅读 · 9 评论