物理存储相关知识
### 主存(RAM) 主存的大概结构如下图所示 。随着集合的增大,查询耗时将会线性增加。 ### 二分查找 基于有序数组的情况下,先拿目标元素与集合中间位置元素比较,如果找到返回,否则如果比中间元素小就在左区间继续递归找,否则就在右区间递归找。...
2021-09-06单向链表反转
## 简单的链表直接反转 ### 思路: 定义三个指针curr,pre, next分别指向当前节点,前序节点和后继节点。那么对于当前节点来说,要实现反转,就是将当前节点的后继指针指向它的前序节点即可。处理完当前节点,指针移动到下一个节点,继续执行上面操作。直到当前节点为空为止。 ### 操作图示: { for(int i = 0; i arr[j]) { minPos = j; } } swap(arr, i, minPos); } } ```...
2021-08-23插入排序
### 核心思想 将数组分成两部分,一部分是有序数组,一部分是无序数组。每次从无序数组中拿出一个元素,将这个元素放置到有序数组中合适的位置。直到整个数组都有序为止。 ### 代码实现 ```java public void sort(int[] arr) { for(int i = 0; i = 0; j--) { if(arr[currPos] > arr[j]) { swap(arr, j, ...
2021-08-23快速排序
## 思路 从数组中找一个基准元素,以基准元素将数组分成三部分: $$patition(n) = \begin{cases} x, & \text{xbaseEliment} \\ \end{cases}$$ 然后再分别对左右子数组X,Y进行排序。 可以看到,快速排序的核心方法是分区,找到分区位置,之后通过递归的方式分别对其他子数组进行分区。最后完成排序。 ## 框架 ```java void...
2021-08-20MAC配置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...
2021-08-18MAC系统配置Maven环境
### 下载 网址:[http://maven.apache.org/download.cgi](http://maven.apache.org/download.cgi)  ### 安装&配置 将下载的压缩包减压到本地,在bash_profile中添加环境变量 ```shell vim ~/.bash_profile ```...
2021-08-18MAC系统配置JAVA环境
### 下载 [官网下载地址](https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html) ### Oracle账号 从ORACLE下载JDK时,需要登录账号。下面是网上找到的一个共享账号,目前可用。 账号:908344069@qq.com 密码:Java2019 ### 配置环境变量 1. ...
2021-08-18