码迷,mamicode.com
首页 >  
搜索关键字:时间复杂度    ( 8884个结果
堆排序
堆排序算法的时间复杂度为O(nlgn).在堆排序算法中,我们使用的是最大堆。(1)初始时候,堆排序算法利用BUILD-MAX-HEAP将输入数组A[1..n]建成最大堆。此时堆的根结点是最大元素,且该元素位于数组A[1]。接着将A[1]与A[n]互换,则可以将A[1..n]中的最大值置于A[n]。(...
分类:其他好文   时间:2014-07-22 23:16:35    阅读次数:404
算法复杂度
序 算法的复杂性体现在运行该算法时所需的计算机资源多少,而计算机资源最重要的是时间和空间。算法复杂度分为时间复杂度和空间复杂度。 一个高级语言编写的程序在计算机上运行所消耗的时间取决于下列因素: 1、算法采用的策略、方案 2、编译产生的代码质量 3、问题的输入规模 4、机器执行指令的速度 抛开与计算...
分类:其他好文   时间:2014-05-01 13:54:35    阅读次数:377
包含min函数的栈
定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min , push , pop 的时间复杂度都是O(1)。
分类:其他好文   时间:2014-05-01 12:33:27    阅读次数:320
时间复杂度和空间复杂度的概念
算法复杂度 分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。 时间复杂度1.时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能 知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的....
分类:其他好文   时间:2014-05-01 12:15:55    阅读次数:335
LeetCode OJ - Binary Tree Maximum Path
这道题需要注意的地方有以下一些:1. 求从子树中的某节点到当前节点的最大路径不能采用递归方法,因为这个部分会被反复的调用,如果用递归,会使得之前已经计算过的节点被重复计算,使得时间复杂度特别高;2. 树中有节点的值是负数的。下面是AC代码。(我发现AC并不代表代码真的完全正确!!) 1 /** 2 ...
分类:其他好文   时间:2014-05-01 12:10:52    阅读次数:274
LeetCode - Best Time to Buy and Sell
这道题要求的一个min和一个max,只是这个min所在的位置要在max所在位置的左边。有一种做法是采用蛮力算法,也就是通过从左往右遍历,把每一个元素都当做min,然后再在这个元素的右边找一个最大值,这样得到一个profit,最后求得所有情况中profit的最大值即刻。但是这种做法的时间复杂度是O(n...
分类:其他好文   时间:2014-05-01 10:17:20    阅读次数:287
七大排序算法(冒泡,选择,插入,希尔,快速,合并,堆排序)的java实现
冒泡排序 思路:就是每次将最大或最小的元素放到数组的最后,so easy!时间复杂度为(O(n^2)) public class BubbleSort { public static void bubbleSort(int[] a) { for (int j = 1; j < a.length; j++) { for (int i = 0; i < a.length - j; i+...
分类:编程语言   时间:2014-04-30 22:12:40    阅读次数:309
分布式消息系统Jafka入门指南
分布式消息系统Jafka入门指南作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、JafkaMQ简介JafkaMQ是一个分布式的发布/订阅消息系统,它是Apache Kafka的Java移植版。2013年11月28日,JafkaMQ发布了1.2.3版。JafkaMQ的特征如下:1)消息持久化到磁盘的算法时间复杂度为O(1),即使是TB级的消息存储,也能...
分类:其他好文   时间:2014-04-29 13:32:22    阅读次数:278
POJ 2533 Longest Ordered Subsequence 最长上升子序列
最长上升子序列: 有两种基本方法:两个时间复杂度分别为O(n^2)和O(nlogn)。 O(n^2) 容易的出动态规划的递推公式dp[i]=max(dp[j])+1 j=1,2...i-1,dp[i]是以元素i结尾的最长子序列个数。 在O(n^2)的最长上升子序列中可以通过记录每个元素前缀元素位置的方式来得到整个的最长上升子序列。 代码:int LISOn2(int a[],int to...
分类:其他好文   时间:2014-04-29 13:24:22    阅读次数:314
数据结构--队列
队列只允许一端进行插入操作,另一端进行删除操作。队列是一种先进先出的线性表,简称FIFO,允许插入的一段为队尾,允许删除的一端为队头。 顺序队列 与栈不同的是,队列的出队元素在队头,那么队列没出去一个元素,后面的元素就要依次像前移动,这样他的时间复杂度就是O(n)。 考虑上面截图的流程感觉效率很低,起始我们的队列可以以另一种方式来处理,就是元素不懂,而队头的指...
分类:其他好文   时间:2014-04-29 13:14:20    阅读次数:284
8884条   上一页 1 ... 885 886 887 888 889 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!