百度北京站2014研发笔试

1、OSI七层模型

2物理层

3数据链路层

4网络层

5传输层

6会话层

7表示层

8应用层


2、进程间数据共享的方式三种

文件映射

共享内存

信号

匿名管道

命名管道

邮件槽

剪贴板


3、TCP/UDP区别

4、打印数组的所有组合

#include <stdio.h>  

int n = 0;  

void swap(int *a, int *b) 
{     
    int m;     
    m = *a;     
    *a = *b;     
    *b = m; 
}  
void perm(int list[], int k, int m) 
{     
    int i;     
    if(k > m)     
    {          
        for(i = 0; i <= m; i++)             
            printf("%d ", list[i]);         
        printf(" ");         
        n++;     
    }     
    else     
    {         
        for(i = k; i <= m; i++)         
        {             
            swap(&list[k], &list[i]);             
            perm(list, k + 1, m);             
            swap(&list[k], &list[i]);         
        }     
    } 
} 
int main() 
{     
    int list[] = {1, 2, 3, 4, 5};     
    perm(list, 0, 4);     
    printf("total:%d ", n);     
    return 0; 
}  


二进制

首先,把数组每一个元素用一个二进位表示,例如:

A B C D E
1 1 1 1 1 ---> 于是它最多有11111(二进制)种不重复组合(即31种)(不考虑顺序--按楼主要求)

于是,只要检查从1到31这些数字的二进位哪些是二进制值1,就可以得出组合了。(位值为1的元素选取,位值为0的元素弃之)

(转自网络)

5、二叉树的面积

深度优先搜索,广度优先搜索的实现

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define  TRUE        1
#define  FLASE       0
#define  OK          1
#define  ERROR       0
#define  INFEASIBLE -1
#define  OVERFLOW   -2
typedef int Status;

typedef int TElemType;
typedef struct BiTNode
{
 TElemType data;
 struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;

Status CreateBiTree(BiTree &T)
{
 TElemType e;
 scanf("%d",&e);
 if(e==0)  T=NULL;
 else 
 {
  T=(BiTree)malloc(sizeof(BiTNode));
  if(!T)
   exit(OVERFLOW);
  T->data =e;
  CreateBiTree(T->lchild );
  CreateBiTree(T->rchild );
 }
 return OK;
}

int max(int a[])
{
 int max,i;
 max=a[0];
 for(i=1;i<20;i++)
 {
  if(max<a[i])
   max=a[i];
 }
 return max;
}

int BiTreeWidth (BiTree T)
{
 if(T==NULL)
  return 0;
 else
 {
  static int a[20]={0};
  static int i=0;
  a[i]++;
  i++;
  BiTreeWidth (T->lchild );
  if(T->lchild ==NULL)
   i--;
  BiTreeWidth (T->rchild  );
  if(T->rchild ==NULL)
   i--;
  return max(a);
 }
}



另附:

二叉树高度、宽度、结点个数、叶子结点个数


转自网络未经测试
实现二叉树宽度递归算法~
#include <iostream>
using namespace std;
typedef struct node
{
char data;
int lab;
struct node *lchild;
struct node *rchild;
}btree;
int m=0;
void ct(btree *&b,char *str)
{
btree *st[99],*p=NULL;
int top=-1,k,j=0;
char ch;
b=NULL;
ch=str[j];
while(ch!='\0')
{
   switch(ch)
   {
   case '(':top++;st[top]=p;k=1;break;
   case ')':top--;break;
   case ',':k=2;break;
   default:p=(btree *)malloc(sizeof(btree));
    p->data=ch;
    p->lchild=p->rchild=NULL;
    if(b==NULL)
     b=p;
    else
    {
     switch(k)
     {
     case 1:st[top]->lchild=p;break;
     case 2:st[top]->rchild=p;break;
     }
    }
   }
   j++;
   ch=str[j]; 
}
}
void outbt(btree *b)
{
if(b!=NULL)
{
   cout<<b->data;
   outbt(b->lchild);
   outbt(b->rchild);
}
}
btree *findchild(btree *b,char x)
{
btree *p;
if(b==NULL)
{
   return NULL;
}
else
   if(b->data==x)
   {
    cout<<"找到结点"<<x<<"!"<<endl;
    if(b->lchild==NULL)
     cout<<"左节点为空!"<<endl;
    else
     cout<<"左孩子为:"<<b->lchild->data<<endl;
    if(b->rchild==NULL)
     cout<<"右孩子为空!"<<endl;
    else
     cout<<"右孩子为:"<<b->rchild->data<<endl;
    return b;
   }
   else
   {
    p=findchild(b->lchild,x);
    if(p!=NULL)
     return p;
    else
     return findchild(b->rchild,x);
   }
}
int btreeheight(btree *b)
{
int lchildh,rchildh;
if(b==NULL)
   return(0);
else
{
   lchildh=btreeheight(b->lchild);
   rchildh=btreeheight(b->rchild);
   return(lchildh>rchildh?(lchildh+1):(rchildh+1));
}
}
int i=-1,a[20];
void btreewide(btree *b)
{
if(b!=NULL)
{
   if(b->lchild!=NULL)
   {
    i++;
    b->lchild->lab=b->lab+1;
    a[i]=b->lab+1;
   }
   if(b->rchild!=NULL)
   {
    i++;
    b->rchild->lab=b->lab+1;
    a[i]=b->lab+1;
   }
   btreewide(b->lchild);
   btreewide(b->rchild);
}
}
void vernum(btree *b)
{
if(b!=NULL)
{
   m++;
   vernum(b->lchild);
   vernum(b->rchild);
}
}
int leafver(btree *b)
{ 
    if(b==NULL)
   return 0;
    else 
   if(b->lchild==NULL&&b->rchild==NULL)
    return 1;
        else 
    return leafver(b->lchild)+leafver(b->rchild); 
}
void main()
{
char *s;
s="A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))";
btree *bt;
cout<<"将要创建的二叉树:"<<endl<<s<<endl;
ct(bt,s);
cout<<"输出二叉树:"<<endl;
outbt(bt);
cout<<endl;
cout<<"H结点左右孩子结点值:"<<endl;
findchild(bt,'H');
cout<<"二叉树的深度:"<<btreeheight(bt)<<endl;
vernum(bt);
cout<<"二叉树结点个数:"<<m<<endl;
cout<<"二叉树叶子结点个数:"<<leafver(bt)<<endl;
bt->lab=1;
btreewide(bt);
int j,k,num,max=0;
for(j=1;j<=i+1;j++)
{
   num=0;
   for(k=0;k<=i;k++)
    if(a[k]==j)
     num++;
   if(max<num)
   {
    max=num;
   }
}
cout<<"二叉树宽度为:"<<max<<endl;
}


6、地图的点的文字位置的确定

1、扫描点附近的矩形邻域内是否为空

2改进:搜索算法


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值