朝花夕拾

A Development Engineer, a Life Liver, a Hope Holder

物理存储相关知识

### 主存(RAM) 主存的大概结构如下图所示 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/127227/1630899562050-42049b64-ead3-4826-87d4-6ceb89017e0c.png#clientId=uec26af79-ae1e-4&from=paste&height=304&id=ub0dd2701&...

Mysql索引

## 数据结构 给定一个集合,要从这个集合查询某个或者某些元素。常见的做法有: ### 直接遍历 从集合头到集合为挨个遍历,直到找到需要查找的元素或者已经全部遍历完成。很明显这个方法的时间复杂度是O(n)。随着集合的增大,查询耗时将会线性增加。 ### 二分查找 基于有序数组的情况下,先拿目标元素与集合中间位置元素比较,如果找到返回,否则如果比中间元素小就在左区间继续递归找,否则就在右区间递归找。...

单向链表反转

## 简单的链表直接反转 ### 思路: 定义三个指针curr,pre, next分别指向当前节点,前序节点和后继节点。那么对于当前节点来说,要实现反转,就是将当前节点的后继指针指向它的前序节点即可。处理完当前节点,指针移动到下一个节点,继续执行上面操作。直到当前节点为空为止。 ​ ### 操作图示: ![image.png](https://cdn.nlark.com/yuque/0/2021/...

秋天有感

这段时间,北京天气明显凉了很多,尤其是一早一晚。在风不大的时候出去走走逛逛,很是惬意。 ![秋1.jpg](https://cdn.nlark.com/yuque/0/2021/jpeg/127227/1630050207087-c502a240-177a-4f38-9730-bb3e40ba4ab9.jpeg#clientId=u03c7bafe-287b-4&from=ui&id=u030a3...

选择排序

### 核心思想 将数组分为两个子数组,其中一个子数组为有序数组,另一个为无序数组。然后从无序数组中取到最值元素,然后依次将这些最值元素追加到有序数组中。 ​ ​ ### 实现代码 ```java public void sort(int[] arr){ for(int i = 0; i arr[j]) { minPos = j; } } swap(arr, i, minPos); } } ```...

插入排序

### 核心思想 将数组分成两部分,一部分是有序数组,一部分是无序数组。每次从无序数组中拿出一个元素,将这个元素放置到有序数组中合适的位置。直到整个数组都有序为止。 ### 代码实现 ```java public void sort(int[] arr) { for(int i = 0; i = 0; j--) { if(arr[currPos] > arr[j]) { swap(arr, j, ...

快速排序

## 思路 从数组中找一个基准元素,以基准元素将数组分成三部分: $$patition(n) = \begin{cases} x, & \text{xbaseEliment} \\ \end{cases}$$ 然后再分别对左右子数组X,Y进行排序。 可以看到,快速排序的核心方法是分区,找到分区位置,之后通过递归的方式分别对其他子数组进行分区。最后完成排序。 ​ ## 框架 ```java void...

MAC配置GIT&GITHUB环境

### 安装git 先判断电脑是否已经安装了Git 直接在命令行执行 ```shell git ``` 如果安装过,会输出如下信息 ```shell WMBdeMacBook-Pro:~ WENBO$ git usage: git [--version] [--help] [-C ] [-c name=value] [--exec-path[=]] [--html-path] [--man-pat...

MAC系统配置Maven环境

### 下载 网址:[http://maven.apache.org/download.cgi](http://maven.apache.org/download.cgi) ![image](/images/maven_download.png) ### 安装&配置 将下载的压缩包减压到本地,在bash_profile中添加环境变量 ```shell vim ~/.bash_profile ```...

MAC系统配置JAVA环境

### 下载 [官网下载地址](https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html) ​ ### Oracle账号 从ORACLE下载JDK时,需要登录账号。下面是网上找到的一个共享账号,目前可用。 账号:908344069@qq.com 密码:Java2019 ​ ### 配置环境变量 1. ...