重建二叉树 重建普通二叉树 优化,借助下标索引,而不是vector; 不能从前序和后序重建; 左闭右开(或左闭右闭)就是循环不变量; 一、从中序和后序重建①传vector12345678910111213141516171819202122232425262728293031323334353637383940414243444546class Solution {public: TreeN 2022-07-25 数据结构与算法 #刷题 #数据结构 #算法 #二叉树
遍历二叉树 深度优先遍历(栈)保证入栈节点不是空节点! 前序遍历(中左右)递归1234567891011void visit(TreeNode* cur, vector<int>& res){ if(cur == nullptr) return; res.push_back(cur->val); //中 visit(cur->left, res); //左 vis 2022-07-25 数据结构与算法 #刷题 #数据结构 #算法 #二叉树
二叉树基本概念 树 结点的度:节点拥有的子树数; 树的度:树内各结点度的最大值; 结点的层次从根开始定义,根为第一层; 树的深度或高度:树中结点的最大层次; 路径长度:路径上的分支数目; 树的路径长度是从树根到每一结点的路径长度之和,完全二叉树路径长度最短; 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数。 二叉树 二叉树每个 2022-07-25 数据结构与算法 #刷题 #数据结构 #算法 #二叉树
Makefile使用 介绍 当一个工程里面的源文件非常多时,手动敲命令就比较麻烦,就可以使用makefile; Makefile 文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 Makefile 文件就像一个 Shell 脚本一样,也可以执行操作系统的命令; Makefile 带来的好处就是“自动化编译” ,一旦写好,只需要一个 make 命令 2022-07-23 Linux #Linux #Makefile
GNU编译工具使用 安装12345678sudo apt update# 通过以下命令安装编译器和调试器sudo apt install build-essential gdb# 查看版本号gcc --versiong++ --versiongdb --version gcc/g++基本用法1234gcc filename -o outputfileName# gdb支持gcc filename -g - 2022-07-23 Linux #Linux #GNU #GCC #G++ #GDB
Linux下Vim编辑器的使用 command mode 首先进入的就是命令模式。 模式切换 i 切换到输入模式,以输入字符; : 切换到底线命令模式,以在最后一行输入命令; 移动光标 方向键 移动光标; h/j/k/l 光标左、下、上、右移动一个字符,30j表示下移光标30行; pg up/dn 上下翻页; ctrl + b/f 上下翻页; ctrl + u/d 2022-07-23 Linux #Linux #Vim
Git使用和常用命令 第一次下载123456apt-get install gitgit config --global user.name "zyue" # your namegit config --global user.email "3506656950@qq.com" # your emailgit config --global core.edit 2022-07-23 Linux #Git #Github #Linux
Linux常用命令笔记 管理用户123456789101112131415161718# 按默认值添加用户useradd userName# 在root环境下,root帮userName设置密码passwd userName# 或echo "密码" | passwd --stdin userName# userName这个用户第一次登录时(默认密码是用户名),自己设置自己密码echo "us 2022-07-23 Linux #命令 #Linux
KMP算法 KMP KMP算法用来在文本串中匹配模式串,查找模式串出现的位置。 KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。 需要用到next数组,即前缀表。前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。 前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串。 后缀是指不包含第一个字符 2022-07-23 数据结构与算法 #刷题 #数据结构 #算法
高性能并发Web服务器 WebServer高性能并发服务器,由webbench测试可达到上万QPS; 【关键词】 C++11、IO多路复用技术Epoll、Reactor高并发模型、线程池、异步日志系统、最小堆定时器、数据库连接池、有限状态机、自增长缓冲区、单例模式、自定义Json解析器 WebServer 工作流程 流程图 线程池模块 缓冲区模块 Epoll模块 HTTP连接模块 HTTP解析模块 HTTP响应模 2022-07-18 项目 #C++ #并发服务器 #C++11 #总结 #项目 #Json解析 #线程池 #MySQL连接池 #最小堆定时器 #日志 #缓冲区 #Epoll