2011年5月28日
摘要: 代码在src中的.java文件中编辑,gen目录下有一个R.java的文件,这个文件存储res目录下各种资源文件的id号,在主文件java中调用该资源的时候直接调用id号即可,如 R.layout.main ,这个条目得打开R.java文件中查看,“R”对应R.java文件,“layout”对应R.java文件中的layout类,“main”对应layout类中的一个静态常量声明。实际上res中的每一个文件都会在R.java中自动产生静态常量,这是res目录和assets目录最大的不同之处,这样做的好处不言而喻,对资源的修改不会对代码产生任何的影响,因为代码中使用的只是ID号码而已res目录中 阅读全文
posted @ 2011-05-28 12:23 geeker 阅读(1237) 评论(0) 推荐(0) 编辑
  2011年5月26日
摘要: 快考试了,作为数据结构的复习,那么就把代码背打一遍好了,虽然代码很简单,但是把基础打牢固对以后的学习肯定是百益而无一害。正好也练练C++模板和指针以及代码书写的模块化,否则天天写些算法程序,一写就一大坨,乱乱的,养成习惯就悲剧了... ...看一点写一点,考试前补充完这篇博文就OK了本来想写到一片文章中的,代码折叠显示,不过折叠后手机里就看不到了...还是分开写吧《基于数组的链表》AList#include<iostream>using namespace std;template<class Elem>class AList{private: int maxSize; 阅读全文
posted @ 2011-05-26 23:42 geeker 阅读(481) 评论(0) 推荐(1) 编辑
  2011年5月19日
摘要: POJ 2084 http://poj.org/problem?id=2084通过对题目的分析,总结出递归式:h(0)=1,h(1)=1 递归式:h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)h(0)(其中n>=2),这是n阶递推关系;然后第一次,用递归形式加记忆搜索写代码,不知怎么回事,时间特别慢,纳闷,之后又改为dp[]实际上,两者道理一摸一样,只是写法不同,可是写完后,发现此题得用高精度,吐血!!!然后想趁此题,把java的大整数运算的用法学会,否则,高精度虽然有模板,但是每次都得打一大堆代码,看的头都大了,,,《递归格式的代码》#include&l 阅读全文
posted @ 2011-05-19 16:16 geeker 阅读(635) 评论(0) 推荐(0) 编辑
  2011年5月18日
摘要: /*POJ 2083简单递归即输出图形X-X X XX X-X X X X X XX X X X X X X X XX X X X X XX X X X-X X X X X X X X X X X XX X X X X X X X X X X X X X X X X XX X X X X X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XX X X X X X X X X X X XX X X X X X X X X X X X X X X X X XX X X X X X X X X X 阅读全文
posted @ 2011-05-18 22:38 geeker 阅读(727) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2018题意很简单,就是给你N个数,让你求一个连续数串的平均值最大,连续数串的个数不得低于F个。那么就设dp[i],为以第i个数为最后一个数所能得到的最大平均值。那么dp[i]要在两种情形中选择最大值,第一种是基于dp[i-1],把第I个数作为前面串的末尾,第二种情况自己单独起一长度为F的串。代码如下:#include<iostream>using namespace std;const int NUM = 100001;int cows[NUM];int cowsum[NUM];//记录前F项之和,输入顺便打表,方便之后运算st 阅读全文
posted @ 2011-05-18 00:49 geeker 阅读(1156) 评论(7) 推荐(1) 编辑
  2011年5月17日
摘要: 由于才疏学浅,平时做题很少建立一棵完整的树。因此觉得二叉查找树又啰嗦又没用,直到今天实验课,让我极度之无语,一个小破题儿差点没整死我... ...于是才决心好好整理一下介个曾经被我藐视过得数据结构... 我打算先从今天的实验课的那道题说起,然后再系统写一棵二叉查找树,也为以后总结各种数的变形打好基础 ~ 实验课的题目是这样的:题目2:给出一个整数序列,请按照顺序建立二叉查找树(BST),然后层次化输出,即先输出根结点,然后是根结点的左孩子、根结点的右孩子,一层一层,从左到右地输出。例:输入顺序为37,24,42,32,7,40,2,42,120。对应的二叉查找树如下所示层次化输出为:37 2. 阅读全文
posted @ 2011-05-17 21:42 geeker 阅读(597) 评论(0) 推荐(2) 编辑
摘要: 在很多情况下,我们需要实现一个符号表,里面保存我们用到的所有符号。每个符号有一个关键码key(不同符号的关键码也不同),其余部分可能非常庞大。换句话说,符号表应该提供以下操作:Search(T, k):查找关键码k是否在表中Insert(T, x):把x添加到表中Delete(T, x):从表中删除元素x有时也把符号表称为"字典",它最经典的实现方法是哈希表。哈希表的不同设计方法以及解决冲突的方法,我觉得单单看算法书或者数据结构上的书不是很好理解,但是结合具体的题目实例来看,就相当的具体与好理解,哈希表的思想就类似于我们平时用字典查英语单词,没有一个人会从第一页一页一页的去 阅读全文
posted @ 2011-05-17 21:08 geeker 阅读(2829) 评论(0) 推荐(1) 编辑
摘要: 首次认识到Trie树的强大之处!简单易懂,只要对建立一般的树的方法有所了解就OK了。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。它有3个基本特性: 1)根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2)从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 3)每个节点的所有子节点包含的字符都不相同。http://poj.org/problem?id=20011 #includ... 阅读全文
posted @ 2011-05-17 07:37 geeker 阅读(791) 评论(0) 推荐(1) 编辑
  2011年5月11日
摘要: 题目来源:POJ 1080 Human Gene Functionshttp://acm.pku.edu.cn/JudgeOnline/problem?id=1080解法类型:动态规划解题思路: 网上一份解题报告:写的很详细,就此摘来:http://nash250.blog.hexun.com/9794371_d.html和《算法导论》中动态规划章节的LCS(Longest common subsequence 最长公共子序列)所用例子基本是一样的,都是测两串基因的相似程度,不同之处在于《导论》用LCS表示两基因的相似程度,LCS越长,相似度越大。本题中用下面的核苷相近程度取值表表示两基因相似 阅读全文
posted @ 2011-05-11 17:35 geeker 阅读(558) 评论(0) 推荐(0) 编辑
  2011年5月8日
摘要: 并查集 维护一些不相交的集合,它是一个集合的集合。每个元素恰好属于一个集合,好比每条鱼装在一个鱼缸里。每个集合S有一个元素作为\集合代表"rep[S],好比每个鱼缸选出一条"鱼王"。并查集提供三种操作:MakeSet(x):建立一个新集合x。x应该不在现有的任何一个集合中出现。Find(S, x):返回x所在集合的代表元素。Union(x, y):把x所在的集合和y所在的集合合并。森林表示法可以用一棵森林表示并查集,森林里的每棵树表示一个集合,树根就是集合的代表元素。一个集合还可以用很多种树表示,只要树中的结点不变,表示的都是同一个集合。合并操作只需要将一棵树的根 阅读全文
posted @ 2011-05-08 21:13 geeker 阅读(2396) 评论(0) 推荐(2) 编辑