数据结构与算法
文章平均质量分 78
Enockipp
目前小硕在读中
展开
-
机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com转载 2016-07-16 16:35:40 · 764 阅读 · 0 评论 -
最大连续子序列和
题目求数组中最大的连续序列的和,如果原创 2014-05-02 16:55:12 · 994 阅读 · 0 评论 -
斐波那契查找-类似于二分查找
/*斐波那契查找法,前提是线性表必须有序,时间复杂度是O(logn)*/ #include const int MAXSIZE = 20; int Fibonacci_Search(int *a, int n, int key); /*用非递归法构造一个斐波那契数组*/ void Fibonacci(int *f) { f[转载 2014-04-15 14:56:40 · 831 阅读 · 0 评论 -
prim与dijksra算法比较
另参见:http://blog.csdn.net/zhuang19922011/article/details/8035028 PrimDijkstra目的最小生成树单源最短路 让所有边权值之和最小让每个顶点到源点路径上的权值最小 贪心,不断更新每个顶点到整棵树的距离贪心,不断更新每个顶点到源点的距离原创 2014-04-14 19:37:14 · 1414 阅读 · 1 评论 -
大神与三位小伙伴 微软编程之美2014挑战赛之题目2 : 大神与三位小伙伴 题解
时间限制:2000ms单点时限:1000ms内存限制:256MB描述L国是一个有着优美景色且物产丰富的国家,很多人都喜欢来这里旅游并且喜欢带走一些纪念品,大神同学也不例外。距离开L国的时间越来越近了,大神同学正在烦恼给她可爱的小伙伴们带什么纪念品好,现在摆在大神同学面前的有三类纪念品A, B, C可以选择,每类纪念品各有N种。其中种类为A_i, B_i, C_i原创 2014-04-11 19:45:46 · 1510 阅读 · 0 评论 -
英雄会(csdn pongo)题解之求导数
这道题很简单,从题目中给出的几种倒数的求法和我们对求导的理解,得出通过递归即能求解,写这篇博客的目的是感觉这道题描述不是很好,尤其是里面有句"输入保证合法。注意要带着括号",让我以为测试用例中没有像((((x)*(x))))这样外面有多余的括号的情况,而测试用例里面竟有这样的,这时需要将最外面的多余括号保留到最终的求导结果中,所以写这篇博客,为了减少大家在测试用例上浪费的时间,还有从题目中可以看出原创 2014-03-07 22:43:28 · 1487 阅读 · 4 评论 -
英雄会(csdn 高校俱乐部)题解之友好数(1)
题目详情:如果两个正整数组成它们的数字和相同则称它们互为友好数,给定正整数x,求比它大的最小的友好数。例如x = 222, 输出231,因为2 + 2 + 2 = 6 = 2 + 3 + 1。输入一个正整数x,由于输入数字较大,我们用字符串作为输入,字符串不包含首'0'。 (0 --------------------------------------------------分割原创 2014-02-11 23:08:27 · 1056 阅读 · 0 评论 -
英雄会(csdn pongo)题解之字符串转换成整数
题目详情:输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。请完成函数StrToInt,实现字符串转换成整数的功能。友情提醒:提交代码之前,请复查下你的程序,比如当给的字符串是如左边图片所示的时候,有考虑到么?当然,它们各自对应的正确输出如右边图片所示(假定你是在32位系统下,编译环境是VS2008原创 2014-02-12 16:38:15 · 906 阅读 · 0 评论 -
英雄会(csdn pongo)题解之半质数的个数--2·14情人&元宵节专题
题目详情质数是大家熟知的概念,我们定义一个半质数的概念:如果一个数恰好是两个质数的乘积(可以相同),则称它为半质数。前几个半质数是 4, 6, 9, 10, 14, 15, 21, 22, 25, 26。我们的问题是,输入两个正整数x输入:x,y输出:[x,y]之间有多少个半质数。输入数据范围 11.我的做法:需要明白:(1)两个质数的乘原创 2014-02-15 11:28:47 · 2273 阅读 · 0 评论 -
英雄会(csdn pongo)题解之坐标和数字
坐标和数字题目详情:如图所示,我们从0开始把整数写在两条直线上,0, 1, 2, 3分别写在(0,0), (1,1), (2,0)和(3, 1)这4点上,如图规律继续写下去。现在给定坐标(x,y),问(x,y)位置的整数是多少,如果这个位置不存在整数,输入-1。其中, 0-----------------------------------原创 2014-02-21 20:27:26 · 1097 阅读 · 4 评论 -
英雄会(csdn pongo)题解之二叉树
题目详情:我们可以用如下如下方法给二叉树编号: (1) 空树编号为0 (2) 只有一个结点的树编号为1 (3) 对任意非负整数m,包含有m个结点的二叉树编号笔包含有(m + 1)个结点的二叉树编号小 (4) 对一个包含有m个结点的二叉树,假设它左子树编号是L,右子树编号是R,它的编号是n,当且仅当,所有编号大于n并且包含m个结点的二叉树,满足以下如下条件:(a) 其原创 2014-02-20 12:50:33 · 1395 阅读 · 4 评论 -
2路插入排序-插入排序的改进
2路插入排序可以是基于直接插入排序改进,也可以是基于转载 2014-04-16 15:29:15 · 1120 阅读 · 0 评论 -
常用排序算法比较总结(内部排序)--计算机专业笔试、面试必知必会
排序算法总结:计数排序、冒泡排序、选择排序、堆排序、插入排序、归并排序、快速排序、基数排序,桶排序原创 2014-04-17 10:24:04 · 2779 阅读 · 0 评论 -
字符串哈希函数
基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。在处理大规模字符串数据转载 2016-06-17 13:56:22 · 749 阅读 · 0 评论 -
skiplist 跳表详解及其编程实现--跳跃链表
转自:http://www.tuicool.com/articles/J7rQRbskiplist介绍跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,请参考参考维基百科 点我 , 中文版 。跳表是由 William Pugh 发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也转载 2014-04-02 13:55:40 · 1998 阅读 · 0 评论 -
外部排序--胜者树与败者树
转自:http://blog.163.com/zhaohai_1988/blog/static/20951008520128510538412转载 2014-04-17 10:57:14 · 2045 阅读 · 0 评论 -
数据结构与算法之哈希冲突解决-链地址法与开放定址法对比
拉链法解决冲突的做法是:将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。在拉链法中,装填因子α可以大于 1,但一般均取α≤1。拉链法的优势与缺点与开放定址法相比,拉链法有如下几个优点:拉链转载 2014-08-07 19:01:07 · 5547 阅读 · 0 评论 -
常用数序结构与算法之后续非递归遍历二叉树
二叉树的非递归遍历中,前序和后续基本一致,比较简单,后续非递归遍历稍微复杂些,需要判断是从左子树返回还是右子树返回,daima原创 2014-08-04 15:22:48 · 991 阅读 · 0 评论 -
LeetCode:Reorder List
题目Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4}, reorder it t原创 2014-04-28 20:48:55 · 687 阅读 · 0 评论 -
LeetCode:Linked List Cycle--链表快慢指针实现求链表中位和查找链表中是否存在环
题目Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space? 做法原创 2014-04-28 21:27:45 · 1161 阅读 · 0 评论 -
Leetcode: LRU Cache
转自:http://blog.csdn.net/doc_sgl/article/details/15378513转载 2014-04-27 21:38:07 · 702 阅读 · 0 评论 -
Leetcode: Max Points on a Line
Max Points on a Line http://oj.leetcode.com/problems/max-points-on-a-line/给你一组点,求共线最多点的个数。思路,暴力枚举,以每个“点”为中心,然后遍历剩余点,求出以i为起点j为终点的斜率(j>i),斜率相同的点一定共线。对每个i,初始化一个哈希表,key 为斜率,value 为该直线上的点数。转载 2014-04-26 21:57:37 · 1668 阅读 · 0 评论 -
英雄会(csdn pongo)题解之罐子和硬币
家里面真不是写代码的地,今天做这道题,中间出去n多次,到晚上9点才做出来。罐子和硬币题目详情:有n个罐子,有k个硬币,每个罐子可以容纳任意数量的硬币。罐子是不透明的,起初你可以随机把这k个硬币任意放在罐子里。然后罐子被打乱顺序,你从外表无法区别罐子。最后罐子被编上号1-n。你有p次机会,每次你可以选择某个罐子,如果该罐子里有硬币,则你可以得到1个(你不可以知道该罐子里有多少原创 2014-02-12 22:21:32 · 1584 阅读 · 2 评论 -
英雄会(csdn pongo)题解之朋友的礼物
这道题第一次没提交通过,因为我直接截断了小数点后面的8位,忘记四舍五入了。朋友的礼物题目详情:n个人,每个人都有一件礼物想送给他人,他们决定把礼物混在一起,然后每个人随机拿走一件,问恰好有m个人拿到的礼物恰好是自己的概率是多少?输出结果四舍五入,保留8位小数,为了保证精度,我们用字符串作为返回类型。输入:n,m (0原创 2014-01-19 23:40:09 · 1296 阅读 · 0 评论 -
英雄会(csdn pongo)题解之平衡二叉树
平衡二叉树题目详情:平衡二叉树的定义是递归定义的:(1) 单个节点是平衡二叉树(2)平衡二叉树的左右子树分别都是平衡二叉树(3)平衡二叉树的左右子树高度差不超过1。求n个节点有m个叶子节点的平衡二叉树个数 (0例如:n = 1,m = 1,输出:1;n = 2,m = 1,输出:2;n = 2,m =原创 2014-01-19 22:07:27 · 1559 阅读 · 0 评论 -
csdn英雄会(pongo)题解之二十进制数的加法
10号EAST要开始通电准备实验了,所以比较忙,今天看到出新题,而且很简单,就敲了下代码。还有AB数和前两天的回文数没有写题解,打算这周末补上。---------------------------------------------------分割线----------------------------------------------题目详情:在二十进制中,原创 2014-01-06 20:33:08 · 985 阅读 · 0 评论 -
csdn英雄会题解之几个bing--微软必应·英雄会第三届在线编程大赛
今天从帝都回来了,吃了饭来办公室,发现师兄Q我了,确实啊,好几天没干正经事了,估计会挨说了,明天室里面又组织出去玩,唉,EPICS好久没进度了,很是纠结啊,明天玩回来,一定得认认真真的搞EPICS了。打开英雄会(不能再叫pongo了)发现出了新题,微软的,而且是两星,不过已经是20来人通过了,看到群里面再说复杂度是O(n),我不想干别的,也就试了试,不过我的方法复杂度比较高。下面是题目:原创 2013-12-30 22:40:52 · 2286 阅读 · 5 评论 -
pongo题解之覆盖数字
几天没上pongo,昨晚回宿舍前看到出新题了,没时间做,今天上午过来开始做,中间各种杂事,断断续续想了几次,大概在吃午饭前想到了思路,吃饭回来写了下,提交却遇到pongo编译程序崩溃,过了半下午终于可以编译了~^..^~,下面首先是题目内容:题目详情给定整数区间[a,b]和整数区间[x,y],你可以使用任意多次a,b之间的整数做加法,可以凑出多少个[x,y]区间内的整数?原创 2013-11-13 20:03:27 · 1169 阅读 · 2 评论 -
pongo(英雄会)题解之人人code,整数取反
以前在pongo做的题都没有写下思路,最近打算将以前的题目写下,发现我做出来的题目都是3星左右的,四星就做出来一两道,5星的好像就一道:先写下最简单的一道:整数取反题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,举两个例子如下:x = 123, return 321x = -123, return -321很简单,下面是代码:#in原创 2013-11-27 21:22:36 · 1874 阅读 · 5 评论 -
pongo(英雄会)题解之理想随机数发生器
不得感慨下本科没好好学习概率论,这道题用概率论很简单。首先还是题目:题目详情:一个理想随机数发生器R,给定参数正整数x,它可以均匀随机产生一个闭区间[0,x]之间的实数(注意是实数,每个实数出现的概率相同)R(x)。现在给定3个正整数a,b,c,我们使用a,b产生两个随机实数R(a), R(b),问R(a) + R(b) 输入: 正整数a,b,c。正整数均不原创 2013-11-27 21:15:43 · 1136 阅读 · 0 评论 -
pongo题解之子序列的个数
中午看到群里面在说出新题了,今天晚上本来没打算做题,本来安排是晚上在win下安装mdsplus,但是又怕像以前那样过一天就降分了,所以还是今晚做了。首先题目要求(摘自庞果网,http://www.pongo.cn):本题同样来自caopengcs,只要你有兴趣,每个人都可以出题(出题入口在主页右侧边栏“贡献题目”->“我要发布”内),以下是题目详情: 子序列的定义:对于一个序列a=a[1]原创 2013-09-18 13:46:12 · 1215 阅读 · 0 评论 -
pongo题解之24点扑克牌游戏--C++实现
24点扑克牌游戏,就是用a,b,c,d(1(1) ((a op1 b) op2 c) op3 d(2) (a op1 (b op2 c)) op3 d(3) (a op1 b) op2 (c op3 d)(4) a op1 ((b op2 c) op3 d)(5) a op1 (b op2 (c op3 d)原创 2013-08-10 16:27:59 · 9245 阅读 · 2 评论 -
pongo题解之字符串消除
题目详情给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如有ab或ba连续出现,你把它们替换为字母c;有ac或ca连续出现时,你可以把它们替换为字母b; 有bc或cb 连续出现时,你可以把它们替换为字母a。你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果的最短长度。输入原创 2013-09-03 22:08:57 · 1255 阅读 · 0 评论 -
pongo题解之数组排序
本来3星15分的题,结果头天晚上没想出来,今天早上好好想了下,一次搞定,但是发现是2星10分了,唉~~第2次遇到这样的事,看来以后还是早点想方法。首先还是说下题目:本题来自caopengcs(向大牛致敬!),只要你有兴趣,每个人都可以出题(出题入口在主页右侧边栏“贡献题目”内),以下是题目详情:给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把原创 2013-09-06 10:49:17 · 926 阅读 · 0 评论 -
pongo题解之杨辉三角的变形
首先说的是庞果网挺好的,暑假时候做的上面蓝港在线的一道题目,前几天蓝港的打来电话要简历了,不过我还在读研中,并且最近很忙,主要还是技术太搓,所以到现在还没将简历发过去。下面是庞果网这周的题目---杨辉三角的变形: 1 1 1 1 1 2 3 2 11 3 6 7 6 3 1以上三角形的原创 2013-11-06 21:21:13 · 2167 阅读 · 5 评论 -
pongo(csdn英雄会题解)之三元组的数量--英雄会第二届在线编程大赛·CSDN现场决赛
今天来CSDN参加了现场的决赛,我完全是为了看大神而来,开赛10分钟,cp大神就ac了,我那会还没思路,开始看错了题,后来想到了一种方法,到最后cp讲题解的时候,才发现我的想法基本和他的一样,那会我程序还没调试出来,今天切身体会到什么是高手。下面是题目:{5 3 1}和{7 5 3}是2组不同的等差三元组,除了等差的性质之外,还有个奇妙的地方在于:5^2 – 3^2 – 1^2 = 7原创 2013-12-30 00:23:29 · 2076 阅读 · 11 评论 -
pongo(英雄会)题解之最少操作次数的简易版
最近在看EPICS,大概过了一遍,感觉没什么效果,两周下来毫无进展,感觉在看不懂的时候就想玩,这周晚上玩了好多次CS,发现技术远不如前啊....上周断断续续将AB数程序调出来了,鉴于那道题是比赛初赛题,现在还不写题解。如果一切顺利的话,29号可以到帝都拎着瓶子去膜拜下群里面的大神去,愿下周进展顺利。这道”最少操作次数的简易版“,做的很不顺利,个人认为是pongo的测试样例出了问题,因为里面原创 2013-12-20 23:11:36 · 2733 阅读 · 12 评论 -
英雄会(csdn pongo)题解之平衡二叉树——C++源代码
#include #include #include #include #include #include #include #include #include using namespace std;#define NODEMAX 20class Test {public: static std::vectornodeMin; static std::vectorn原创 2014-01-19 22:08:26 · 1313 阅读 · 0 评论 -
组合数的几种求法
记从n中选出m个的组合数记为Cn,m,求Cn,m:方法一:蛮力求解,Cn,m=n!/((n-m)!*m!)方法二:Cn,m=Cn-1,m+Cn-1,m-1,这样就可以递归求解方法三:Cn,m=n!/((n-m)!*m!),两边同时取对数,lnCn,m=lnn!-ln(n-m)!-lnm!=sum(lni1) -sum(lni2)-sum(lni3) ,1可以通过消去重复计算来优原创 2014-01-28 23:45:58 · 1081 阅读 · 0 评论 -
英雄会(csdn pongo)题解之报数游戏3
这道题名字虽然为报数游戏3,但感觉这道题跟上两道题没多大联系,而且感觉也不是约瑟夫斯问题,下面是题目:一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因原创 2014-01-25 23:30:35 · 1478 阅读 · 2 评论