百度北京站2014研发笔试

2023-05-16

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改进:搜索算法


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

百度北京站2014研发笔试 的相关文章

  • idea中安装activity插件actibpm,文章中有下载链接

    我的个人网站 等不见天亮等时光 插件的安装路径有这么几种 从idea setting plugin 选择商店 在商店中直接输入actibpm 可以直接进行安装 由于网站的地址在国外 如果你没得梯子的话 中间肯定会安装失败 所以我建议在安装时
  • unrecognized command line option '-V' 解决方法

    xgcc error unrecognized command line option 39 V 39 xgcc fatal error no input files 真正的错误并不在这里 xff0c 而是在最后一个错误出现的地方 我遇到的
  • ROS教程译文1———TF转换树的设置和使用

    本文属于ROS翻译文章 xff0c 来自WIKI http wiki ros org navigation Tutorials RobotSetup TF 由于水平有限 xff0c 翻译错误在所难免 xff0c 发现错误欢迎评论或联系作者
  • TI Openmp clacc编译器讲解

    Data 2017 12 29 Author cjh Theme TI Openmp clacc编译器讲解 本章内容主要分四讲来讲 xff1a 一 clacc编译器的讲解 二 makefile的讲解 三 openmp target语法讲解
  • 第二讲 STM32相关底层配置(一)

    本文是针对stm32F1系列的一些基础部分的底层配置的流程的总结 主要包括了GPIO普通配置 GPIO复用配置 GPIO重映射配置及中断优先级管理 其中紫色部分为调用正点原子的SYSTEM文件夹里的函数来实现相应步骤 GPIO普通配置 1
  • RCP开发中,对当前字体名字的获得

    Display getCurrent getSystemFont getFontData 0 getName 这句话获得的是当前字体的名字
  • sql server 中OPENROWSET与OPENDATASOURCE的用法

    SELECT FROM OPENROWSET 39 sqloledb 1 39 39 mrp server 39 39 sa 39 39 123 39 DBdata dbo tbG gzzxzl SELECT a FROM OPENROWS
  • 【RP2物联网实战(一)】C/C++&FreeRTOS版

    写在前面 树莓派pico xff0c 又称为RP2 xff0c 其开发方式多种多样 xff0c 有C语言和micropython语言 xff0c 工具有cmake xff0c vscode xff0c arduino xff0c thonn
  • CAS 5.3使用MySQL数据库登录

    作者 xff1a 张永利 一 本例环境说明 JDK 1 8CAS 5 3apache maven 3 6 0mysql 5 6 32 二 CAS 5 3基础环境搭建与验证 需要按照 CAS 5 3服务器搭建 搭建好环境 xff0c 并使用系
  • JAVA底层常见面试题

    关于集合 1 Java中的集合及其继承关系 关于集合的体系是每个人都应该烂熟于心的 尤其是对我们经常使用的List Map的原理更该如此 2 poll 方法和remove 方法区别 xff1f poll 和 remove 都是从队列中取出一
  • Realsense D435i 深度图优化_高精度模式

    目录 1 Intel RealSense Viewer中高精度预设 2 深度图优化 1 Intel RealSense Viewer中高精度预设 1 打开Intel RealSense Viewer 2 Preset gt High Acc
  • 知乎登录出现Miss argument grant_type 无法成功登录解决方法

    知乎的模拟登录 xff0c 出现Miss argument grant type 无法成功登录 根据网上的说法 需要进行chrome版本降级 要使用用Chrome 60版本 chromedriver2 3 1 chrome浏览器降到60版本
  • Cant Find Compiler Executable In Your Configured Search Path"的解决方法

    今天因为课后作业要使用C语言编程 xff0c 所以装了心爱的codeBlocks 无奈打开使用的时候却弹出 Cant Find Compiler Executable In Your Configured Search Path 的错误 导
  • 解决野火iMX6ULL-wifi连接问题

    这里主要解决的是野火的linux EBF6ULL S1 pro板子的AP6212wifi 模块无法顺利连接wifi的问题 按照视频里面说的进行操作 xff0c 未能顺利连接wifi 解决这个问题要注意下面几个问题 pro板子目前我知道可能分
  • tail命令详解

    tail命令 用途 xff1a 显示文件的最后几行 标准语法 xff1a tail f c Number n Number m Number b Number k Number file 逆序显示行 xff1a tail r n Numbe
  • 历史上消失的那 10 天去哪了?

    如果你查过万年历 xff0c 会发现1582年10月居然少了10天 xff01 http wannianli fkcha com year 1582 month 10 html Linux上有个cal命令可以查日历 xff0c 如果你查过1
  • 这些年,那些我们一起读过的代码

    刚毕业不久 xff0c 工作经验吧 xff0c 谈不上 xff0c 不过书架上那些东东还是能拿出来分享一下下的 xff1a 工作性质吧 xff0c 先就说下快速桌面应用开发工具之delphi吧 xff1a 1 delphi 6 开发人员指南
  • C++码农要读的经典

    刚大四 xff0c 还在忙着找工作 xff0c 读过的书不是很多 xff0c 还有一些好书在读 xff0c 还有一些书将来必读 C语言程序设计 谭浩强版本 这个版本一致被人说误导子弟 xff0c 当然还有很多人推崇 我觉得这本书不是什么好书
  • 大数据分析学习第六课 使用Java语言开发MapReduce实战

    我们知道 xff0c 从Hadoop官网下载的部署包里 xff0c 提供了不少jar包示例 xff0c 但是我们不了解内部的实现逻辑 xff0c 今天我就给大家介绍下 xff0c 在java开发环境下怎么实现一个MapReduce redu
  • 手机上有哪些不错的c语言编程软件?

    手机上编程C语言的软件其实非常多 xff0c 下面我介绍2个不错的软件 xff0c 分别是C语言编译器和C 43 43 编译器 xff0c 这2个软件都可以在手机上直接编译运行C语言程序 xff0c 而且使用起来非常不错 xff0c 下面我

随机推荐