二叉树
二叉树什么是二叉树每个节点最多有两个子树的树形结构
二叉树的四种遍历
层序遍历:从上到下,从左往右
先序遍历:根左右
中序遍历:左根右
后序遍历:左右根
层序遍历采取bfs(广度优先搜索)进行遍历
12345678910111213141516171819202122struct tree { int val; tree *r, *l; tree() { r = NULL; l = NULL; }};void bfs(tree* root) { queue<tree*> q; q.push(root); while (!q.empty()) { root = q.front(); q.pop(); if (root == NULL) { continue; } cout << root->val; //输出当前节点 ...
尺取法
尺取法尺取法又叫双指针法,主要用于在区间内查找满足题意的答案
相比朴素算法时间复杂度O(n^2),尺取法可以将时间复杂度优化到O(n)
主要思想用两个指针,一个指向左端点(left),另一个指向右端点(right),初始都指向数组左端
首先移动右端点,直到区间[left,right]为满足答案的一种情况
然后再移动左端点,直到区间[left,right]不满足答案
对比当前已有答案与现在获得答案,选取最优
重复上述操作
例题P1638 逛画展 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
1234567891011121314151617181920212223242526272829303132333435363738#include <bits/stdc++.h>using namespace std;typedef long long ll;const int M = 1e6 + 7;int n, m;int v[M], t = 0; // v[M]用于记录当前区间各个画师遇见了几次,t用来记录当前区间有几名画师int main() { ...
操作系统
操作系统的地位核心系统软件
操作系统的定义操作系统是控制和管理计算机系统的硬件和软件资源,河里的组织计算机工作流程以及方便用于使用的程序和数据(系统软件)的集合
操作系统的功能
处理机管理
存储管理
设备管理
文件系统管理
用户接口:
图形界面
命令窗口
系统调用:程序员
操作系统的发展过程
手工操作阶段
早期批处理阶段
多道程序系统
分时系统
实时系统
通用操作系统
操作系统的进一步发展
多道程序设计技术在计算机内存中同时存放几道相互独立的程序,他们在管理程序的控制下相互穿插地运行,他们共享CPU和其他资源
作用充分利用CPU,减少CPU等待时间.
特点宏观上并行:同时进入系统的几道程序都处于运行过程中,即他们都开始运行,但都未运行完毕.
微观上串行:从微观上开,主存中的多道程序轮流或分时地占有处理机,交替运行.
操作系统的基本特征并发性并发:多个时间在同一时间段内发生(交替)多道程序用的是并行
并行:指多个事件在同一时刻发生
共享性虚拟性异步性进程和程序的区别进程是动态的,程序是静态的(根本区别)
进程具有并发特征,而程序没有
进程是竞争系统资源的基本单位
进程与程序存在位 ...
podman
Debian11.1安装1apt update
1apt upgrade
1apt install podman
Minio
podman部署miniopodman安装podman
设置环境变量1VOL_HOME=/home/podman
设置文件夹12mkdir -p /home/podman/minio/datamkdir -p /home/podman/minio/config
部署1234567891011podman run -d \--name minio \-p 9000:9000 \-p 9001:9001 \-e MINIO_ROOT_USER=用户名 \-e MINIO_ROOT_PASSWORD=密码 \-v $VOL_HOME/minio/data:/data \-v $VOL_HOME/minio/config:/root/.minio \quay.io/minio/minio \server /data \--console-address ":9001"
Springboot整合minio依赖123456789101112131415161718192021222324252627282930313233<dependency> & ...
mc服务器
java报错12尝试更改启动命令java -Xms2G -Xmx3G -jar -Djava.awt.headless=true mohist-1.12.2-321-server.jar -nogui
保持运行1screen -S mcs
1java -Xms2G -Xmx3G -jar -Djava.awt.headless=true mohist-1.12.2-321-server.jar -nogui
服务器权限相关死亡不掉落1gamerule keepinventory true
权限/op name
```xs
linux
查看当前文件夹中文件1ls
文件夹新建文件夹12345678新建一个文件夹mkdir name批量创建文件夹mkdir name1 name2 name3连续创建文件夹mkdir -p name1/name2/name3
删除文件夹123456rmdir -p 目录名-p 删除指定目录之后,若该目录的上层目录已变成空目录,则将其一并删除。rm -rf 目录名-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思
screen切换窗口1screen -r pid
新建窗口1screen -S name
查看所有窗口1screen -ls
删除窗口1screen -S name -X quit
Vue开发过程常见问题
axios调用GET用来发少量数据,如果发送对象使用POST
12345678axios({ url: "http://localhost:8080/album/getAlbum", method: "GET" }).then((res) => { this.urls = res.data; this.mx = res.data.length; // console.log(res.data); })
数据多使用POST发送,这里发送一个对象
1234567891011121314方案一:axios.post("http://localhost:8080/login", this.staff)方案二:axios({ url: "http://localhost:8080/essays/insertArticle", method: "Post", data: JSON.string ...
Vue
Vue开发过程常见问题
Vue创建文件引入Vue1234第一种方法,建议新手,包含了有帮助的命令和警告<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>第二种方法,优化了尺寸和速度<script src="https://cdn.jsdelivr.net/npm/vue"></script>
测试用例:
123456789101112<div id="app"> {{message}}</div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script> var app = new Vue({ el:"#app", da ...
token登录验证(前端)
VUE登录请求1234567axios.post("http://localhost:8080/login", this.staff).then(res => { if (res.data != null) { localStorage.setItem('access-admin', JSON.stringify(res.data)) this.$router.push('/home') console.log(res.data) } })
路由守卫1234567891011121314151617181920212223242526router.beforeEach((to, from, next) => { if (to.path.startsWith('/login')) { window.localStorage.removeItem('access-adm ...