自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 c++快排、堆排及归并排序 简单易懂的实现

归并排序归并排序实现的原理是分治思想,先自顶向下分(递归),分到不能再分之后(每个分组只剩一个元素),再自底向上进行合并(递归返回),每次合并是直接在原数组上修改的,但修改之前需要用一个临时数组来记录合并过程中得到的有序元素。时间复杂度:平均 O(n logn),每层耗时O(n),一共 logn 层空间复杂度:O(n)代码如下:#include <iostream>#include <vector>#include <ctime>#define NUM 1

2020-06-25 14:58:36 520

原创 腾讯暑期实习一面面经

腾讯暑期实习一面面经面的是腾讯音乐部门,全民K歌下面做 linux C++开发的,全程大概45min左右,过程记录如下:1. linux 指令有用过吗?常用的查看文件指令: cat 、 tac 、more 、less 、 head 、 tail查看空闲和已用内存大小的指令: free 不带选项默认是以KB为单位 free -m 以MB为单位,同样适用于 -b(B为单位) 、 -g(GB为单位) 、 -tera(TB为单位)查看系统中进程及资源的使用情况: top top

2020-05-18 14:36:08 402

原创 括号序列

括号序列题目描述一个合法的圆括号表达式满足以下条件:“”空字符串被认为是合法的。如果字符串“X”与“Y”是合法的,则“XY”也被认为是合法的。如果字符串“X”是合法的,则“(X)”也是合法的。例如,“”,“()”,“()()”,“(())”这些都是合法的。现在给出两个不保证合法的由圆括号组成的字符串,你需要交错这两个圆括号序列(在组成的新字符串中,每个初始字符串都保持原来的顺序)...

2020-05-07 21:00:23 1252

原创 二叉树的中序遍历

二叉树的中序遍历题目描述给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?1. 递归实现递归实现非常简单,中序遍历是按照左根右的顺序访问,因此只要在中间过程将结果记录到结果数组即可,代码如下:/** * Definit...

2020-05-05 20:37:11 235

原创 C++归并排序简单易懂的实现

归并排序实现的原理是分治思想,先自顶向下分(递归),分到不能再分之后(每个分组只剩一个元素),再自底向上进行合并(递归返回),每次合并是直接在原数组上修改的,但修改之前需要用一个临时数组来记录合并过程中得到的有序元素。时间复杂度:O(n logn),每层耗时O(n),一共logn层空间复杂度:O(n)代码如下:#include <iostream>#include ...

2020-04-29 06:32:40 315

原创 C++快速排序的简单实现(包含两种基准值取值方法)

提供了两种基准值的取值方法:1. 随机选取元素作为基准值2. 区间的左中右三端三个数,取其中值作为基准值代码如下:#include <iostream>#include <random>#include <vector>#include <ctime>#include <cstdlib>#define ...

2020-04-28 19:00:53 737

原创 C++11智能指针shared_ptr的实现思路(内附实现和测试代码)

由于面试的时候被问到过几次智能指针,所以闲下来打算从头理一遍智能指针的实现思路,自己实现一个shared_ptr,也能够更好地理解智能指针。智能指针说白了就是用类把指针封装起来,这样就不必担心内存泄漏的问题了,因为类的对象在出作用域的时候会自动调用析构函数。因此智能指针要具备指针的基本功能:首先要有一个T类型的指针,用于封装实际的指针(初始化);其次一定要有一个int型指针,用于引用计数...

2020-04-28 13:45:30 736

原创 HTTPS相关总结(内有SSL四次握手连接的详细过程)

HTTPS = HTTP+ 加密 + 认证 + 完整性保护HTTPS 并非是应用层的一种新协议。 只是 HTTP 通信接口部分用SSL(Secure Socket Layer) 和 TLS(Transport Layer Security) 协议代替而已;通常, HTTP 直接和 TCP 通信。 当使用 SSL时, 则演变成先和 SSL通信, 再由 SSL和 TCP 通信了。 简言之, 所...

2020-04-28 00:40:32 6077 1

原创 字节跳动客户端实习一面面经

很不幸,由于太菜,上次三面完挂了,这次又投了个部门,一面过程如下:1. 简单介绍下实验室项目,对比下NDN和CDN,NDN中网络交付的时候用的什么协议2. TCP、HTTP协议分别位于什么层,HTTP中的网络交付过程3. 打开一个网页的过程,Web服务器怎么知道你要请求的文件在哪?这个问题还是为了引导解决上一个问题,主要是URL解析出路径4. TCP和UDP区别5. TCP...

2020-04-14 17:01:34 725

原创 C++贪吃蛇代码的阅读笔记(三):Map地图的绘制

这个类的实现比较简单,只绘制了一个最简单的地图,然后提供一个 PrintInitmap() 函数打印地图,直接放代码:1. 头文件#ifndef MAP_H#define MAP_H#include <vector>#include "point.h"class Map{public: Map()//默认构造函数,将正方形各点压入initmap ...

2020-03-28 15:06:19 736

原创 C++贪吃蛇代码的阅读笔记(二):Startinterface开始动画的实现

1. 头文件point.h#ifndef POINT_H#define POINT_Hclass Point{public: Point(){} Point(const int x, const int y) : x(x), y(y) {} void Print(); void PrintCircular(); void Clear(); ...

2020-03-27 22:48:51 1551 2

原创 C++贪吃蛇代码的阅读笔记(一):tools及point

1.system()指令的使用首先必须包含在头文件里:#include <cstdlib>system("titleC++"); //设置cmd窗口标题为C++system("color 0B"); //设置颜色,0代表背景色,B代表前景色system("date /t"); //打印当前日期system("time /t"); ...

2020-03-27 22:21:04 1324

原创 快排和归并排序哪个更快

在看算法图解的过程中,看到书中说时间复杂度同为O(nlogn),快排比归并排序快的原因是快排查找的常量要比归并小。因为这样,在C++中快排要比归并排序更快,但其实在java中恰恰相反,移动(赋值)一般比较快。

2020-03-19 13:36:39 5418 3

原创 字节跳动客户端实习二三面

下午刚面完二三轮,来补一波。二面(80min)1.首先自我介绍没什么好说的2.简历上写的语言是C/C++/Python,先讲一下这三种语言的区别吧其实就是面向过程、面向对象和解释性语言的区别,由于一面问过面向过程和面向对象的区别以及各自的应用场景,因此后来专门查了一下,信誓旦旦地讲完了,结果面试官来了句你讲的这不是根本上的区别,最根本的区别是什么?我懵逼表示没有深入地思考过,...

2020-03-13 22:25:46 1393

原创 字节跳动客户端实习一轮面试

刚面完第一轮,先记一下吧,过几天二面完再补充。上来问了下实验室的项目,随便介绍了下,就开始正题了。1. 把牛客网的网址输入浏览器中,接下来的流程是怎样的?要进行URL解析获取IP地址,解析域名要用到DNS协议,DNS查询需要到DNS服务器查询,而DNS服务器是基于UDP的,因此会用到UDP协议。得到IP地址后,浏览器要与服务器建立一个HTTP连接,用到HTTP协议。HTTP生成一...

2020-03-10 18:16:12 2813

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除