嵌入式面经大全(21/30)--常见算法(五)

牛客高级系列专栏:





简介

本人2020年本硕毕业于广东工业大学:嵌入式许乔丹,牛客高级专栏作者,牛客大学讲师,本科阶段搞了4年单片机、曾参加全国大学生恩智浦汽车竞赛,发表4个硬件专利。研究生阶段找了嵌入式linux的实习,毕业后拿到珠海格力,云从科技,CVTE,小米,美的,华为的嵌入式offer,签约CVTE嵌入式岗位。

在CVTE先后做过嵌入式Linux开发和安卓系统开发,参与过TV板卡、显示屏板卡、智能家居板卡、希沃网课学习机的开发。欢迎交流嵌入式或者安卓哈!

正文开始⬇️

第四章 常见算法

4.1 排序算法 (本文讲 4.2.5-4.2.8)

4.1.1各种排序算法的时间空间复杂度、稳定性⭐⭐⭐⭐⭐

4.1.2各种排序算法什么时候有最好情况、最坏情况(尤其是快排) ⭐⭐⭐⭐

4.1.3冒泡排序⭐⭐⭐⭐

4.1.4选择排序⭐⭐⭐⭐

4.1.5插入排序⭐⭐⭐⭐

4.1.6希尔排序⭐⭐⭐⭐

4.1.7归并排序⭐⭐⭐⭐

4.1.8快速排序⭐⭐⭐⭐⭐

4.1.9快排的partition函数与归并的Merge函数⭐⭐⭐

⭐⭐⭐

4.2 STL库相关

4.2.1 vector list异同⭐⭐⭐⭐⭐

4.2.2 vector内存是怎么增长的vector的底层实现⭐⭐

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式/C++面试题解析大全 文章被收录于专栏

#承诺提供免费技术答疑# 该专栏是我校招阶段整理的关于“嵌入式面经”的111道题目,“C/C++软件开发岗位”也可以参考下。涵盖了大多数嵌入式/软件开发岗位常见基础面试题,题目来源是牛客网各大大厂的面经,答案是我逐个查阅资料,是嵌入式面试最常见的题目和答案。订阅即赠送简历模板、超大笔试面试真题大礼包、内推机会,需要的同学点击我头像私信即可!

全部评论
有一些我理解不清楚的,我自己又百度了一下,留下参考网址方便自己后面再看,也给大家提供多一些参考: 1、deque底层实现:https://blog.csdn.net/yl_puyu/article/details/103361874 2、priority_queue底层实现:http://c.biancheng.net/view/7010.html(优先级队列的实现,这是一个配接器而不是一个容器,它默认以vector为底层容器,通过heap调用相关算法,维持底层容器中的元素保持堆的特性)
2 回复 分享
发布于 2020-07-20 23:03
楼主你4 5 6的解释有问题,5是错的,4和6解释不够全面,以下请参考:queue先进先出队列只能用list和deque来实现(默认deque),因为它是一端入队,另一端出队,queue容器适配器需要支持empty() size() front() back() push_back() pop_front()这6个成员函数,vector容器不支持pop_front()成员函数所以不能作为queue的底层实现。 对于4 stack容器适配器:vector list queue都可以作为stack的底层实现,因为三者都支持:empty() size() back() push_back() pop_back()这五种成员函数,只是执行效率的高低的区别,默认deque 对于5 priority_queue优先队列容器适配器:只能用vector和deque作为其底层实现,除了优先队列需要:empty() size() front() push_back() pop_back()这5种成员函数支持外,它底层需要随机访问迭代器来快速堆排序,而list只支持双向访问迭代器,故list不能作为priority_queue底层实现。 详情可见该网站:http://c.biancheng.net/view/6967.html
2 回复 分享
发布于 2022-02-19 19:25
正在学习,资料很全,非常好!
点赞 回复 分享
发布于 2020-06-05 13:21

相关推荐

点赞 评论 收藏
分享
评论
6
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务