- 博客(15)
- 收藏
- 关注
原创 图论相关的面试题精讲(待更新)
例一:遍历序列给定二叉树前、中序遍历,构造二叉树 (Leetcode 105)[分析]:前序遍历序列第一个是根节点x;从中序遍历序列中找到根节点x;中序遍历中x的左边序列对应等长的前序遍历序列为二叉树的左子树;中序遍历中x的右边序列对应等长的前序遍历序列为二叉树的右子树。#include <iostream>#include <vector>using n...
2020-08-27 17:28:14
445
原创 在线笔试经验(未完待续)
cin的用法连续输入多个值,中间用空格或者tab隔开。输入结束,回车将值刷新到缓冲区中cin接收字符串时,会过滤最后的回车cin想接受字符串,得加上头文件#include<string>new和delete的用法new和delete相对应,与malloc,free的区别是,new和delete会调用类的构造函数和析构函数用法new intnew int() --进行初始化new int[3] --创建长度为3的动态数组delete [] ptr --删除数组..
2020-05-17 21:37:17
303
1
转载 转:STL 之 priority_queue 的介绍与简单示例
转自:STL 之 priority_queue 的介绍与简单示例这里要说明一点,当重载 “<” 时,或者写伪函数的时候当我们使用 < 表明使用大顶堆,返回的是最大值;当使用 > 表明使用小顶堆,返回的是最小值。...
2020-05-17 16:04:12
169
原创 解决mysql中文乱码的问题
登录mysql客户端,输入show variables like 'CHAR%';这是能正常显示中文的情况,如果和我这个不一样,需要做如下步骤。2. 先退出,到/etc/mysql/mysql.conf.d目录下用root权限打开配置文件mysqld.cnf增加如下代码character-set-server = utf83. cd /etc/mysql/conf.d中,用root权限打开mysql.cnf添加default-character-set = utf84. .
2020-05-11 22:23:51
171
原创 vscode快捷键及使用教程
控制面板快捷键:crtl+shift+p,或者crtl+p再输入">",后面跟命令。作用:用于执行各种命令,包括插件提供的命令跨文件搜索快捷键:crtl+shift+f在命令行中打开vscode命令:code /文件地址在vscode中打开命令行快捷键:crtl+~代码重构快捷键F2,更改完成按enter,注意这个是重定义,不是简单的文本替换,作用于全...
2020-04-24 12:32:58
715
原创 并查集基本理解及应用
先贴上参考的网址https://blog.youkuaiyun.com/Opheelia/article/details/47402671?utm_source=apphttps://blog.youkuaiyun.com/ebowtang/article/details/41699497一、概念并查集是一种树型的数据结构,用于处理不相交集合的合并和查询问题,速度很快,有很多应用,其中kruskal(最小生成树)...
2020-04-13 17:21:44
183
原创 STL list的使用总结
list 由双向链表(doubly linked list)实现而成,元素也存放在堆中,每个元素都是放在一块内存中,他的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随机存取时间复杂度为O(n),因此它没有提供 [] 操作符的重载。但是由于链表的特点,使得插入和删除操作的时间复杂度为O(1)。下面就对list的操作一一做总结需要注意的是list是双向链表,迭代器是双向迭代器...
2020-04-08 13:34:38
166
原创 linux设置文件描述符的最大值(上限值)
查看受计算机硬件限制的文件描述符上限cat/vim /proc/sys/fs/file-max通过配置文件修改文件上限值vim /etc/security/limits.conf在文件末尾添加两行如下代码,将文件上限值设为8000,该值不能超过步骤1得到的受计算机硬件限制的文件描述符上限397384.* soft nofile 8000* hard ...
2020-04-04 09:51:56
1795
原创 二叉搜索树的插入删除查找操作(集大成版)
第一部分 二叉搜索树1、二叉树的相关定义二叉搜索树即二叉排序树,又叫二叉查找树定义:二叉排序树或者是一颗空树,或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上的所有结点的值均小于它的根结点的值。(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。(3)它的左、右子树叶分别是二叉排序树。值得注意的是:当用线性表作为表的组织形式时,可以有三种查找法。其中以...
2020-04-03 17:43:50
292
1
原创 链表面试题精讲
有关链表面试题的背景只是请参考: 链表、头指针、头结点(经典)题一 单链表的插入和删除这里只给出思路,不具体写code.插入时,前驱的next和新节点的next这两个指针需要修改,我们要找到插入之前的那个节点指针pre,则now->next = pre->next;pre-next = now;特殊的,我们可以使用头插法now->next = headhead ...
2020-04-02 14:38:10
218
1
原创 Linux socket通信之实现多进程与多线程的并发服务器
多进程版并发服务器父进程负责监听请求,并回收子进程,子进程负责通信部分.这里可以通过SIGCHLD信号来回收子进程.具体代码如下:#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <string.h>#...
2020-03-26 14:57:13
305
原创 栈和队列面试精讲
堆栈和队列统称线性表简单的线性结构数组和链表可以实现这两种数据结构堆栈后进先出(LIFO)用栈实现DFS的非递归遍历栈的基本操作如下 头文件为: #include<stack> 定义:stack<type> s type为数据类型(如int float char等) 基本操作 s.push(item) s.pop() //删除栈顶元素,但是...
2020-03-25 16:34:08
148
原创 数组高频面试题干货
面试题总体分析主要涉及三个方面1)查找排序二分查找元素交换排序、中位数归并位运算前缀和的应用2)动态规划3)排列组合下面就这几方面一一介绍二分查找对于一个有序数组,我们可以进行,二分查找,时间复杂度为O(log2)给出非递归的实现方式#include <stdio.h>#include <string.h>//二分查找的非递归写法,...
2020-03-17 17:29:23
216
1
原创 字符串高频面试题一网打尽(基于C/C++实现)
字符串(字符数组)在java中是内置类型,不可更改,要更改的话考虑转StringBuffer,StringBuilder,char[]之类。在C++中,std::string可更改,也可考虑用char[] (char *)。值得注意的是,C++中“+”运算符(字符串连接符)在官方文档中复杂度未定义,但一般认为是线性的O(n),在实际使用中要防止退化为O(n2)。C++中std:substr()和j...
2020-03-13 11:17:15
399
原创 gmapping(fast_slam)
gmapping获取激光数据及处理如果是第一个激光数据,则初始化粒子。Particle的信息有:每个粒子维护一幅地图map,机器人的位姿pose,上个时刻的位姿previousPose,权重weight,权重总和weightSum。地图包括的信息有:m_center:地图中心点(x, y)、m_worldSizeX:地图长度、m_worldSizeY:地图宽度、m_delta:网格边长...
2020-01-09 15:47:17
1229
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人