- 博客(24)
- 资源 (16)
- 收藏
- 关注
转载 strstr和strncmp源码实现
extern char *strstr(char *s1, char *s2)用法:#include 功能: 找出s2字符串在s1字符串中第一次出现的位置(不包括s2的串结束符)返回结果:返回该位置的指针,如找不到,返回空指针。源码实现:char *strstr( const char *s1, const char *s2 ){ int len2; if (
2012-10-31 10:44:35 1141 1
转载 贪心算法精讲
一.贪心算法的基本概念 当一个问题具有最优子结构性质时,我们会想到用动态规划法去解它。但有时会有更简单有效的算法。我们来看一个找硬币的例子。假设有四种硬币,它们的面值分别为二角五分、一角、五分和一分。现在要找给某顾客六角三分钱。这时,我们会不假思索地拿出2个二角五分的硬币,1个一角的硬币和3个一分的硬币交给顾客。这种找硬币方法与其他的找法相比,所拿出的硬币个数是最少的。这里,我们下意识地
2012-10-27 21:19:13 644
转载 贪心算法
顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。问题一、活动安排问题问
2012-10-27 21:11:33 585
转载 最少零钱问题 最少硬币问题
******************************问题描述************************************//* 设有n种不同面值的硬币,现要用这些面值的硬币来找开待凑钱数m,可以使用的各种面值的硬币个数不限。 找出最少需要的硬币个数,并输出其币值。 数据输入: 由文件input.txt提供输入数据。文件的第1行中有1个正整数n(n
2012-10-26 17:07:23 818
转载 装箱问题
装箱问题有一个箱子容量为v(正整数,0≤v≤20000),同时有n个物品(0要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入:箱子的容量v 物品数n 接下来n行,分别表示这n个物品的体积输出: 箱子剩余空间输入输出样例输入:24 6 8 312797输出: 0 题解`1. 使
2012-10-25 16:06:56 1234
转载 【石子合并】
【石子合并】 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。 【输入文件】 包含两行,第1 行是正整数n(1 第2行有n个数,分别表示每堆石子的个数。 【输出文件】 输出两行。 第1
2012-10-25 13:13:14 513
转载 动态规划
终于来到了算法设计思想中最难,也最有趣的这部分,在去年的google笔试中,7道算法设计题有2道动态规划(Dynamic Programming)。看了这么久的算法,这部分也是唯一感觉到了比较难的地方,从这篇文章开始,将花连续的篇幅来讨论一些动态规划的问题。这包括书上介绍过的计算二项式系数,Warshall算法求传递闭包,Floyd算法求完全最短路径,构造最有二叉查找树,背
2012-10-25 09:58:27 528
转载 对于从 1 到 N 的连续整集合合,能划分成两个子集合,且保证每个集合的数字和是相
http://gengning938.blog.163.com/blog/static/128225381201143194528352/对于从 1 到 N 的连续整集合合,能划分成两个子集合,且保证每个集合的数字和是相 2011-05-31 21:45:28| 分类:算法设计 | 标签: |字号大中小 订阅对于从1到N的连续整集合合,
2012-10-24 15:55:11 3943
转载 动态规划算法剖析
最优化原理 1951年美国数学家R.Bellman等人,根据一类多阶段问题的特点,把多阶段决策问题变换为一系列互相联系的单阶段问题,然后逐个加以解决。一些静态模型,只要人为地引进“时间”因素,分成时段,就可以转化成多阶段的动态模型,用动态规划方法去处理。与此同时,他提出了解决这类问题的“最优化原理”(Principle of optimality): “一个过程的最优决策具有这样
2012-10-24 13:49:20 359
转载 石子归并
Description 你有一堆石头质量分别为W1,W2,W3...WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。Input 第一行为整数N(1Output 输出合并后两堆的质量差的最小值Sample Input 5 5 8 13 27 14Sample Output 3
2012-10-23 10:49:37 709
转载 背包问题应用
1. 背包问题介绍背包问题不单单是一个简单的算法问题,它本质上代表了一大类问题,这类问题实际上是01线性规划问题,其约束条件和目标函数如下:自从dd_engi在2007年推出《背包问题九讲》之后,背包问题的主要精髓基本已道尽。本文没有尝试对背包问题的本质进行扩展或深入挖掘,而只是从有限的理解(这里指对《背包问题九讲》的理解)出发,帮助读者更快地学习《背包问题九讲》中的提到的各种背包问题的主
2012-10-21 22:11:52 566
转载 生命的礼物
年轻的好处,是可以在没有看清楚这个世界之前,做率性的事。@捧腹网 荒唐也好,可笑也好,那都是无悔的青春。人生这本书,慢慢读。生活这件事,慢慢过。因为未知,所以好奇,因为好奇,所以惊喜,因为惊喜,所以幸福,因为幸福,才能读懂人生,才会过好生活。学历代表过去,财力代表现在,学习能力代表将来。所见所闻改变一生,不知不觉会断送一生。没有目标的人永远为有目标的人去努力;没有危机是最大的危机,
2012-10-21 21:48:16 496
转载 论MySQL何时使用索引,何时不使用索引
其实不管什么数据库,index(索引)是在经常查询的column上建立的,虽然它可以加快查询,但是如果表中经常有DML语句(增删改)的话,反而会成为数据库的负担,所以如果笼统的来讲的话,就是你经常要去找,要去匹配的字段,比如姓名,员工编号啊等等。索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列。如
2012-10-21 21:32:13 396
转载 IPv4与IPv6的区别是什么
目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。 IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上。 近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格,各项资料显示全球IPv4位址可
2012-10-21 21:23:32 578
转载 01背包
01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为P1,P2……Pn。目录01背包问题问题描述算法分析解决方案优化空间复杂度初始化的细节问题小结装箱问题论述二次背包问题展开 01背包问题问题描述算法分析解决方案优化空间复杂度初始化的
2012-10-21 21:07:04 469
转载 详解动态规划算法
能用动态规划解决的问题,肯定能用搜索解决。但是搜素时间复杂度太高了,怎么优化呢?你想到了记忆化搜索,就是搜完某个解之后把它保存起来,下一次搜到这个地方的时候,调用上一次的搜索出来的结果。这样就解决了处理重复状态的问题。动态规划之所以速度快是因为解决了重复处理某个状态的问题。记忆化搜索是动态规划的一种实现方法。搜索到i状态,首先确定要解决i首先要解决什么状态。那么那些状态必然可以转移给i状态。于是你
2012-10-21 21:01:59 731
转载 CMWAP 和 CMNET
CMWAP是手机上网使用的接入点的名称。通过CMWAP只能访问WAP网站。CMWAP使用HTTP代理协议和WAP网关协议可以访问到Internet。含义 1、移动用户访问WAP内容的接入点,又名中国移动梦网; 2、用于访问wap网站和接收彩信、下载百宝箱应用,只能访问WAP网络内容; 3、全球通、动感地带、神州行等支持GPRS的卡都支持; 4、百宝箱应用
2012-10-21 20:42:18 552
转载 TopK
面试到了一个topk,这个原理很简单,但是以前很少写过。面试时写的有点小慢,没有达到行云流水的地步。于是回来再写一遍练练。其中,堆排序部分采用简明排序代码。用完整的TopK代码:#include #include using namespace std; templatetypename T>void unguarded_heapify(T *data, si
2012-10-20 20:06:55 713
转载 移动应用开发面试题
1、 Android dvm的进程和Linux的进程,应用程序的进程是否为同一个概念? DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念。 2、sim卡的EF文件有何作用? sim卡的文件系统有自己规范,主要是为了和手机
2012-10-20 19:59:25 836
转载 iBatis 到 MyBatis区别
简介: 本文主要讲述了 iBatis 2.x 和 MyBatis 3.0.x 的区别,以及从 iBatis 向 MyBatis 移植时需要注意的地方。通过对本文的学习,读者基本能够了解 MyBatis 有哪些方面的改进,并能够顺利使用 MyBatis 进行开发。本文更适合有 iBatis 基础的开发人员阅读。 从 iBatis 到 MyBatis,你准备好了吗?对于从事 Java EE
2012-10-20 19:54:42 535
转载 进程和线程的区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻
2012-10-19 10:48:57 459
转载 java中collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比
2012-10-19 09:46:48 534
转载 java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
public class PrintMatrixClockwisely { /** * Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如:如果输入如下矩阵: 1 2 3 4 5 6 7
2012-10-09 23:28:33 1111
转载 二叉树的常见问题及其解决程序(一)
1.二叉树三种周游(traversal)方式:3.如何判断一棵二叉树是否是平衡二叉树4.设计一个算法,找出二叉树上任意两个节点的最近共同父结点,复杂度如果是O(n2)则不得分。5.如何不用递归实现二叉树的前序/后序/中序遍历?6.在二叉树中找出和为某一值的所有路径(注意是到叶子节点)7.怎样编写一个程序,把一个有序整数数组放到二叉树中?8.判断整数序列是不是二叉搜索树的后序
2012-10-04 10:50:28 613
刘备学Android
2016-02-19
站点挖掘总结
2013-03-30
站点垂直挖掘模型的研究和实现
2013-03-30
矩阵运算中选择分块矩阵策略的研究
2013-03-30
基于语义和规则的Web网页细粒度信息抽取方法
2013-03-30
基于URL特征的网站结构信息挖掘
2013-03-30
刀疤鸭之数据结构面试题
2012-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人