算法与数据结构
文章平均质量分 63
mandagod
这个作者很懒,什么都没留下…
展开
-
找出大于给定数数最小的素数
找出大于给定数数最小的素数 /* Return next prime; assume N >= 10 */ // 设置素数 static int NextPrime( int N ) { int i; if( N % 2 == 0 ) N原创 2017-04-12 18:57:24 · 6063 阅读 · 0 评论 -
经典算法-统计0~n之间的数字二进制的1的个数
题目描述: 给定一个数字n,统计0~n之间的数字二进制的1的个数,并用数字输出例子: 当n = 5 时 返回的结果应该是:[0,1,1,2,1,2]要求: 算法复杂度o (n)空间复杂度o (n)思路分析: 根据题目的要求,时间和空间复杂度,明显是要用动态规划的方法得出推到公式:f(n) = 不大于f(n)的最大的2的次方+f(k),k一定是再前面出现的,用数组记录,直接查询举例 f(5) = f...转载 2018-03-16 16:39:10 · 1334 阅读 · 0 评论 -
Lintcode - 数据流中位数
class Solution {#if 1 // 1. 用最简单的数组来保存读入的数据,显示未排序的,用Partition方法找出中位数, // 插入时间O(1),查找中位数时间O(n); // 2. 用最简单的数组来保存读入的数据,插入数据,保持其排序的特性,移动排序数据 // 需要O(n)时间,最终读取中位数时间O(1); // 3.原创 2018-01-31 11:50:43 · 228 阅读 · 0 评论 -
背包问题简述
“背包题目”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn,希望从N件物品中选择若干物品,所选物品的重量之和恰能放进该背包,即所选物品的重量之和即是S。递归和非递归解法都能求得“背包题目”的一组解。// --------------------------------------------------- // 注1: 一般要求一个转载 2017-12-19 15:33:30 · 494 阅读 · 0 评论 -
并查集(Union-Find)算法介绍
本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出一些思路上的过程,即为什么要使用这个方法,而不是别的什么方法。我觉得这个可能更加有意义一些,相比于记下一些结论。转载 2018-01-11 12:42:42 · 339 阅读 · 0 评论 -
KMP 算法(1):如何理解 KMP 讲得特别好
一:背景展开目录给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题。Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的常用算法之一,这个算法是由高德纳(Donald Ervin Knuth)和沃恩 · 普拉特在 1974 年构思,同年詹姆斯 ·H· 莫里斯也独立地设计出该算法,最终三人于 1977 年联转载 2017-09-15 18:51:45 · 302 阅读 · 0 评论 -
从零开始学贪心算法
本文在写作过程中参考了大量资料,不能一一列举,还请见谅。贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。解题的一般步骤是:1.建立数学模转载 2017-04-24 15:35:04 · 7676 阅读 · 0 评论 -
排序算法集合 - 5
Shell 排序Shell 排序实现的原理就是依据不断地缩小增量排序最终达到目的;这里的实现方式增量序列的选择:ht = [N / 2], hk = [h(k + 1) / 2] void Shellsort( ElementType A[ ], int N ) { int i, j, Increme原创 2017-04-15 12:47:42 · 432 阅读 · 0 评论 -
计算机程序设计艺术
计算机程序设计艺术(第1卷)http://download.csdn.net/detail/mandagod/9814021计算机程序设计艺术(第2卷)http://download.csdn.net/detail/mandagod/9814029计算机程序设计艺术(第3卷)http://dow原创 2017-04-14 15:24:24 · 2826 阅读 · 0 评论 -
0-1背包
文章作者:Yx.Ac 文章来源:勇幸|Thinking (http://www.ahathinking.com) 转载请注明,谢谢合作。 ---四月份还没写,不能这么荒废了呀,赶紧水一篇吧,哈哈。前些日子回顾了DP的一些基础,就做一下整理吧,从0-1背包开始。本节回顾0-1背包的基本模型,关于它的实现有很多种写法,这里对不同实现做个简单列举,主要是写代码练手了,主要有以下几方面内容:==...转载 2018-03-17 07:48:02 · 241 阅读 · 0 评论