码迷,mamicode.com
首页 >  
搜索关键字:线性时间    ( 426个结果
【每日算法】计数&基数&桶&位图排序-简介
在前面的文章中,我们介绍的都是基于比较的排序。对于比较排序,对含n个元素的序列进行排序,在最坏情况下都要用O(n logn)次比较(归并排序和堆排序是渐近最优的)。本文将继续介绍以线性时间运行的排序算法,他们使用的是非比较排序,因此下界O(n logn)对它们不适用。计数排序想象下面这种情况:一个班有k个人,需要排成一条纵队,地面上已经用粉笔按从小到大的顺序标明了1到k个号码,要求按身高从低到高排列...
分类:编程语言   时间:2016-02-20 13:24:39    阅读次数:193
LeetCode 137 Single Number II(只出现一次的数字 II)(*)
翻译给定一个整型数组,除了某个元素外其余的均出现了三次。找出这个元素。备注: 你的算法应该是线性时间复杂度。你可以不用额外的空间来实现它吗?原文Given an array of integers, every element appears three times except for one. Find that single one.Note: Your algorithm should ha...
分类:其他好文   时间:2016-02-19 10:44:28    阅读次数:261
LeetCode 136 Single Number(只出现一次的数字)
翻译给定一个整型数组,除了某个元素外其余元素均出现两次。找出这个只出现一次的元素。备注: 你的算法应该是一个线性时间复杂度。你可以不用额外空间来实现它吗?原文Given an array of integers, every element appears twice except for one. Find that single one.Note: Your algorithm should h...
分类:其他好文   时间:2016-02-18 19:55:00    阅读次数:166
算法导论 第八章 线性时间排序(python)
比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比较排序)计数排序O(k+n)基数排序O() 第一节:用决策树分析比较排序的下界 决策树:倒数第二层满...
分类:编程语言   时间:2016-02-05 18:30:58    阅读次数:229
kmp
kmp是一种在线性时间内能处理两个字符串的包含关系的算法,例如求一个字符串里有没有另一个字符串,一个字符串里有几个另一个字符串(可重叠和不可重叠两种)。 贴个讲kmp的链接http://blog.csdn.net/yutianzuijin/article/details/11954939 模板 #i
分类:其他好文   时间:2016-02-02 08:38:26    阅读次数:119
算法分析与设计复习
算法分析与设计复习2016年初,研一上学期期末考试前,复习并总结算法分析与设计科目的内容。复习过程参照《算法导论》中文第2版,同时参照PPT,章节划分根据PPT内容概要:第一章 概述第二章 插入排序&分治策略第三章 复杂度分析第四章 堆与堆排序第五章 快速排序第六章 线性时间排序第一章 概述算法的应...
分类:编程语言   时间:2016-01-09 23:05:22    阅读次数:647
分治法求连续子数组的最大和
思路来自算法导论,将数组平分为左右两个子数组,那么最大子数组可能在左边的子数组中,也有可能在右边的子数组中,还有可能跨过中间的元素,只有这三种情况。对于前两种情况,可以使用递归求解,对于第三种情况,可以做到用线性时间复杂度的函数来求解,详见代码。#include #include using nam...
分类:编程语言   时间:2015-12-27 17:53:44    阅读次数:191
读书日记- 线性时间排序算法
在最坏情况下,任何比较排序算法都需要做O(nlgn)次比较。然而,在指定的条件下,线性时间的排序算法可以使得排序在O(n)时间内完成。计数排序 假设n个输入元素中的每一个都是0到k区间内的一个整数,其中k为某个整数。k=O(n)时,排序运行时间为O(n)。主要思想: 创建长度为k的数组C,将对应.....
分类:编程语言   时间:2015-12-15 01:01:37    阅读次数:193
算法—二叉堆
实现栈或是队列与实现优先队列的最大不同在于对性能的要求。对于栈和队列,我们的实现能够在常数时间内完成所有操作;而对于优先队列,插入元素和删除最大元素这两个操作之一在最坏情况下需要线性时间来完成。我们接下来要讨论的基于数据结构堆的实现能够保证这两种操作都能更快地执行。1.堆的定义数据结构二叉堆能够很好...
分类:编程语言   时间:2015-11-22 21:57:02    阅读次数:324
最大子序列和问题
给定整数数组,数组中有正数和负数,求数组的子序列的和的最大值。例如数组-2,11,-4,13,-5,-2的最大子序列和是20(即子序列11,-4,13的和)。线性时间求最大子序列和的算法:int maxSubSum(vector & a){ int maxSum=a[0]; int curSum=0...
分类:其他好文   时间:2015-11-10 12:15:43    阅读次数:213
426条   上一页 1 ... 27 28 29 30 31 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!