数据结构|| 算法||ACM
文章平均质量分 68
followingturing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用循环链表求解约瑟夫问题
用循环链表求解约瑟夫问题 一、问题陈述 一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务。旅行社安排这些旅客围成一个圆圈,从帽子中取出一张纸条,用上面写的正整数m( 用面向过程的编程方式(C),对某个给定的n=8与m=3,给出被淘汰出列的旅客编号,以及最终的幸存者。 用面向对象的编程风格(C++),重新处理该约瑟夫问题。 谈谈这两种编程风转载 2009-10-27 08:11:00 · 2525 阅读 · 0 评论 -
MySql 配置笔记
MYSQL可能是当今世界上最受欢迎,装机量最大的数据库管理系统了,配置数据库有很多需要管理的地方,整理一下笔记: 下载 LINK:http://dev.mysql.com/downloads/mirror.php?id=406389#mirrors 1.选择Detail configuration。是更加详细的配置。 2.自己开发,选择developer machine。原创 2012-02-21 12:36:04 · 959 阅读 · 0 评论 -
模拟笔算 (加 减 乘 除)
<br /> 今天实现了一个小的算法例程,完全模拟笔算的方法,实现大整数的加减乘除。<br /> 刚开始,没什么思路,后来用笔算了一遍,其逻辑便一目了然了。<br /> ————————————————————————————————————————————<br />//*************************************************************************//** 模拟笔算 大数加减乘除//** 本程序是简单算法示例 假设a原创 2011-03-20 18:01:00 · 1129 阅读 · 0 评论 -
统计程序运行时间 微秒级计时器
class timer { public: timer(); ~timer(); void start(void); void end(void); DWORD getTime(void) const; private: LARGE_INTEGER m_i64CPUFreq; LARGE_INTEGER m_i64Begin;转载 2011-03-16 15:18:00 · 1166 阅读 · 1 评论 -
堆和栈的区别
堆和栈的区别(转过无数次的文章)———————————————————————————————————————————— 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配转载 2010-11-18 16:49:00 · 602 阅读 · 0 评论 -
致二叉树
我如果爱你—— 绝不像贪婪的迪杰斯特拉(Dijkstra) 想方设法寻求最短路径靠近你; 我如果爱你—— 绝不学繁琐的佛洛依德(Floyd) 对结点重复单调的歌曲; 也不止像普利姆(Prim) 常年工作在稠密图上; 也不止像克鲁斯卡尔(Kruscal) 检查每一条边权值,构成你的强连通分量。 甚至AOV。 甚至AOE。 不,这些都还不够! 我必须是你近旁的一株最优二叉树, 作为树的形象和你站在一起。 结点根,紧握在地下 结点叶,相触在云里。 每一转载 2010-11-06 11:45:00 · 657 阅读 · 0 评论 -
用c实现背包问题(贪心)
好久以前做的一个程序,贪心策略实现背包问题,c实现。总结在这里,以备以后和别人查找。//背包问题#include "stdio.h"#define MAX 10void main(){ int w[MAX]={0,10,130,15,60,25}; //存放质量 int v[MAX]={0,30,5,10,20,25}; //存放价值 float a[MAX]={0};原创 2010-05-30 22:40:00 · 952 阅读 · 0 评论 -
strassen in c language.
#include#define N 8void input(int n,int p[N][N]){ int i,j; for(i=0;i { printf("please input the %d line:/n",i+1); for(j=0;j { scanf("%d",&p[i][j]); }} }void output(int n,int p[N][N]){ int i,j; for转载 2010-05-31 10:14:00 · 693 阅读 · 0 评论 -
汽车加油问题(贪心算法)
/*题目:一辆汽车加满油后可行驶n公里,途中设有若干加油站,若要使沿途加油次数最少,设计一个有效算法,给出应该在那些加油站加油.输入:第一行一个整数n表示加满油后可行驶n公里;第二行有多个整数,第一个整数k表示沿途有k个加油站,接下来k个整数为各加油站位置。输出:多个整数为加油的加油站,各整数之间由一个空格分隔。输入:100 6 10 50 80 150 180 220输出:8原创 2010-05-30 22:44:00 · 3917 阅读 · 0 评论 -
ACM大量习题题库
ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge。除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库。USACOhttp://ace.delos.com/usacogate美国著名在线题库,专门为信息学竞赛选手准备TJUhttp://acm.tongji.edu.cn/同济大学在线题库,唯一的中文题库,适合NOIP转载 2010-05-27 19:23:00 · 2807 阅读 · 2 评论 -
Strassen矩阵乘法
Strassen矩阵乘法Strassen矩阵乘法是通过递归实现的,它将一般情况下二阶矩阵乘法(可扩展到n阶,但Strassen矩阵乘法要求n是2的幂)所需的8次乘法降低为7次,将计算时间从O(nE3)降低为O(nE2.81)。 矩阵C = AB,可写为C11 = A11B11 + A12B21C12 = A11B12 + A12B22C21 = A21B11 + A22B21C22转载 2010-05-10 19:49:00 · 1235 阅读 · 1 评论 -
递归思想的妙用
同学参加了EMC的笔试回来,说了一个EMC的一个笔试题目,他没有答上来,就问我。我感觉很有意思,就拿出来分析一下。======================================int main(int argc, char* argv[]){ fork(); fork() && fork() || fork(); fork();}不算main这个进程自身,到底创建了多少个进程啊?======================================为了解答这个问题,我们先作一转载 2010-06-25 16:26:00 · 680 阅读 · 0 评论 -
KMP算法----模式匹配的一种改进算法
模式匹配的一种改进算法----KMP算法 这种改进算法是D.E.Knuth与V.R.Pratt和J.H.Morris同时发现的,因此人们称它为克努特-莫里斯-普拉特算法(简称为KMP算法)。该算法可以在O(n+m)的时间数量级上完成串的模式匹配操作。 其改进在于:每当一趟匹配过程中出现字符比较不等时,不需回溯i指针,而是利用已经得到的‘部分匹配’的结果将模式向右‘滑动’尽可能远的一段距离后,继续进行比较。一般情况下,假设主串为s0s1…sn-1,模式串为p0p1…pm-1,从上例的分析可知,为了转载 2010-06-25 16:19:00 · 968 阅读 · 0 评论 -
The Easy Way to Extract Useful Text from Arbitrary HTML 从HTML文件中抽取正文的简单方案
The Easy Way to Extract Useful Text from Arbitrary HTML从HTML文件中抽取正文的简单方案作者:alexjc译者:恋花蝶(http://blog.youkuaiyun.com/lanphaday)原文地址:http://ai-depot.com/articles/the-easy-way-to-extract-useful-text-fro转载 2012-11-05 11:32:15 · 3829 阅读 · 0 评论
分享