码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
算法基本概念
一 算法复杂度 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。 空间复杂度: 空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度,记做 ...
分类:编程语言   时间:2018-01-31 22:19:30    阅读次数:211
o(1), o(n), o(logn), o(nlogn)算法复杂度
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关 ...
分类:编程语言   时间:2018-01-30 19:45:42    阅读次数:187
LintCode 82. 落单的数
题目:给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 样例 给出 [1,2,2,1,3,4,3],返回 4 给出 [1,2,2,1,3,4,3],返回 4 给出 [1,2,2,1,3,4,3],返回 4 挑战 一次遍历,常数级的额外空间复杂度 解:异或运算A^ ...
分类:其他好文   时间:2018-01-28 00:35:07    阅读次数:173
数据结构与算法小结——排序(三)
2. 选择排序 2.1 简单选择排序 简单选择排序的主要思想是,对第i个元素,将其与后面的n-i个元素作比较,用一个min变量存储这n-i+1个元素中的最小值的位置,比较完后将a[min]和a[i]交换(min != i)。简单选择排序进行了(n^2)/2次比较,n次交换,交换的次数少。 其主要过程 ...
分类:编程语言   时间:2018-01-27 00:33:36    阅读次数:165
算法导论笔记第6章 堆和堆排序
堆排序结合了插入排序和归并排序的有点:它空间复杂度是O(1), 时间复杂度是O(nlgn). 要讲堆排序,先讲数据结构“堆” 堆: 堆是用数组来存放一个完全二叉树的数据结构。假设数组名是A,树的根节点存放在A[1]。它的左孩子存放在A[2],右孩子存放在A[3] 即:对于某个下标位i的节点,它的左孩 ...
分类:编程语言   时间:2018-01-23 22:09:21    阅读次数:219
排序算法及时间空间复杂度
非线性时间比较类排序 一、交换类排序:冒泡排序和快速排序 冒泡排序:从数组中第一个数开始,依次与下一个数比较并次交换比自己小的数,直到最后一个数。如果发生交换,则继续下面的步骤,如果未发生交换,则数 组有序,排序结束。 平均时间复杂度:n方 空间复杂度:1 快速排序:快速排序又称分区交换排序,是对冒 ...
分类:编程语言   时间:2018-01-23 14:28:57    阅读次数:204
Dynamic Ranking(主席树,树套树,树状数组)
"洛谷题目传送门" YCB巨佬对此题有详细的讲解。 "%YCB%请点这里" 思路分析 不能套用静态主席树的方法了。因为的$N$个线段树相互纠缠,一旦改了一个点,整个主席树统统都要改一遍。。。。。。 ~~话说我真的快要忘了~~有一种数据结构,能支持单点修改,区间查询,更重要的是,常数优秀的它专门用来高 ...
分类:编程语言   时间:2018-01-21 16:12:48    阅读次数:187
【 python 学习笔记 -- 数据结构与算法 】冒泡排序 Bubble sort
推荐一个可视化的网站 【 Visual Algo 】: URL= 'https://visualgo.net/en/sorting' 这个网站给出了各种排序算法的原理和过程,通过动态形式直观得展现出来。另外还给出了相关的pseudo-code,以及具体执行到code的哪一步。 【冒泡排序】 需要重复 ...
分类:编程语言   时间:2018-01-20 15:09:36    阅读次数:281
LeetCode 148. Sort List
Sort a linked list in O(n log n) time using constant space complexity. 题目要求给定时间复杂度对链表进行排序,但是我个人认为题目要求不是很合理,使用归并排序时间复杂度满足要求,但是空间复杂度并不为常数,所以个人认为这道题不严谨,说 ...
分类:其他好文   时间:2018-01-20 14:05:28    阅读次数:165
时间复杂度和空间复杂度分析(转载)
算法的时间复杂度和空间复杂度-总结 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增 ...
分类:其他好文   时间:2018-01-18 16:58:28    阅读次数:175
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!