算法
散落一地的蓝
这个作者很懒,什么都没留下…
展开
-
各种排序
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 · 349 阅读 · 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 · 1503 阅读 · 7 评论 -
VC6.0编译MPI出现重定义问题
在VC环境下调试MPI程序,出现overriding virtual function的问题。经验证,解决方式有以下三种,使用下面任何一种都可以解决。i. 在包含文件”mpi.h”之前,加入下面的宏定义#define MPICH_SKIP_MPICXX#if !defined MPICH_SKIP_MPICXX#include "mpicxx.h"#endifii.转载 2012-10-17 20:20:11 · 597 阅读 · 0 评论 -
bit-map思想(位图)
今天彻底搞清楚位图了,下面通过一个例子介绍一下问题:将一个地区的电话号码排序,电话号码是7位。解决方案:申请一个9999999bit的空间,每个bit空间状态对应一个7位数字,比如000000.............000001对应数字0000000,0000000000......00000010对应数字0000002,以此类推。逐个扫描号码文件里的号码,将号码对应的bit空间原创 2012-09-10 12:25:03 · 377 阅读 · 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 · 687 阅读 · 0 评论 -
2011华中科技大学研究生复试机试之三
1 (1)无冗余的接受键盘输入的n个字符串,并将其无冗余的放入对应的字符数组中,再按照每行一串的格式输出这些字符串。(2)以单个字符串为数据域,按字典顺序将n个字符串生成为一棵二叉搜索树,并且规定左子树(数据域)小于右子树(数据域)。(3)先序遍历该二叉树,并输出结果。#include #include #include typedef struct node{ ch原创 2012-03-19 14:22:08 · 1225 阅读 · 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 · 310 阅读 · 0 评论 -
判断出栈顺序
比如入栈顺序是1 2 3 4;则出栈顺序4 3 2 1,1 4 3 2而1 4 2 3就不是输入:一个整数,然后输入一个入站序列输出:如果合法,输出yes;否则输出no输入样例:33 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 · 709 阅读 · 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 · 1029 阅读 · 0 评论 -
回文数
问题描述:所谓回文数,即逆序和正序大小想通,例如12321,输入两个整数a,b,输出a,b之间的所有回文数输入:3 120输出:3456789112233445566778899101111#include #include #include #define MAX 100//判断一个字符串是否是回文bool isP原创 2012-03-02 15:01:16 · 663 阅读 · 0 评论 -
八数码(BFS)
需要解决的问题1.判断是否可达(错误了,任何节点都是可达的) 解决方法:判断逆序数,若两个序列逆序数的奇偶性相同,则可达,否则不可达。2.BFS 解决方法:使用队列即可。3.效率问题 解决方法:这个方法太暴力了,最好采用启发式的搜索,以后再写。#include #include #include #include #include usin原创 2011-10-17 11:44:14 · 615 阅读 · 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 · 419 阅读 · 0 评论