上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: C++虚函数与JAVA中抽象函数比较1:java中没有虚函数的概念,但是有抽象函数的概念,用abstract关键字表示,java中抽象函数必须在抽象类中,而且抽象 函数不能有函数体,抽象类不能被实例化,只能由其子类实现抽象函数,如果某个抽象类的子类仍是抽象类,那么该子类不需要实现其父类的抽象函数。2:C++中的有虚函数的概念,用virtual 关键字来表示,每个类都会有一个虚函数表,该虚函数表首先会从父类中继承得到父类的虚函数表, 如果子类中重写了父类的虚函数(不管重写后的函数是否为虚函数),要调用哪个虚函数,是根据当前实际的对象来判断的(不管指针所属类型是否为当前类,有可 能是父类型),指针 阅读全文
posted @ 2012-01-03 01:54 yangleo 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 今天看了看背包九讲,自己写了下0-1背包和完全背包王晓东《计算机算法分析与设计》上面给出的C++实现比较繁琐,相比而言这个版本更加简明给出了测试数据0-1背包问题C++实现/*任务:计算0-1背包问题的最大价值 Sample Input 10 4 2 1 3 3 4 5 7 9 Sample Output 12 0 1 0 1 */ #include<stdio.h> #include<string.h> int c[20][1000];//c[k][y]为只允许装前k种物品,背包总重量不超过y的最大价值 int inumber[21][1000];//inumber[ 阅读全文
posted @ 2012-01-03 00:52 yangleo 阅读(3231) 评论(0) 推荐(0) 编辑
摘要: 题意:给定字符串,求哈夫曼编码长和它与等长编码的比值,比较基础思路:这题考查哈弗曼编码,但其实没必要建树得出编码,只需要统计哈弗曼编码后的总码长即可参考了网友的题解,用到了优先权队列维持一个从小到大的序列第38行其实就是把越小的频数反复多加几次,越大的频率少加几次,体现了前缀码的设计思想Source CodeProblem: 1521User: yangliuACMerMemory: 232KTime: 0MSLanguage: C++Result: Accepted//这题考查哈弗曼编码,但其实没必要建树得出编码,只需要统计哈弗曼编码后的总码长即可 #include <iostream 阅读全文
posted @ 2011-12-29 02:28 yangleo 阅读(827) 评论(0) 推荐(0) 编辑
摘要: const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令**************常量必须被初始化*************************cons的作用(1)可以定义const常量例如:constintMax=100;intArray[Max];(2)便于进行类型检查例如:voidf(constinti){.........}编译器就会知道i是一个常量,不允许修改;(3)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。还是上面的例子,如果在函数体内修改了i,编译器就会报错;例如:voidf(constinti){i=10;//error!}(5)为函 阅读全文
posted @ 2011-12-26 10:54 yangleo 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 背包问题 它是在1978年由Merkel和Hellman提出的。它的主要思路是假定某人拥有大量物品,重量各不同。此人通过秘密地选择一部分物品并将它们放 到背包中来加密消息。背包中的物品中重量是公开的,所有可能的物品也是公开的,但背包中的物品是保密的。附加一定的限制条件,给出重量,而要列出可能的物 品,在计算上是不可实现的。背包问题是熟知的不可计算问题,背包体制以其加密,解密速度快而其人注目。但是,大多数一次背包体制均被破译了,因此现在很少有人使用它。DD牛的背包九讲P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可使这些物.. 阅读全文
posted @ 2011-12-26 10:35 yangleo 阅读(586) 评论(0) 推荐(1) 编辑
摘要: 题意:车的类型用字符串来描述,两个汽车类型的距离定义为其字符串中不同字符的个数,给定所有的车的类型,求车之间的派生关系,使得总的距离最短,派生关系质量分最大算法:转化为图论问题,结点对应不同的汽车类型,边的权值就是不同结点字符串距离值,求最小生成树即可(因为题目说明了每个汽车只有一种汽车派生出)Source CodeProblem: 1789User: yangliuACMerMemory: 15688KTime: 422MSLanguage: C++Result: Accepted//00:31-0:53 20分钟写完 #include <iostream> using name 阅读全文
posted @ 2011-12-26 01:35 yangleo 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 这么多天第一次1AC,虽然题目不难,但是心里还是挺高兴算法思路:先根据纯色颜料中的最大者求出至少需要的颜料盒数,然后用剩余的颜料来配gray,配的时候要1ml 1ml的配gray颜料,通过不断重新从大到小排序,每次从前三种颜料去1ml配出1mlgray颜料,配之前判断下第3种颜料是否还有剩余,没有就加1个颜料盒,以此类推,到gray颜料配足够为止。要注意判断一定要紧跟排序之后,防止减完第三种颜料为0误判,因为此时第4种颜料可能还剩余1ml。测试用例3就是这种情况Source CodeProblem: 2709User: yangliuACMerMemory: 268KTime: 0MSLang 阅读全文
posted @ 2011-12-26 00:02 yangleo 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 看到关于字符串的面试题总结,第一题我就曾经遇到过- -摘录于下, 来源:http://rjwyr.blog.163.com/blog/static/112986400201153061911864/字符串操作#include <iostream>#include <sstream>#include <limits>#include <vector>#include <string>using namespace std;/*\1.翻转句子中的单词题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔 阅读全文
posted @ 2011-12-25 22:50 yangleo 阅读(1101) 评论(0) 推荐(0) 编辑
摘要: 这题很简单,但还是超时和WA一次主要是由于1、这题输入可能是非常大的数,可能上千位,所以把输入当成了2000位的字符串来处理,转化成数字2、还是变量初始化的问题,WA了一个,细心最重要#include <iostream> #include <string> using namespace std; int f (int n){ int sum = 0; while((n/10) > 0){ sum += n % 10; n /= 10; } sum += n; if(sum >= 10) return f(sum); else return sum; } 阅读全文
posted @ 2011-12-25 15:20 yangleo 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 很经典的BFS搜索 走迷宫选取经过门最少的路线,这题POJ测试数据设计不全面,changeDir数组赋值错误也可以过。。。主要图的数据结构存储方式和算法实现参考了http://blog.csdn.net/bobten2008/article/details/5093307(1)首先是建图, 由于输入给的都是线段, 但是我们平常处理这类问题都是转换为网格来做的, 因此需要将线段转换为网格.转化的方法是对于每个格子,用其左上角点的坐标来表示这个格子。如果其左上角点的坐标是[i][j],那么这个格子就表示为[i][j].将其四周边界的四条线段归这个格子管.即为每个格子建一个数组round[i][j] 阅读全文
posted @ 2011-12-25 01:51 yangleo 阅读(287) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页