码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
常用的算法的时间复杂度和空间复杂度
分类:编程语言   时间:2014-11-17 10:23:47    阅读次数:137
算法---快速排序(quick sort)
在前面介绍的排序算法中,最快的排序算法为归并排序,但是归并排序有一个缺陷就是排序过程中需要O(N)的额外空间。本文介绍的快速排序算法时一种原地排序算法,所需的额外空间复杂度为O(1)。 算法介绍:快速排序其实一种根据需找某个元素的具体位置进行排序的方法。比如所存在如下数组   选择第一个元素5,找到5最终的位置,即5的左边的数都小于或者等于5,右边的数都大于或者等于5. 从"6"开...
分类:编程语言   时间:2014-11-16 23:09:45    阅读次数:370
kNN算法python实现和简单数字识别
kNN算法算法优缺点:优点:精度高、对异常值不敏感、无输入数据假定缺点:时间复杂度和空间复杂度都很高适用数据范围:数值型和标称型算法的思路:KNN算法(全称K最近邻算法),算法的思想很简单,简单的说就是物以类聚,也就是说我们从一堆已知的训练集中找出k个与目标最靠近的,然后看他们中最多的分类是哪个,就...
分类:编程语言   时间:2014-11-14 21:00:57    阅读次数:321
poj To the Max (动态规划)
题目意思: 给出一个矩阵。求出和最大的子矩阵,在解决这个问题的之前,首先看一下这个问题的一维问题,给出一个序列求最大子序列。满足ij的和。 题目分析: 对于一维问题,有很多的解决方法,当然也对应不同的时间和空间复杂度。有暴力,优化暴力,贪心,动态规划等解法,由于这里此题的二维问题要用到动态规划,这里只给出动态规划算法。对于二维问题只需要转化为一维的问题,在用动态规划方法解决问题。 一维动归...
分类:其他好文   时间:2014-11-09 12:39:35    阅读次数:153
一道看上去很吓人的算法题 【微软面试去100题 第四十九题】
题目要求: 如何对n个数进行排序,要求时间复杂度O(N).空间复杂度为O(1).题目分析: 严格的说,这道题给出的条件不全。如果这n个数字的大小跨度很大(1~无穷大),则肯定达不到要求。 如果n个数字的大小在一定范围内(如0~65535),则可以用hash表的方法。定义为int hash[65...
分类:编程语言   时间:2014-11-08 23:33:03    阅读次数:215
算法就是这么一回事(排序)(第二部分)
上次说到冒泡排序一共可以产生4种方式来产生,因为两个for循环皆可从小到大,也可从大到小分类 排序算法数据结构 vector、数组最差时间复杂度 O(n^2)最优时间复杂度 O(n)平均时间复杂度 O(n^2)最差空间复杂度 总共O(n),需要辅助空间O(1)//用于交换所需临时变量冒...
分类:编程语言   时间:2014-11-08 22:03:31    阅读次数:278
《github一天一道算法题》:分治法求数组最大连续子序列和
看书、思考、写代码! /*************************************** * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 题目:分治法求数组最大连续子序列和 * 思路:分解成子问题+合并答案 * 时间复杂度:O(n lgn) * 空间复杂度:O(1) ********...
分类:编程语言   时间:2014-11-05 23:17:53    阅读次数:209
[LeetCode] Add Binary
Given two binary strings, return their sum (also a binary string).For example,a ="11"b ="1"Return"100"思路:时间复杂度O(n), 空间复杂度O(1) 1 class Solution { 2 pub...
分类:其他好文   时间:2014-11-04 22:35:25    阅读次数:246
剑指Offer——面试题40:数组中只出现一次的数字
题目:一个整形数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。思路:题目要求非常严格,O(n)的时间复杂度,O(1)的空间复杂度。难度不小。参照书上给出的思路,实现了一遍,主要也是弥补位运算方面经验的欠缺。下面是我的...
分类:编程语言   时间:2014-11-04 14:39:02    阅读次数:172
双数组Trie树(DoubleArrayTrie)Java实现
http://www.hankcs.com/program/java/%E5%8F%8C%E6%95%B0%E7%BB%84trie%E6%A0%91doublearraytriejava%E5%AE%9E%E7%8E%B0.html双数组Trie树(DoubleArrayTrie)是一种空间复杂度...
分类:编程语言   时间:2014-11-04 11:00:29    阅读次数:308
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!