摘要:
一、实验一 1、数组分割 描述 已知由n(n≥2)个正整数构成的集合A={ak}(0≤k<n),将其划分为两个不相交的子集A1和A2,元素个数分别是n1和n2,A1和A2中元素之和分别为S1和S2。设计一个尽可能高效的划分算法,满足|n1-n2|最小且|S1-S2|最大。 输入 多组数据,每组数据两 阅读全文
摘要:
1、前中后三种遍历 比如上图二叉树遍历结果 前序遍历:ABCDEFGHK 中序遍历:BDCAEHGKF 后序遍历:DCBHKGFEA 2、二叉树的创建 (1)按照先序遍历的顺序创建二叉链表 abcd00e00f00ig00h00int flag ,p;p=0; void Create(BiTree 阅读全文
摘要:
#include<iostream> #include<string> #include<cstring> using namespace std;//dfs int flag; int p[3]; int a[200][200]; void Dfs(int n,int m)//起点,终点 { if (n == m) { flag = 1; return; } for (int i = 0; i 阅读全文
摘要:
错误原因: 1、一开始循环弄错了,导致死循环 2、count没有加上引用符,还是导致死循环了 思路: 1、首先写一个子函数用来改变病毒字符串的顺序 2、flag标记是否有相同的 3、有过病毒字符串有连续几个和人的一样,但下一个不一样,需要一个tt来记住第一个i相等的时候,j的大小 阅读全文
摘要:
Ackermann函数的非递归求值 Ackermann函数的非递归求值 Ackermann函数的非递归求值 描述 已知Ackermann函数定义如下: 写出计算Ack(m,n)的非递归算法。 输入 多组数据,每组数据有一行,为两个整数m和n。当m和n都等于0时,输入结束。 输出 每组数据输出一行,为 阅读全文
摘要:
1、scanf函数(包含头文件#include <stdio.h>) scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。解决方法如下: 1)利用格式符“%[]”它的作用为扫描字符集合。S 阅读全文
摘要:
后缀表达式的特点如下: 1、后缀表达式的操作数与中缀表达式的操作数先后次序相同,而运算符的先后次序不同。 2、后缀表达式中没有括号,而且运算符没有优先级。 3、后缀表达式计算过程严格按照从左到右的顺序进行。 例如: 算术表达式a+(b-c)*d的后缀式是:abc-d*+ 在输入的时候出了问题: st 阅读全文
摘要:
错误原因: 1、没有考虑到运算符栈空的时候,运算符怎么push 2、当s[i]是运算符的时候,而且和p栈顶元素的优先级一样的话,怎么处理。 阅读全文
摘要:
?? 阅读全文
摘要:
#include<iostream> #define maxsize 100 using namespace std; struct CLqueue { int *Q; int front; int rear; int tag; }; typedef struct CLqueue *CL; void Init(CL &q) { q = new CLqueue; q->Q=new int[maxsi 阅读全文