logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构之二叉树序列化和反序列化(含代码实现)

二叉树遍历_牛客题霸_牛客网 (nowcoder.com)题目描述:解题思路:1.由于先序遍历序列空节点已经用‘#’表示出来所以我们可以递归还原二叉树,如果遇到‘#’则返回nullptr,否则就创建新的头节点,再递归构建他的左子树和右子树,构建完成后将头节点返回即可。对应代码:#include<string>#include<iostream>using namespace

#数据结构#算法
浅谈RPC协议

远程过程调用协议,目标就是让远程服务调用更加简单、透明。RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP)、序列化方式(XML/Json/ 二进制)和通信细节,服务调用者可以像调用本地接口一样调用远程的服务提供的接口,而不需要关心底层通信细节和调用过程。其大致过程如上图所示。

文章图片
#rpc#qt#网络协议
由前序遍历和中序遍历还原二叉树

1.由前序遍历和中序遍历还原二叉树对应letecode链接:105. 从前序与中序遍历序列构造二叉树 - 力扣(LeetCode) (leetcode-cn.com)题目描述:给定一棵树的前序遍历preorder 与中序遍历inorder。请构造二叉树并返回其根节点。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Outpu

#leetcode#算法#数据结构
线段树详解(含代码实现经过测试)

1.线段树介绍什么是线段树?线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。[1]对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。使用线段树可以快速的查找某一个节点在若干条线段中出现的次

Linux下mmap

什么是mmap了?从名字上来看是memory map也就是地址映射,是一种内存映射文件的方法。mmap是一个可以将一个文件或者其它对象映射到进程的地址空间实现磁盘的地址和进程虚拟地址空间一段虚拟地址的一一对应关系。通过mmap这个系统调用我们可以让进程之间通过映射到同一个普通文件实现共享内存,普通文件被映射到进程地址空间当中之后,进程可以向访问普通内存一样对文件进行一系列操作。

最长递增子序列问题(你真的会了吗)

1.对应牛客网链接2.题目描述: 3.解题思路下面以[5,7,1,9,4,6,2,8,3]为例:4.对应代码:1.对应牛客网链接:2.题目描述: 3.解题思路:4.对应代码:1.对应letecode链接:2.题目描述:3.解题思路4.对应代码:...

#算法#leetcode
程序的编译流程

1.程序的编译过程程序的编译过程大致可以分为以下几个阶段2.预处理阶段:预处理阶段主要发生:1.头文件的包含2.清除注释3.宏的替换4.处理所有的条件编译指令,如#ifdef #ifndef #endif等,也就是带#那些5.保留#pargma指令下面我么来看一段代码(以下实验在linux平台上)我们可以使用gcc test.c -E来查看预编译期间我们会发现突然就多了很多的代码,如果我们将#in

#c++#c语言#c#
Docker入门(基础篇)

说白了镜像就等于一个centos系统的安装程序,一个镜像只是一个只读环境而已,这个镜像提供的是基础的运行环境,而你在Centos7系统中安装的应用,比如Redis,Mysql这些应用就相当于一个容器,这些容器都是单独可运行的,仓库的概念就更好理解了,在Centos7系统中下载的所有应用都被收集到同一个仓库里了,比如Maven仓库。3.特点 : Docker镜像是不能运行的,是静态的,而Docker

#docker#容器#运维
Linux下优先级和环境变量(初学者必备)

一.进程的优先级什么是进程的优先级呢?在日常生活中我们到处都有优先级,比如说我们在食堂排队打饭的时候需要排队而排在我们前面的人优先级比我们高?那为什么需要优先级呢?本质上了是资源太少,如果食堂打饭的窗口有很多很多个,我们也不需要排队。在linux下进程也是如此也有优先级。下面我们来看看进程优先级的概念:1.cpu资源分配的先后顺序,就是指进程的优先权(priority) 。2.优先权高的进程有优先

文章图片
#linux
Linux下进程地址空间(初学者必备)

目录一.程序地址空间二.进程地址空间一.程序地址空间首先我们先通过一张图回顾一下c/c++中的程序地址空间:下面简单的介绍一个这几个区域:1.堆区:堆数据区即heap区,在C程序中,该区域的分配和回收由malloc和free进行。随着区域分配的进行,区域不断从低地址向高地址方向延伸。2.栈区:stack区,程序运行时,函数调用产生的堆栈存放在该区域。该区域的开始地址是固定的(紧挨着内核内存区),随

#linux
    共 14 条
  • 1
  • 2
  • 请选择