数据结构与算法

传输控制协议TCP

在网络传输中,传输控制协议(TCP)是传输层非常重要的一个协议,所以学习TCP协议是很有必要的一件事情。TCP协议是一种可靠的、一对一的、面向有连接的一种通信协议,通常在TCP的网络请求中,在获取到对应的IP地址后,会以随机端口(1024-65535)向服务器80端口发起TCP的连接请求,这个连接会经过TCP/IP协议栈,最后到达服务器。而在建立连接这个过程中,通过一次三次握手来确定连接的建立。

express写CRUD需求接口案例

需求:实现对任务清单的CRUD接口服务 查询任务列表 GET /todos 根据 ID 查询单个任务 GET /todos/:id 添加任务 POST /todos 修改任务 PATCH /todos/:id 删除任务 DELETE /todos/:id 目录结构及启动示意图 代码视图 app.js项目入口文件 const express = require('e

【数据结构】手撕AVL树(万字详解)

目录 AVL树的概念 为啥要有AVL树? 概念 AVL树节点的定义 AVL树的插入 AVL树的旋转 左单旋 右单旋 左右双旋 右左双旋 AVL树的查找 AVL树的验证 end AVL树的概念 为啥要有AVL树?在上一章节的二叉搜索树中,我们在插入节点的操作中。有可能一直往一边插入节点,这就导致我们

算法思想总结:优先级队列

一、最后一块石头的重量. - 力扣(LeetCode)        我们每次都要快速找到前两个最大的石头进行抵消,这个时候用优先级队列(建大堆),不断取堆顶元素是最好的!每次删除堆顶元素后,可以自动调整,时间复杂度是logN。class Solution { public: i

【LCA DFS 前缀和】P10391 [蓝桥杯 2024 省 A] 零食采购|普及+

本文涉及知识点C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 C++DFS 倍增算法(multiply)、树上倍增、最近公共祖先(LCA) P10391 [蓝桥杯 2024 省 A] 零食采购 题目描述小蓝准备去星际旅行,出发前想在本星系采购一些零食,星系内有

【算法】插入排序

算法系列五:插入排序一、直接插入排序1.原理2.实现3.性质3.1时间复杂度3.2空间复杂度3.3稳定性二、希尔排序1.原理1.1优化方向1.2优化原理 2.设计2.1比较无序时2.2比较有序时3.实现4.性质4.1时间复杂度4.2空间复杂度4.3稳定性解放变量多变量存储数据可实现其中的变量被解放了可去不失数据覆盖存别的值,被解放变量覆盖存别的值又是从变量里来的又能再解

MySQL查询慢,除了索引,还有什么原因?

一、先了解一下MySQL查询的执行过程 MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子任务的执行次数、让子任务执行的更快。 MySQL查询的执行过程:从客户端到服务器、然后在服务器进行解析、生成执行计划、执行、返回结果给客户端。 执行是最重要的阶段,包括调用存储引擎检索数据、调用后的数据处理、排序、分组等

简易服务器脚手架

使用方法 1.git clone 2.请安装IntelliJ,用IntelliJ打开项目 3.配置好jdk目录 4.安装mysql,并将src/main/resources/application.properties文件下的数据库改为您配置的数据库 5.tools目录下有个data.sql文件,里面是sql语句,

观测数据处理-国控环境监测站点

工作需要用到我国环境监测站点的污染物浓度数据(感谢大佬的分享), 数据很全, 不过csv格式在分析的时候尤其大量数据分析的时候并不友好, 所以一般要二次处理一下 上学的时候搞过一次, 当时为了查询数据方便, 塞到了sqlite3的单文件数据库里, 不过制作起来很慢(可能是我没用并行支持好的数据库), 近期更新了一下数据且又重新调整了一下数据处理逻辑, 这里记录一下 主要的思路是以netcdf保存