考研
年少却很低调
云淡风轻,都是一场梦!
展开
-
三维迷宫问题
思想:与二位迷宫问题处理思想类似,基于一点向空间6个方向进行扩展,通过广度优先搜索来取到最短路径。(下面一图可以清楚解释为什么要用广度优先搜索) 通过该图可以清楚的知道,迷宫的路径可能有多个,多条,广度优先总是从距离近到远进行遍历,所以可以达到搜索出最短路径。 /* 3维空间 迷宫问题 */ int go[][...原创 2019-02-27 21:07:44 · 1542 阅读 · 1 评论 -
武汉理工大学2019计算机考研专业课题目(回忆版)
简答题: 1.为什么线性表和数组而可以相互转化,写出线性表的定义(前几年考过了) 2.设有一个双端队列,元素的进队顺序是1,2,3,4求既不能由输入受限也布恩那个有输出受限得到的 3.求‘三路归并树’(要补0) 大题(一共4个,分值很大) 1。已知一个图的邻接表,通top排序的方法来输出top序列 2.调整平衡二叉树(这个题简单但是题目给了16单词,非常复杂),构造出平衡二叉树 3.构造广义表,...原创 2019-05-16 15:57:51 · 1572 阅读 · 2 评论 -
树的高度,宽度
//树的孩子兄弟结点定义 typedef struct CSNode { char data; CSNode *nextchild,*nextsibling; } CSNode,*CSTree; /* 树的一些递归算法一定要知道 */ //树的高度 int Height(CSTree bt) { int hl,hr; if(bt ==NULL)...原创 2019-05-16 15:55:17 · 672 阅读 · 0 评论 -
树常考的一些递归算法
//递归统计叶子结点 int leaf_count(Tree T) { if(T == NULL) return 0; if(T->lchild == NULL &&T->rchild == NULL)//叶子结点 return 1; return leaf_count(T->lchild)+leaf_...原创 2019-05-16 15:54:34 · 501 阅读 · 0 评论 -
判断是否为完全二叉树,平衡二叉树,二叉排序树
//完全二叉树 //判断是否为完全二叉树 //思想:采用层次遍历,将所有的结点入队(包括空结点),当遇见空结点时,查看其后面的结点是否有非空结点, //若有非结点,则不是完全二叉树 bool isComplete(Tree T) { queue<Tree> Q; Tree p; if(T == NULL) return true; ...原创 2019-05-16 15:53:48 · 1138 阅读 · 0 评论 -
基于后序遍历(非递归)的一些应用(输出最长路径上的结点,求 p,q最近的公共结点,在二叉树中查找值为x的结点,打印x结点的祖先等)
int maxSize = 1000; //这个是重点 //后序遍历非递归,tag标记实现 void postOrderTraverse_non_recursion3(Tree T) { int top = 0; int tag[maxSize];//tag标记该结点右分支是否被访问过,只有当该节点的右分支访问过了才能访问根节点 Tree p = T; Tree ...原创 2019-05-16 15:49:38 · 952 阅读 · 1 评论 -
图论(拓扑排序,检查图是否存在环)
#include<stdio.h> #include<algorithm> #include<queue> #include<stack> #include<iostream> using namespace std; #define maxSize 101 int INF = -2313; int MINF = 6666;//定义...原创 2019-03-10 15:38:38 · 308 阅读 · 0 评论 -
图论(最短路径,Dijkstra算法和Floyd算法)
#include<stdio.h> #include<algorithm> #include<queue> #include<stack> #include<iostream> using namespace std; #define maxSize 101 int INF = -2313; int MINF = 6666;//定义...原创 2019-03-10 15:36:41 · 445 阅读 · 0 评论 -
图论(最小生成树,Prim算法和Kruskal算法)
#include<stdio.h> #include<algorithm> #include<queue> #include<stack> #include<iostream> using namespace std; #define maxSize 101 int INF = -2313; int MINF = 6666;//定...原创 2019-03-10 15:35:34 · 859 阅读 · 0 评论 -
图论(DFS和BFS)
#include<stdio.h> #include<algorithm> #include<queue> #include<stack> #include<iostream> using namespace std; #define maxSize 101 int INF = -2313; int MINF = 6666;//定义...原创 2019-03-10 15:33:51 · 211 阅读 · 0 评论 -
今年暑假不AC?
Problem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以...原创 2019-02-25 20:28:30 · 323 阅读 · 0 评论 -
素数筛法
int prime[10001]; bool mark[10001]; char c[100];//临时存放 int primeSize; void init() { for(int i=0; i<=10000; i++) mark[i] = false; primeSize = 0; for(int i=2; i<=10000; i+...原创 2019-02-25 20:24:22 · 231 阅读 · 0 评论 -
求幂(二分求幂)
/* 二分求幂 */ int power2(int a,int b) { int result; int base;//切分基 if(b == 0) return 1; result = 1,base = a;//初始化最小单元 while(b) { if(b%2 != 0) r...原创 2019-02-25 20:23:09 · 247 阅读 · 0 评论 -
大数(大数的四则运算)
/* 大数计算(重点) */ //大数加法 struct bigInteger { int digit[1000]; int size; int sign;//标识正负 1为正,-1为负 void init() { for(int i=0; i<1000; i++) digit[i] = 0...原创 2019-02-25 20:21:58 · 1021 阅读 · 0 评论 -
进制转化(任意进制转化)
/* 任意进制转化 */ //任意m进制数转化为n进制 int main() { int m,n,temp,a,b; while(scanf("%d%d",&m,&n)!=EOF) { //要转化的数字 scanf("%s",str); a = 0; b = 1; in...原创 2019-02-25 20:19:50 · 195 阅读 · 0 评论 -
通过栈实现简单的四则运算(考研必看代码)
运算规则:计算机首先将计算式转换成后缀码的形式,通过后缀码计算出结果。 eg:2+3*4/6+5 = 9 首先将该算式转化成对应的后缀码形式:234*6/+5+ 1.转换规则:数字直接输出 2.碰到字符将符号入栈( 1.定义符号的优先级。 ...原创 2019-02-25 18:49:51 · 1022 阅读 · 0 评论 -
经典算法---骑士走棋盘
骑士走棋盘 #define SIZE 8 int possible(int board[][SIZE],int nexti[],int nextj[],int x,int y); int min_direction(int board[][SIZE],int nexti[],int nextj[],int count); bool travel(int board[][SIZE],i...原创 2019-05-16 15:59:49 · 575 阅读 · 0 评论