科大讯飞2014届实习生招聘笔试题

说明:考试时间为60分钟。 题目是笔者刚考完回忆起来的,答案也只是笔者的一些见解,有不对的地方望大家指教。

1. 已知二叉树的前序遍历为ABCDEFGHIJ,中序遍历为CBEDAHGIJF,请画出其二叉树结构。



2.求一个整数数组的最大元素,用递归方法实现。

#include <iostream>  
#include <cmath>  
using namespace std;  
  
int maxnum(int a[], int n)  
{  
    if(n == 1)  
        return a[0];  
    if(n>1)  
    {  
        return max(a[0], maxnum(a+1,n-1));  
    }  
}  
int main()  
{  
    int num[10] = {0,1,2,3,4,5,6,7,8,9};  
    cout<<maxnum(num,10)<<endl;  
    return 0;  
}


3.什么是虚拟存储器?虚拟存储器的特点是什么?

虚拟存储器:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。
特点:多次性、对换性、虚拟性。
    多次性是指一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
    对换性是指允许在作业的运行过程中进行换进、换出,亦即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外村的对换区(换出),待以后需要时再将它们从外存调至内存(换进)。
    虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。
4.什么是this指针?其主要功能是什么?        this指针是类的一个自动生成、自动隐藏的私有成员,它存在于类的非静态成员函数中,指向被调用函数所在的对象的地址。全局仅有一个this指针,当一个对象被创建时,this指针就指向对象数据的首地址。        一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;另外一种情况是当参数与成员变量名相同时使用this指针,如this->n = n (不能写成n = n)。
5.C++程序运行时有哪些常见的错误?解决方法是什么?

6.在网络传输超大的文件(比如2G以上的文件),你的解决方案是什么?

7.写出字符串类的必备构造函数和赋值运算符重载的实现方法。

8.已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。

void partition(int A[], int n)  
{  
    int x;  
    int i = 0;  
    int j = n-1;  
    while(i != j)  
    {  
        while( a[i]%2 == 1)  
            i++;  
        while (a[j]%2 == 0)  
            j++;  
        if(i < j)  
        {  
            x = a[i];  
            a[i] = a[j];  
            a[j] = x;  
        }  
    }  
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值