如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
阿里巴巴校招软件笔试题经典写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。intMax(bitree*root){if(root==NULL)return0;else{if(root->data>max)max=root->data;Max(root->lchild);Max(root->rchild);}returnmax;}intMin(bitree*root){if(root==NULL)return0;else{if(root->data<min)min=root->data;M(root->lchild);M(root->rchild);}returnmin;}intmain(){bitree*root;root=creatbitree();printf("最大值与最小值之差为:\n");printf("%d",abs(Max(root)-Min(root)));return0;}2、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。#include"stdio.h"#include"string.h"#defineN100intGetMaxCommStr(char*s1,char*s2,char*s3)//s1、s2为要对比的俩个字符串,{//s3用来存储最大的公共字符串//char*s1=stra,*s2=strb;charlen1=strlen(s1);charlen2=strlen(s2);charmaxlen=0;chari,j,r1;for(i=0;i<len1;i++){for(j=0;j<len2;j++){if(s1[i]==s2[j])//找到了第一个相等的{charas=i,bs=j,count=1;//保存第一个相等的首地址while((as+1<len1)&&(bs+1<len2)&&(s1[++as]==s2[++bs]))//查找最大相等长度count++;if(count>maxlen)//如果大于最大长度则更新{maxlen=count;r1=i;//存储公共子字符串的起始位}}}}if(maxlen>0)//有公共子字符串{for(i=0;i<maxlen;i++){*(s3+i)=*(s1+i);}}returnmaxlen;}intmain(){chara[N]={0},b[N]={0},str[N]={0};printf("Entertwostring(thelength<100)!\n",N);scanf("%s%s",a,b);intmaxoflen=GetMaxCommStr(a,b,str);printf("maxoflengthis:%d\n",maxoflen);return0;}第一题:测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?