
算法
散落一地的蓝
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
各种排序
1.直接插入排序 时间复杂度O(N^2),空间复杂度O(1),是一种稳定的排序方法。 #include //a[0]为哨兵,将1.....n排序 void InsertSort(int a[],int n) { int i,j; for(i=2;i<=n;i++)原创 2011-10-12 16:32:01 · 383 阅读 · 0 评论 -
2011华中科技大学研究生复试机试之二
2 (1)输入任意n个整数,并将其无冗余的放入数组中(n值不得事先确定,否则0分),然后输出这数组中的n个数。 (2)对该数组中的n个数进行排序并输出结果。 #include //memcpy头文件 #include //malloc头文件 #include int main() { int* p = (int*)malloc(sizeof(int)); int* q=NULL原创 2012-03-02 17:44:17 · 1539 阅读 · 7 评论 -
VC6.0编译MPI出现重定义问题
在VC环境下调试MPI程序,出现overriding virtual function的问题。 经验证,解决方式有以下三种,使用下面任何一种都可以解决。 i. 在包含文件”mpi.h”之前,加入下面的宏定义 #define MPICH_SKIP_MPICXX #if !defined MPICH_SKIP_MPICXX #include "mpicxx.h" #endif ii.转载 2012-10-17 20:20:11 · 654 阅读 · 0 评论 -
bit-map思想(位图)
今天彻底搞清楚位图了,下面通过一个例子介绍一下 问题: 将一个地区的电话号码排序,电话号码是7位。 解决方案: 申请一个9999999bit的空间,每个bit空间状态对应一个7位数字,比如000000.............000001对应数字0000000,0000000000......00000010对应数字0000002,以此类推。逐个扫描号码文件里的号码,将号码对应的bit空间原创 2012-09-10 12:25:03 · 419 阅读 · 0 评论 -
已知二叉树的前序和中序序列,要求写出后序 ,如果给的前序和中序序列是错误的,就要输出"NO ANSWER!"
#include #include #include #define LEN sizeof(struct node) typedef struct node{ char data; struct node* lchild,*rchild; }node ,*BT; BT CreatBT(char* pre,int fp,int rp,char* in,int fi,int ri) { int m=原创 2012-03-23 10:09:33 · 729 阅读 · 0 评论 -
2011华中科技大学研究生复试机试之三
1 (1)无冗余的接受键盘输入的n个字符串,并将其无冗余的放入对应的字符数组中,再按照每行一串的格式输出这些字符串。 (2)以单个字符串为数据域,按字典顺序将n个字符串生成为一棵二叉搜索树,并且规定左子树(数据域)小于右子树(数据域)。 (3)先序遍历该二叉树,并输出结果。 #include #include #include typedef struct node{ ch原创 2012-03-19 14:22:08 · 1269 阅读 · 1 评论 -
约瑟夫环--数学方法实现
问题描述:n个人(编号0~(n-1)),从0开始报数,报到m-1的退出,剩下的人继续从0开始报数。求胜利者的编号。#include int main(void) { int n, m, i, s=0; printf ("N M = "); scanf("%d%d", &n, &m); for (i=2; i<=n; i++) s=(s+m)%i; printf ("The原创 2012-03-16 21:18:12 · 342 阅读 · 0 评论 -
判断出栈顺序
比如入栈顺序是1 2 3 4;则出栈顺序4 3 2 1,1 4 3 2而1 4 2 3就不是 输入:一个整数,然后输入一个入站序列 输出:如果合法,输出yes;否则输出no 输入样例: 3 3 1 2 输出样例 no #include int main() { int n; int a[10]; int max; int t; int i; scanf("%d",原创 2012-03-12 15:53:39 · 758 阅读 · 0 评论 -
2011华中科技大学研究生复试机试之一
1 (1)从键盘输入一个文本(ASC2码文件),并将该文本输出到D盘根目录下的abc0.txt文件中,再关闭该文件,以Ctrl+Z(即eof)结束。 (2)打开D盘根目录下的abc0.txt文件,将单词之间两个以上的空格都压缩为一个空格,输出处理后的文本,同时将处理后的文本输出到D盘根目录下的abc1.txt文件中,并关闭该文件。 (3)打开D盘根目录下的abc1.txt文件,统计文件中原创 2012-03-02 15:53:25 · 1069 阅读 · 0 评论 -
回文数
问题描述:所谓回文数,即逆序和正序大小想通,例如12321,输入两个整数a,b,输出a,b之间的所有回文数输入:3 120输出: 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 101 111#include #include #include #define MAX 100 //判断一个字符串是否是回文 bool isP原创 2012-03-02 15:01:16 · 715 阅读 · 0 评论 -
八数码(BFS)
需要解决的问题 1.判断是否可达(错误了,任何节点都是可达的) 解决方法:判断逆序数,若两个序列逆序数的奇偶性相同,则可达,否则不可达。 2.BFS 解决方法:使用队列即可。 3.效率问题 解决方法:这个方法太暴力了,最好采用启发式的搜索,以后再写。 #include #include #include #include #include usin原创 2011-10-17 11:44:14 · 672 阅读 · 0 评论 -
快速排序
public class main { public static void main(String[] args) { // TODO Auto-generated method stub int[] inputs = new int[] { 1, 6, 2, 5, 8, 6, 9, 8, 7, 1, 2, 3, 5, 56, 5, 2 }; quickSort(input原创 2014-06-06 15:50:43 · 457 阅读 · 0 评论