自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

计科菜鸟的天地.

天道有常,不为尧存不为桀亡。

  • 博客(115)
  • 资源 (4)
  • 收藏
  • 关注

原创 hdu 1548 (广搜)

题目条件真是变态。。。无语了#include#include#includetypedef struct queue{ int front; int rear; int s[210];}queue;queue bark;int flag[210];int lift[210];void init(){ bark.front=bark.rea

2012-08-12 20:41:50 1185

转载 算法导论--动态规划(装配线调度)

一、装配线调度问题问题:现有两条装配线,Sij表示第i条上完成第j道工序的装配站。汽车完成组装需要依次完成1~n工序。请找出完成装配并离开装配线的最快路线。符号说明:ei:汽车进入装配线i的时间,i=1,2xi:汽车离开装配线i的时间aij:在装配站Sij完成装配需要的时间tij:在装配站Sij完成后离开第i条装配线,进入另一条装配线需要的转移时间注意,

2012-08-12 14:26:03 1164

原创 HDU 2602 Bone Collector(0/1背包)

还好这个题目只是要求打印最大权值,利用一维数组就可以解决了。#include#include#includeint v[1001],w[1001],f[1001];int main(){ int n; int N,V; int i,k; scanf("%d",&n); while(n--) { scanf("%d%d",&N,&V); for(i=0;i<N;i

2012-08-12 10:52:00 501

原创 DP--hdu2084树塔

可以说是最简单的DP问题了。从底向上计算,然后顶部就是权值之和最大的路径了。#include#include#includeint tree[101][101];int maxn(int a,int b){ return a>b?a:b;}int main(){ int n,t; int i,k; scanf("%d",&n); wh

2012-08-11 22:20:50 995

原创 DP入门--HDU1160

忙活了一个晚上终于完成了。。。就是最长上升子序列的变形版。#include#include#includetypedef struct node{ int weight; int speed; int i; int mark; int father;}node;node mice[1002];int cmp(const void *a,

2012-08-11 20:26:20 469

原创 hdu1297

递推题,但是数据范围太大,用大数相加,但是时间太长了。。890MS。。f(n) = f(n-1)+f(n-2)+f(n-4);#include #include #include #define N 1001char stre[1001][1001];char ch3[1001];void sum(char ch1[],char ch2[]){ int num[N],

2012-08-11 09:59:58 911

转载 hdu1290---数学题

http://www.cppblog.com/wing/archive/2010/08/09/122841.html?opt=admin(1) n条直线最多分平面问题       题目大致如:n条直线,最多可以把平面分为多少个区域。       析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多

2012-08-10 15:39:53 483

原创 acm-bfs入门(抓住奶牛)

2054: 抓住奶牛!Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 135  Solved: 27[Submit][Status][Web Board]Description不得了,xiaoC的农场里跑出来了一只奶牛,这可是让xiaoC很是揪心啊,于是xiaoC立刻放下了手头的工作,想疯狂的奶牛奋力追去,但说来也怪,xiao

2012-08-08 15:52:39 2231

原创 acm-dfs入门

接触acm的时间不长,只能从基础开始了。今天试试dfs的题目,很简单就过去了。2203: 简单迷宫 (图)Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4  Solved: 1[Submit][Status][Web Board]Description这是个简单迷宫,请判断是否能走出迷宫。Inp

2012-08-08 12:36:36 2119 1

原创 算法导论--堆排序

以前写过一个堆排序,但是实话实说,根本不知所云。今天看了算法导论 关于堆排序的讲解,就实现了一下。在《算法导论》中关于堆排序的描述是:像合并排序而不像插入排序,运行时间为O(n*logn)。是一种原地排序算法:在任何时间只有常数个数据在数组外面。堆排序操作的重要伪代码:1:保持堆的性质;MAX-HEAPIFY(A,i)1 l <- LEFT(i)2 r <- RI

2012-08-07 17:23:57 684

原创 并查集操作

把常用的并查集写下来备用:注:第一个并查集操作转自他人博客.1:typedef struct _node{ _node* parent; int rank;}node;node *s[5000];void makeSet(int x){ s[x]=new node; s[x]->rank=0; s[x]->parent=s[x];}node* fi

2012-08-05 12:14:56 577

原创 二叉树重建(根据后序中序重建二叉树)

1:根据二叉树的后续序列和中序序列可以确定唯一的二叉树;2:二叉树遍历顺序       前序遍历;根节点-->左子树-->右子树;   中序遍历:左子树-->根节点-->右子树;   后序遍历:左子树-->右子树-->根节点;下面重建二叉树之后再层序遍历#include#include#includeint post[31],in[31];int m,ele

2012-08-05 08:50:44 1372

原创 HDU3786 找出直系亲属(并查集)

一开始想用暴力求解,想了半天没有思路..其实用并查集好多了:#include#includeint find(int array[],int x,int y){ int k=0,mark=0; while(array[x] > 0) { k++; if(array[x]==y){mark=1;break;} x=

2012-08-04 18:10:08 831

原创 hdu1232 并查集

//并查集的入门题目#include int digit[1000];int find(int array[],int k){ while(array[k]>0) k = array[k]; return k;}int main(int argc, const char * argv[]){ // insert code here...

2012-08-04 09:44:18 615

原创 用链表写约瑟夫环

约瑟夫环自己以前写过,现在想用数据结构实现一次。先贴上自己先前用数组实现的代码:/*约瑟夫环有n个人(n<=1000),用1,2,...,n编号,顺序排列,并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子,且后面的人继续报数(同样从1到4报数),问最后留下的是原来第几号的那一位输入人数输出最后剩下的人。*/#includeint main(){

2012-08-01 12:58:07 830

原创 中缀表达式计算器

中缀表达式的计算主要要转换为后缀表达式。例如       中缀表达式->(1+2)*3-4         转换为后缀表达式   12+3*4-至于后缀表达式的计算就很容易了     设定一个栈,然后后缀表达式从左到右一次进栈,如果当前的入栈的是数字就将其压入栈中,如果是运算符,就从栈中弹出两个数字进行相应的运算,然后将运算后的数字压回栈中。当字符串完全处理之后,栈顶就是运算结果P

2012-07-28 16:36:02 2196 3

原创 栈实现-迷宫问题

给定一个迷宫。如何走出去?最近有看看栈和队列就想用栈和队列实现,写了半天,终于写出来了。。。// 0 代表此路可走 1 代表此路不通// 只能走四个方向,即上下左右//周围的 111... 代表围墙。。#include#include#define mac 100 //定义栈的大小限制typedef struct{ short int row; //行 short i

2012-07-27 16:42:40 866

原创 一步一步复习数据结构和算法基础-双链表

单链表只能直接查找一个节点的后继,而双链表可以同时直接查找一个节点的前驱的后继。#include #include typedef struct node{ int data; struct node *llink,*rlink; //llink 前驱 rlink后继}*Linklist,Node;//初始化双链表void IiniLlist(Linklist*

2012-07-26 14:34:40 2906

转载 职工管理系统

node.h#ifndef node_h#define node_h#define NAME 20#define DATA 9#define SEX 3#define S 10#define AN 20typedef struct info { char name[NAME]; char sex[SEX]; char birthday[DATA]; char worksta

2012-07-25 19:29:39 1394

原创 一步一步复习数据结构和算法基础-dijkstra算法

#include#include#include#define number 20#define MAX 999999int d[number];typedef struct node{ int info; //图的节点存放的信息,可随时变动}GraphNode;typedef struct{ GraphNode matrix[number+1][number+1];

2012-07-25 10:50:13 830

原创 一步一步复习数据结构和算法基础-Floyd算法

在基于邻接矩阵的图利用floyd算法可以求出每一个定点对之间的最短距离。#include#include#include#define number 10#define MAX 999999int d[number][number];typedef struct node{ int info; //图的节点存放的信息,可随时变动}GraphNode;typedef str

2012-07-25 09:31:50 578

原创 一步一步复习数据结构和算法基础-LSD基数排序

#include#includetypedef struct node{ int data; struct node *next;}ListNode;typedef struct Array{ ListNode Node[10]; int length;}Array;Array List;void InitList(){ int i; for(i=0;i<10;i

2012-07-24 22:09:24 989

原创 数据结构期末作业-哈夫曼文件压缩

自己的大作业,做的很匆忙。本人文笔不好,只是希望我所写的可以为读者提供帮助哈夫曼文件压缩运行环境:vc++ 6.0 / vs2010主要算法:哈夫曼压缩注意:压缩的文本文件和解压缩之后的文本文件都要存放在vc++ 6.0 或者 vs2010 的工程文件夹下面原理:哈夫曼编码思想:①首先遍历要处理的文本文件,得到每个字符的出现的次数;②将每个字符(以其出现次数为权值)分别

2012-07-24 21:06:59 4517 4

原创 一步一步复习数据结构和算法基础-堆排序

//任何一个非终端结点的值都大于等于(或小于等于)它左右孩子的值//输出堆顶的最小值之后,使得剩余n-1个元素的序列重又建成一个堆,则得到n个元素中的次小值。//如此反复执行,便能得到一个有序序列.#include void shift(int a[],int i,int m){ int k,t; t=a[i];k=2*i+1; while(k<m) { if((k<m-1)

2012-07-24 20:58:17 688

原创 一步一步复习数据结构和算法基础-快速排序

#include #include int QuickPass(int *array,int low,int high){ //pivotkey记录枢轴的关键字 //low 和 high 是指示指针 //经过一次排序之后枢轴左边的元素小于枢轴,枢轴右边的元素大于枢轴 int pivotkey; *array = *(array+low); pivotkey = *(array+l

2012-07-24 18:43:00 533

原创 一步一步复习数据结构和算法基础-冒泡排序

对于长度为n的数组,循环n-1次,将大的数字”沉“到下面。可以得到递增的序列#include#includevoid BubbleSort(int *array,int length){ int i,k; int temp; for(i=1;i<length;i++) //length-1次循环 { for(k=1;k<=length-i;k++) //需要比较的次数

2012-07-24 14:11:20 441

原创 一步一步复习数据结构和算法基础-插入排序(2)

希尔排序:将整个待排记录分割为若干子序列,最后用直接插入排序。这样可以使关键字比较小的记录跳跃式向前移动。最后直接插入排序的时候数组以基本有序。#include#includeint list[4] = {7,5,3,1}; //增量表int t=4; //增量个数void ShellInsert(int *array,int length,int dk){ //和插

2012-07-24 10:43:34 494

原创 一步一步复习数据结构和算法基础-插入排序(1)

插入排序的种类有很多,首先是最简单的直接插入排序;直接插入排序:基本操作是将一个数据插入到已经排序好的数据里面;#include#includevoid InsertSort(int *array,int length){ int i,k; for(i=2;i<=length;i++) { if(*(array+i) < *(array+i-1)) { //*

2012-07-24 10:02:13 502

转载 一步一步复习数据结构和算法基础-哈希表的链地址表示

http://blog.csdn.net/flying0033/article/details/7063608散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 下面的哈希表函数使用了(除留

2012-07-23 20:03:22 807

原创 一步一步复习数据结构和算法基础-二叉排序树

在二叉排序树中,大于根节点的数字是其右子树,小于根节点的数字是其左子树,等于根节点的情况,暂时不考虑。操作:插入、删除、遍历。#include #include typedef struct tree{ int data; struct tree *lchild,*rchild;}BSTree,*ptree;int SearchBST(ptree T,int ke

2012-07-23 19:15:07 669

原创 一步一步复习数据结构和算法基础-索引顺序表查找

//顺序索引表适合“分块有序”的情况//从第一个子表的关键字开始,向后依次递增;//22 12 13 8 9 20 33 42 44 38 24 48 60 58 74 49 86 53 101 33//以6为分块//每个子表的最大数字为 22 48 86 101 即分块递增#include#include#define N 10#define MAX -1//索引表的数据结构

2012-07-23 17:43:53 1007

转载 一步一步复习数据结构和算法基础-斐波那契查找法

view plaincopyprint?/*斐波那契查找法,前提是线性表必须有序,时间复杂度是O(logn)*/  #include    const int MAXSIZE = 20;    int Fibonacci_Search(int *a, int n, int key);    /*用非递归法构造一个斐波那契数组*/  voi

2012-07-23 10:13:06 2140 1

原创 一步一步复习数据结构和算法基础-顺序查找+二分查找

顺序查找和二分查找可以说是查找里面最容易写的算法了:顺序查找:#include#include//顺序查找-从后向前int Search(int *digit,int length,int k){ int pos; digit[0]=k; //如果查找不成功返回0 for(pos=length;pos>=1;pos--) if(*((digit)+pos) == k

2012-07-23 09:32:42 637

原创 一步一步复习数据结构和算法基础--kruskal算法

MST--krukal  kruakal算法和prim算法相比理解起来比较容易,而且也容易编程实现。kruskal算法的是选择最小权值的边来构造最小生成树,当然要防止在构造最小生成树的时候形成环,这个可以通过并查集来实现。1、对所有的边按照权值升序排列。2、从权值最小的边开始选择,加入到边集合的数组中。同时处理并查集数组。3、依次选择其他边,如果选择的边在并查集中属

2012-07-22 21:42:26 531

原创 一步一步复习数据结构和算法基础-prim算法(最小生成树)

#include#include#include#define number 20#define MAX 99999typedef struct node{ int info; //图的节点存放的信息,可随时变动}GraphNode;typedef struct{ GraphNode matrix[number+1][number+1]; //构造邻接矩阵 int ve

2012-07-22 17:18:17 523

转载 图--邻接表(建立、深搜、广搜)

博客地址:http://blog.csdn.net/akof1314/article/details/4388722/************************************************************************//* 图的邻接表存储结构

2012-07-22 10:17:15 2899

原创 一步一步复习数据结构和算法基础-广度优先搜索

和深搜不同,广搜在访问一个节点之后会访问这个节点周围的所有节点然后扩散出去:这里要用到队列,所以把先前的队列代码直接拿来就用。。。#include#include#include#define number 20typedef int QElemType;typedef int Status;typedef struct node{ int info; //图的节点

2012-07-21 21:54:24 558

原创 一步一步复习数据结构和算法基础-链式队列

真是无语,自己写好的队列的代码居然搁置了这么长的时间,拿出来晒一晒把:#include #include typedef int QElemType;typedef int Status;typedef struct QNode{ QElemType data; struct QNode *next;}QNode,*QueuePtr;typedef struct {

2012-07-21 21:39:38 581

原创 一步一步复习数据结构和算法基础-深度优先搜索

以下图为例进行深搜:我们以无向图为例由于深度搜索的结果不唯一,我们以 1 为初始搜索顶点,得出的结果是1 2 4 5 6 7 3 8程序如下:#include#include#include#define number 20typedef struct node{ int info; //图的节点存放的信息,可随时变动}GraphNode;type

2012-07-21 21:33:03 597

原创 一步一步复习数据结构和算法基础-图的创建和基本操作(邻接矩阵)

邻接矩阵写起来还是比较简单的。。。。。。#include#include#include#define number 20typedef struct node{ int info; //图的节点存放的信息,可随时变动}GraphNode;typedef struct{ GraphNode matrix[number+1][number+1]; //构造邻接矩阵 in

2012-07-21 19:41:41 855

android 程序开发源代码

android程序开发学习的基本源代码,介绍了android中的大部分基本功能

2013-08-05

android toast and notification完整代码

android toast and notification练习代码

2013-07-23

android Notification联系

android Toast and Notification完整代码(练习用)

2013-07-23

Android Toast练习

Toast和Notification的练习代码,这一段代码没有Notification,只有Toast。

2013-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除