腾讯c++开发一面面经

1.说一下快排的思路:
分为三步:
  • 确定分界点(左端点,右端点,中间断点);
  • 调整区间(小于选定数放左边,大于选定数放右边);
  • 递归处理左右两个区间;
最坏的时间复杂度O(n2),平均时间复杂度O(nlogn);
代码如下:
# include <iostream>
# include <algorithm>
using namespace std;

const int N = 1e6 + 10;

int n;
int q[N];

void quick_sort(int q[], int l, int r)
{
    if( l >= r) return;
    int mid = q[l + r >> 1], i = l - 1, j = r + 1;
    while(i < j)
    {
        do i++; while(q[i] < mid);
        do j--; while(q[j] > mid);
        if(i < j) swap(q[i], q[j]);
    }
    quick_sort(q, l, j);
    quick_sort(q, j + 1, r);
}
int main()
{
    scanf("%d", &n);
    for(int i = 0; i < n; i++) scanf("%d", &q[i]);
    quick_sort(q, 0, n - 1);
    for(int i = 0; i < n; i++) printf("%d ", q[i]);
    return 0;
}

堆排序:用一维数组执行down()函数建堆,每次用末尾元素挤出堆顶元素
代码如下:
# include <iostream>
# include <algorithm>
using namespace std;

const int N = 1e5 + 10;

int n, m;
int h[N], sizen;

void down(int u)
{
    int t = u;
    if( 2 * u <= sizen && h[2* u] < h[t]) t = 2 * u;
    if(2 * u + 1 <= sizen && h[2 * u + 1] < h[t]) t = 2 * u + 1;
    if(u != t)
    {
        swap(h[t], h[u]);
        down(t);
    }
    
}
int main()
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++) scanf("%d", &h[i]);
    sizen = n;
    for(int i = sizen / 2; i > 0; i--) down(i);
    while(m--)
    {
        printf("%d ", h[1]);
        h[1] = h[sizen--];
        down(1);
    }
    return 0;
    
}
2.bfs的递归实现算法
3.动态链接库的原理
4.c++编译运行的过程,python编译过程,为什么是解释性语言
5.讲一讲进程池和线程池,如何实现服务器的多线程
6.tcp和udp的区别
7.tcp是百分百可靠的吗,如何实现udp的可靠传输

#面经##腾讯##C++工程师#
全部评论
这个代码风格,,老哥也看过y总的基础课?面试的时候有让分析算法的复杂度吗?
2 回复 分享
发布于 2021-03-02 23:49
老哥啥时候投的啊,怎么这么快就面试了啊😥,羡慕
点赞 回复 分享
发布于 2021-03-01 22:29
楼主哪个部门?
点赞 回复 分享
发布于 2021-03-01 23:48
楼主是社招么
点赞 回复 分享
发布于 2021-03-02 10:51
春招?
点赞 回复 分享
发布于 2021-03-02 13:16
bfs的递归实现算法,这个怎么实现呀?
点赞 回复 分享
发布于 2021-03-03 02:08

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
2
61
分享
正在热议
# 25届秋招总结 #
442570次浏览 4512人参与
# 春招别灰心,我们一人来一句鼓励 #
41986次浏览 533人参与
# 北方华创开奖 #
107435次浏览 599人参与
# 地方国企笔面经互助 #
7962次浏览 18人参与
# 同bg的你秋招战况如何? #
76743次浏览 563人参与
# 虾皮求职进展汇总 #
115613次浏览 886人参与
# 阿里云管培生offer #
120257次浏览 2220人参与
# 实习,投递多份简历没人回复怎么办 #
2454714次浏览 34857人参与
# 实习必须要去大厂吗? #
55775次浏览 961人参与
# 提前批简历挂麻了怎么办 #
149906次浏览 1977人参与
# 投递实习岗位前的准备 #
1195950次浏览 18549人参与
# 你投递的公司有几家约面了? #
33206次浏览 188人参与
# 双非本科求职如何逆袭 #
662248次浏览 7397人参与
# 如果公司给你放一天假,你会怎么度过? #
4757次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157635次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11584次浏览 287人参与
# 发工资后,你做的第一件事是什么 #
12734次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35815次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20133次浏览 240人参与
# 我的上岸简历长这样 #
452024次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39303次浏览 314人参与
# 非技术岗是怎么找实习的 #
155868次浏览 2120人参与
牛客网
牛客企业服务