From f07b4988339e68e03c048ae8e8eadffb5901d6f9 Mon Sep 17 00:00:00 2001 From: yinkanglong_lab Date: Fri, 26 Mar 2021 19:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E6=AE=B5=E6=A0=91=E3=80=81=E5=B7=AE?= =?UTF-8?q?=E5=88=86=E6=95=B0=E7=BB=84=E3=80=81=E6=A0=91=E7=8A=B6=E6=95=B0?= =?UTF-8?q?=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工作日志/2021年3月18日-今日计划.md | 2 +- 工作日志/2021年3月26日-开组会.md | 10 + 数据结构/3.1 单调栈.md | 0 数据结构/6.10 树状数组.md | 114 +++++++ 数据结构/6.11 线段树.md | 234 +++++++++++++ 数据结构/{10 字典树.md => 6.13 字典树.md} | 0 数据结构/{6.9 特异树.md => 6.15 特异树.md} | 0 数据结构/6.9 差分数组.md | 110 +++++++ 数据结构/{8 线性表查找.md => 8 跳表.md} | 2 +- 数据结构/9 跳表查找.md | 307 ------------------ 数据结构/image/2021-03-26-17-36-48.png | Bin 0 -> 6185 bytes 数据结构/image/2021-03-26-17-47-36.png | Bin 0 -> 7973 bytes 数据结构/image/2021-03-26-18-06-40.png | Bin 0 -> 2510 bytes 数据结构/image/2021-03-26-18-42-22.png | Bin 0 -> 78971 bytes 数据结构/image/2021-03-26-18-52-43.png | Bin 0 -> 20016 bytes 数据结构/image/2021-03-26-19-16-09.png | Bin 0 -> 5250 bytes 数据结构/image/2021-03-26-19-16-22.png | Bin 0 -> 19681 bytes 数据结构/image/2021-03-26-19-17-04.png | Bin 0 -> 5314 bytes 数据结构/image/2021-03-26-19-17-16.png | Bin 0 -> 24798 bytes 算法/A类:基本算法/3.9 位运算算法.md | 20 +- 算法/A类:基本算法/4.7 数组中的逆序对.md | 86 +++++ 算法/B类:数据结构算法/4.3 数组与滑动窗口.md | 3 +- .../image/2021-03-19-01-02-12.png | Bin 14209 -> 0 bytes .../image/2021-03-26-15-18-18.png | Bin 0 -> 46260 bytes 算法/C类:问题类型算法/2.1 数组排成最小数.md | 2 +- 25 files changed, 569 insertions(+), 321 deletions(-) create mode 100644 数据结构/3.1 单调栈.md create mode 100644 数据结构/6.10 树状数组.md create mode 100644 数据结构/6.11 线段树.md rename 数据结构/{10 字典树.md => 6.13 字典树.md} (100%) rename 数据结构/{6.9 特异树.md => 6.15 特异树.md} (100%) create mode 100644 数据结构/6.9 差分数组.md rename 数据结构/{8 线性表查找.md => 8 跳表.md} (97%) delete mode 100644 数据结构/9 跳表查找.md create mode 100644 数据结构/image/2021-03-26-17-36-48.png create mode 100644 数据结构/image/2021-03-26-17-47-36.png create mode 100644 数据结构/image/2021-03-26-18-06-40.png create mode 100644 数据结构/image/2021-03-26-18-42-22.png create mode 100644 数据结构/image/2021-03-26-18-52-43.png create mode 100644 数据结构/image/2021-03-26-19-16-09.png create mode 100644 数据结构/image/2021-03-26-19-16-22.png create mode 100644 数据结构/image/2021-03-26-19-17-04.png create mode 100644 数据结构/image/2021-03-26-19-17-16.png create mode 100644 算法/A类:基本算法/4.7 数组中的逆序对.md delete mode 100644 算法/B类:数据结构算法/image/2021-03-19-01-02-12.png create mode 100644 算法/B类:数据结构算法/image/2021-03-26-15-18-18.png diff --git a/工作日志/2021年3月18日-今日计划.md b/工作日志/2021年3月18日-今日计划.md index 9e200baf..1f9e75c7 100644 --- a/工作日志/2021年3月18日-今日计划.md +++ b/工作日志/2021年3月18日-今日计划.md @@ -4,7 +4,7 @@ - [ ] 学习、复习图算法,动手实现所有的图算法。 - [ ] 看完数据结构与算法的三本书!!!对相关的原理进行复习和总结。 -- [ ] 学习机器学习的实现方案。毕设计划真正的开始执行。 +- [x] 学习机器学习的实现方案。毕设计划真正的开始执行。 - [ ] 关于字符串分割。字符串格式化方法的总结。转换成流,作为流对象处理。转换为容器。作为容器对象处理,使用泛型算法。 ## 收获 diff --git a/工作日志/2021年3月26日-开组会.md b/工作日志/2021年3月26日-开组会.md index 4892b3d4..7069e6b5 100644 --- a/工作日志/2021年3月26日-开组会.md +++ b/工作日志/2021年3月26日-开组会.md @@ -1,4 +1,14 @@ +# 今日计划 +## 计划 + +* 执行之前的计划 +- [ ] 整理会议记录发到群里。 + +## 收获 + + +# PPT准备 ## 目标 ## 工程 diff --git a/数据结构/3.1 单调栈.md b/数据结构/3.1 单调栈.md new file mode 100644 index 00000000..e69de29b diff --git a/数据结构/6.10 树状数组.md b/数据结构/6.10 树状数组.md new file mode 100644 index 00000000..6f4544d8 --- /dev/null +++ b/数据结构/6.10 树状数组.md @@ -0,0 +1,114 @@ +# 树状数组Binary Tree Array + + +## 1 概念 + + +### lowbit运算 +$$ +lowbit(x) = x \& ((\sim x)+1) +$$ +* 作用:二进制表示中,保留最后的`1`。如`x=10100100`,`lowbit(x)=00000100` + +### 树状数组 + +* 根据lowbit的运算规则构建树状数组。 +* 其中数组A第i个位置的值**管理区间**[i-lowbit(i)+1,i]。即去掉二进制最后一位后到当前位置的的区间。 + +$$ +A[i] = \sum_{k=i-lowbit(i)+1}^i A[k] +$$ + +* 其中数组A第i个位置的值的**被管节点**。即找到所有的之后的$2^i$的点,也包括非$2^i$的点。 + +$$ +i = i + lowbit(i) ,imax截止 + +### 求前缀区间的值 + +> 所有lowbit()对应的值相加。 + +* 那么对于任意的x,sum(1,x)怎么求呢?我们把最终得到的答案存在ans变量中,执行下面的操作: + 1. sum=0 + 2. sum += A[i] + 3. i = i-lowbit(i) + 4. 重复2-3步骤,直到i<0截止 + + +### 求区间的值 + +* 询问区间[L,R]的和sum(L,R)。我们只需要求出sum(1,R)和sum(1,L-1),然后sum(1,R)-sum(1,L-1)就是sum(L,R). +$$ +sum(L,R)=sum(1,R)-sum(1,L) +$$ + +## 实例1 基本运算 + +```C++ +//求最小幂2^k: +int Lowbit(int t) +{ + return t & ( t ^ ( t - 1 ) ); +} + +//求前n项和: +int Sum(int end) +{ + int sum = 0; + while(end > 0) + { + sum += in[end]; + end -= Lowbit(end); + } + return sum; +} + +//对某个元素进行加法操作 +void plus(int pos , int num) +{ + while(pos <= n) + { + in[pos] += num; + pos += Lowbit(pos); + } +} +``` + +## 实例2 逆序对 diff --git a/数据结构/6.11 线段树.md b/数据结构/6.11 线段树.md new file mode 100644 index 00000000..397393be --- /dev/null +++ b/数据结构/6.11 线段树.md @@ -0,0 +1,234 @@ +# 线段树 + +## 1 线段树的概念 + +### 概述 +* 线段树(Segment Tree)也是一棵树,只不过元素的值代表一个区间。常用区间的 统计 操作,比如一个区间的 **最大值(max),最小值(min),和(sum)** 等等 + +* 如一个长度为10的数组,它对应的 求和 线段树,如下图所示(图中的数字表示索引): + +![](image/2021-03-26-18-52-43.png) + +### 定义 +* 线段树是一个平衡二叉树,但不一定是完全二叉树。 + * 根节点就是 0~lenght-1 的和 + * 根节点的左右子树平分根节点的区间 + * 然后依次类推,直到只有一个元素不能划分为止,该元素也就是二叉树的叶子节点。 + +### 复杂度 +* 时间复杂度为O(log n) +* 空间复杂度为O(n) + +## 2 线段树的基本操作 +### 构建线段树 + +* 根据上面我们对线段树的描述,构建一个线段树就比较简单了,根节点就是整个区间,根节点的左右子树平分根节点的区间,直至区间内只剩下一个元素不能平分为止。如下面递归的伪代码: +```C++ +private void buildSegmentTree(int treeIndex, int treeLeft, int treeRight) { + //如果区间内只剩下一个元素 + if (treeLeft == treeRight) { + tree[treeIndex] = data[treeLeft]; + return; + } + //当前节点左子树索引 + int leftTreeIndex = getLeft(treeIndex); + //当前节点右子树索引 + int rightTreeIndex = getRight(treeIndex); + //int mid = (left+right)/2; + int mid = treeLeft + (treeRight - treeLeft) / 2; + //构建左子树 + buildSegmentTree(leftTreeIndex, treeLeft, mid); + //构建右子树 + buildSegmentTree(rightTreeIndex, mid + 1, treeRight); + //当前节点存放的值,根据具体业务,如果求和就是两个值相加 + //如果是求最大值,那么就存放最大值 + tree[treeIndex] = tree[leftTreeIndex] + tree[rightTreeIndex] + +} +``` + +* 对下面一个数组 +![](image/2021-03-26-19-16-09.png) + + +* 就会构建成如下一个线段树(图中括号里数字表示索引区间) + +![](image/2021-03-26-19-16-22.png) + + +### 修改线段树 + +* 针对上面的数组,把索引为 1 的值改成 6 如下图所示 + +![](image/2021-03-26-19-17-04.png) + + +* 那么线段树需要修改的节点有(虚线标明): + +![](image/2021-03-26-19-17-16.png) + +### 线段树的查询 +* 对于线段树的查询,主要有以下几种情况: + * 要查询的区间在刚好就是当前节点的区间 + * 要查找的区间在当前节点的左子树区间 + * 要查找的区间在当前节点的右子树区间 + * 要查找的区间一部分在当前节点的左子树区间,一部分在右子树区间 + +## 3 实现一个线段树 +* 下面实现的线段树,有三个功能: + * 把数组构建成一颗线段树 + * 线段树的修改 + * 线段树的查询 +```java +public class ArraySegmentTree { + + private T tree[]; + private T data[]; + + private Merger merger; + + public interface Merger { + T merge(T a, T b); + } + + public ArraySegmentTree(T[] arr, Merger merger) { + this.merger = merger; + data = (T[]) new Object[arr.length]; + for (int i = 0; i < data.length; i++) { + data[i] = arr[i]; + } + + this.tree = (T[]) new Object[data.length * 4]; + buildSegmentTree(0, 0, data.length - 1); + + } + + + /** + * 构建线段树 + * + * @param treeIndex 当前需要添加节点的索引 + * @param treeLeft treeIndex左边界 + * @param treeRight treeIndex右边界 + */ + private void buildSegmentTree(int treeIndex, int treeLeft, int treeRight) { + if (treeLeft == treeRight) { + tree[treeIndex] = data[treeLeft]; + return; + } + //当前节点左子树索引 + int leftTreeIndex = getLeft(treeIndex); + //当前节点右子树索引 + int rightTreeIndex = getRight(treeIndex); + //int mid = (left+right)/2; 如果left和right很大,可能会导致整型溢出 + int mid = treeLeft + (treeRight - treeLeft) / 2; + //构建左子树 + buildSegmentTree(leftTreeIndex, treeLeft, mid); + //构建右子树 + buildSegmentTree(rightTreeIndex, mid + 1, treeRight); + //当前节点存放的值 + tree[treeIndex] = merger.merge(tree[leftTreeIndex], tree[rightTreeIndex]); + + } + + public T query(int start, int end) { + return query(0, 0, data.length - 1, start, end); + } + + /** + * @param treeIndex 当前查找的节点 + * @param treeLeft treeIndex的左边界 + * @param treeRight treeIndex的右边界 + * @param queryL 用户需要查找的左边界 + * @param queryR 用户需要查找的右边界 + * @return + */ + private T query(int treeIndex, int treeLeft, int treeRight, int queryL, int queryR) { + + //1, 需要查找的范围完刚好在这个treeIndex节点的区间 + if (treeLeft == queryL && treeRight == queryR) { + return tree[treeIndex]; + } + + //当前节点的区间的中间点 + int mid = treeLeft + (treeRight - treeLeft) / 2; + //左子树索引 + int leftTreeIndex = getLeft(treeIndex); + //右子树索引 + int rightTreeIndex = getRight(treeIndex); + + + //2, 需要查找的范围完全在左子树的区间里 + if (queryR <= mid) { + return query(leftTreeIndex, treeLeft, mid, queryL, queryR); + } + //3, 需要查找的范围完全在右子树区间里 + if (queryL >= mid + 1) { + return query(rightTreeIndex, mid + 1, treeRight, queryL, queryR); + } + + //需要查找的范围一部分在左子树里,一部分在右子树中 + T left = query(leftTreeIndex, treeLeft, mid, queryL, mid); + T right = query(rightTreeIndex, mid + 1, treeRight, mid + 1, queryR); + return merger.merge(left, right); + } + + + public void update(int index, T e) { + data[index] = e; + update(0, 0, data.length - 1, index, e); + } + + + private void update(int treeIndex, int treeLeft, int treeRight, int index, T e) { + if (treeLeft == treeRight) { + tree[treeIndex] = e; + return; + } + + int mid = treeLeft + (treeRight - treeLeft) / 2; + int leftChildIndex = getLeft(treeIndex); + int rightChildIndex = getRight(treeIndex); + + if (index <= mid) { + update(leftChildIndex, treeLeft, mid, index, e); + } else if (index >= mid + 1) { + update(rightChildIndex, mid + 1, treeRight, index, e); + } + + //更改完叶子节点后,还需要对他的所有祖辈节点更新 + tree[treeIndex] = merger.merge(tree[leftChildIndex], tree[rightChildIndex]); + } + + public T get(int index) { + return data[0]; + } + + public int size() { + return data.length; + } + + public int getLeft(int index) { + return index * 2 + 1; + } + + public int getRight(int index) { + return index * 2 + 2; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("["); + for (int i = 0; i < tree.length; i++) { + if (tree[i] == null) { + continue; + } + builder.append(tree[i]).append(','); + } + builder.deleteCharAt(builder.length() - 1); + builder.append(']'); + return builder.toString(); + } +} +``` \ No newline at end of file diff --git a/数据结构/10 字典树.md b/数据结构/6.13 字典树.md similarity index 100% rename from 数据结构/10 字典树.md rename to 数据结构/6.13 字典树.md diff --git a/数据结构/6.9 特异树.md b/数据结构/6.15 特异树.md similarity index 100% rename from 数据结构/6.9 特异树.md rename to 数据结构/6.15 特异树.md diff --git a/数据结构/6.9 差分数组.md b/数据结构/6.9 差分数组.md new file mode 100644 index 00000000..1089fe56 --- /dev/null +++ b/数据结构/6.9 差分数组.md @@ -0,0 +1,110 @@ +# 差分数组Sparse Array + + +## 1 定义 + +* 定义:原数组为a,差分数组为d,那么有 +$$ +d[i] = a[i] - a[i - 1] +$$ + +![](image/2021-03-26-17-36-48.png) + +* 其实差分数组是一个**辅助数组**,从侧面来表示给定某一数组的变化,一般用来对数组进行区间修改的操作 + +## 2 性质 +1. a[i]等于d[i]的前缀和 + +$$ +a[i] = \sum_{0}^i d_i +$$ + +2. d[i]等于a[i]两个临近元素的差 +$$ +d[i] = a[i] - a[i - 1] +$$ + +## 3 应用 +### 区间修改 + +* 当对一个区间进行增减某个值的时候,他的差分数组对应的区间左端点的值会同步变化,而他的右端点的后一个值则会相反地变化。他们的差分数组其实是不会变化的。 + +* 例如:将区间【1,4】的数值全部加上3 + +![](image/2021-03-26-17-47-36.png) + +* [l,r]区间内的数加k可以表示为如下形式: + +$$ +d[l]+k\\ +d[r+1]-k +$$ + +### 元素求值 +* 既然我们要对区间进行修改,那么差分数组的作用一定就是求多次进行区间修改后的数组。 +* 直接反过来即得 +$$ +a[i]=a[i-1]+d[i] +$$ + +## 实例1 区间涂色 + + +### 问题描述 + +* N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗? + +### 问题分析 + +* 多次区间修改后求数组的值。 + + +### 算法实现 + +```C++ +#include +#include +#include +#include +#include +#include +#define ll long long +#define mem(a,b) memset(a,b,sizeof(a)) +using namespace std; +const int inf=0x3f3f3f3f; +const int mm=1e5+10; + +int a[mm],b[mm]; +int x,y; +int main() +{ + int n; + while(scanf("%d",&n)&&n){ + mem(a,0); + mem(b,0); + for(int i=1;i<=n;i++){ + scanf("%d%d",&x,&y); + b[x]++; + b[y+1]--; + } + for(int i=1;i<=n;i++) + a[i]=a[i-1]+b[i]; + + for(int i=1;i **二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0**。 - -**存储结构** - -使用二分查找需要两个前提: - -(1) 必须是**顺序**存储结构。 - -(2) 必须是**有序**的表。 - -**基本思想** - -首先,将表**中间位置**记录的关键字与查找关键字比较,如果两者相等,则查找成功; - -否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。 -重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。 - -**核心代码** - -```java -public int binarySearch(int[] list, int length, int key) { - int low = 0, mid = 0, high = length - 1; - while (low <= high) { - mid = (low + high) / 2; - if (list[mid] == key) { - return mid; // 查找成功,直接返回位置 - } else if (list[mid] < key) { - low = mid + 1; // 关键字大于中间位置的值,则在大值区间[mid+1, high]继续查找 - } else { - high = mid - 1; // 关键字小于中间位置的值,则在小值区间[low, mid-1]继续查找 - } - } - return -1; -} -``` - -**算法分析** - -**二分查找的过程可看成一个二叉树**。 - -把查找区间的中间位置视为树的根,左区间和右区间视为根的左子树和右子树。 - -由此得到的二叉树,称为二分查找的判定树或比较树。 - -由此可知,二分查找的**平均查找长度**实际上就是树的高度**O(log2N)**。 - -**二分查找的局限性** - -- 二分查找依赖的是顺序表结构,简单点说就是数组 -- 二分查找针对的是有序数据 -- 数据量太小不适合二分查找 -- 数据量太大也不适合二分查找 - -## 分块查找 - -**要点** - -分块查找(Blocking Search)又称**索引顺序查找**。它是一种性能介于顺序查找和二分查找之间的查找方法。 - -分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。 - -**存储结构** - -分块查找表是由**“分块有序”的线性表**和**索引表**两部分构成的。 - -所谓**“分块有序”的线性表**,是指: - -假设要排序的表为R[0...N-1],**将表均匀分成b块**,前b-1块中记录个数为s=N/b,最后一块记录数小于等于s; - -每一块中的关键字不一定有序,但**前一块中的最大关键字必须小于后一块中的最小关键字**。 - -***注:这是使用分块查找的前提条件。*** - -如上将表均匀分成b块后,抽取各块中的**最大关键字**和**起始位置**构成一个索引表IDX[0...b-1]。 - -由于表R是分块有序的,所以**索引表是一个递增有序表**。 - -下图就是一个分块查找表的存储结构示意图 - -![img](https://upload-images.jianshu.io/upload_images/3101171-b7ad44c68d0c3c75.png) - -**基本思想** - -分块查找算法有两个处理步骤: - -**(1) 首先查找索引表** - -因为分块查找表是“分块有序”的,所以我们可以通过索引表来锁定关键字所在的区间。 - -又因为索引表是递增有序的,所以查找索引可以使用顺序查找或二分查找。 - -**(2) 然后在已确定的块中进行顺序查找** - -因为块中不一定是有序的,所以只能使用顺序查找。 - -**代码范例** - -![img](http://upload-images.jianshu.io/upload_images/3101171-2737612c781e66e8.gif?imageMogr2/auto-orient/strip) - -```java -class BlockSearch { - - class IndexType { - public int key; // 分块中的最大值 - public int link; // 分块的起始位置 - } - - // 建立索引方法,n 是线性表最大长度,gap是分块的最大长度 - public IndexType[] createIndex(int[] list, int n, int gap) { - int i = 0, j = 0, max = 0; - int num = n / gap; - IndexType[] idxGroup = new IndexType[num]; // 根据步长数分配索引数组大小 - - while (i < num) { - j = 0; - idxGroup[i] = new IndexType(); - idxGroup[i].link = gap * i; // 确定当前索引组的第一个元素位置 - max = list[gap * i]; // 每次假设当前组的第一个数为最大值 - // 遍历这个分块,找到最大值 - while (j < gap) { - if (max < list[gap * i + j]) { - max = list[gap * i + j]; - } - j++; - } - idxGroup[i].key = max; - i++; - } - - return idxGroup; - } - - // 分块查找算法 - public int blockSearch(IndexType[] idxGroup, int m, int[] list, int n, int key) { - int mid = 0; - int low = 0; - int high = m -1; - int gap = n / m; // 分块大小等于线性表长度除以组数 - - // 先在索引表中进行二分查找,找到的位置存放在 low 中 - while (low <= high) { - mid = (low + high) / 2; - if (idxGroup[mid].key >= key) { - high = mid - 1; - } else { - low = mid + 1; - } - } - - // 在索引表中查找成功后,再在线性表的指定块中进行顺序查找 - if (low < m) { - for (int i = idxGroup[low].link; i < idxGroup[low].link + gap; i++) { - if (list[i] == key) - return i; - } - } - - return -1; - } - - // 打印完整序列 - public void printAll(int[] list) { - for (int value : list) { - System.out.print(value + " "); - } - System.out.println(); - } - - // 打印索引表 - public void printIDX(IndexType[] list) { - System.out.println("构造索引表如下:"); - for (IndexType elem : list) { - System.out.format("key = %d, link = %d\n", elem.key, elem.link); - } - System.out.println(); - } - - public static void main(String[] args) { - int key = 85; - int array2[] = { 8, 14, 6, 9, 10, 22, 34, 18, 19, 31, 40, 38, 54, 66, 46, 71, 78, 68, 80, 85 }; - BlockSearch search = new BlockSearch(); - - System.out.print("线性表: "); - search.printAll(array2); - - IndexType[] idxGroup = search.createIndex(array2, array2.length, 5); - search.printIDX(idxGroup); - int pos = search.blockSearch(idxGroup, idxGroup.length, array2, - array2.length, key); - if (-1 == pos) { - System.out.format("查找key = %d失败", key); - } else { - System.out.format("查找key = %d成功,位置为%d", key, pos); - } - } - -} -``` - -**运行结果** - -``` -线性表: 8 14 6 9 10 22 34 18 19 31 40 38 54 66 46 71 78 68 80 85 -构造索引表如下: -key = 14, link = 0 -key = 34, link = 5 -key = 66, link = 10 -key = 85, link = 15 - -查找key = 85成功,位置为19 -``` - -**算法分析** - -因为分块查找实际上是两次查找过程之和。若以二分查找来确定块,显然它的查找效率介于顺序查找和二分查找之间。 - -## 三种线性查找的PK - -(1) 以平均查找长度而言,二分查找 > 分块查找 > 顺序查找。 - -(2) 从适用性而言,顺序查找无限制条件,二分查找仅适用于有序表,分块查找要求“分块有序”。 - -(3) 从存储结构而言,顺序查找和分块查找既可用于顺序表也可用于链表;而二分查找只适用于顺序表。 - -(4) 分块查找综合了顺序查找和二分查找的优点,既可以较为快速,也能使用动态变化的要求。 - -## 资源 - -《数据结构习题与解析》(B级第3版) diff --git a/数据结构/image/2021-03-26-17-36-48.png b/数据结构/image/2021-03-26-17-36-48.png new file mode 100644 index 0000000000000000000000000000000000000000..937f5de0036780225b5d031164380dd746469607 GIT binary patch literal 6185 zcmbtYXH-+$w#ITqK)QfP6A_T!M0!z>A{_!qMh8}o1@4g@RzVUv%aqo}4=la$fbMCpQBiTU>1#g%ymTbuOgy-*vFXgqb(TN)d~E~P2K9>o;{bjR1&G_vvG&oN-#a^TjQ=v zO^P@J8oPb0J|Z{1o+!|FK=5{7ka{Q3SO00uGxvD#@Kx?uf%aV)S=qfwYbPa2itUdq z%s?(Kol(Z2d=&UX)6k~j9=P0RHH50%*11_VpYJ*x@N)rIP|PB;@+B&& zA1aT9DIiSupPg{LkJoz6KKtx*9q2?7FdhNB=^B)nnw~^{aPR@WGCnInKXJDX5BC;I zIk=>Gl*;XI1SF!~6efsVIomkwZoPKpnEfWloip9T`pOPF{d&l&NRZmAblGHJad{dt z=3%)dhFMu`p<@g@+=tL5N^oq8+!a?z>;Ix_H{rT#DEa~WcFykm6wi}#xWNjpYXx5y zCh94X8FER;6+dRG@V&lyw&G2F(uh)@J}RM+ODpF-L@C-j{KjqhE$({9G1&py$|o?Xjxkl>~B1?6I+QL zYh+EtV#hvN<)?fl=)4{-7|<7f=2N@O`ti%Hc1CA1V0n;w57e@&y8X?yU;xg`wU3;P zdf?opNrf!D;?d8%l^(0pGCiPj?dwyYb#RSlY+Uv4j-UBOpZ|2q-AW;3Ea$f|?;*YcN_I3VT zLiL`;rXjzAd^g<8n*gjmy9rIHcHGGveKI+J6mN0$(+Be1&e6L^Eh(3=KMsqSXci?I zgqT>${N9)NMApALI_T!aJi7PJKT3C^`9%Uh9e5ca<;0T(J-IX)@!)-Er#%!L*e?0& z_m9W-GwRg24CwfAOoxbt(dOm&RQDI|_|YMs5vjQmI6%wi#$`m&<$NVziOxh_-|Hr` z7E$NmgMut9=gxO8tAsUB+AY1+ai?hi_QJVi4rL6`)Z@x}WTif0lsxZ$?+87P|8A-(!vb>h1TyQ)gUWB33Tui7|YQbFXJ|Q1nF~ z;c{8%)%BhHIc3_}0xyq6=dUi(q1ue-E)5^wMDHl$*v*AmPqreFou=_7SP5-eOg#&e zPD{xkx#y}};*uX1eP%+cqTH^tknxjkB1if>4#k<)?^$1L-jv|hWV?QH74a>%*+FmW z1axc2J1@rq7*J4ZwLTaT?%X<(xyyFF^4n3-Upd8_0RTU_6f<=by`6QhVzwpBTYwUP z`T}~VM5aah7UqcC1+lr_(EUa_*XX{CzsK#k>o5ip@Ybs7-K1NbobZnyYeQ1aqb~&Q zq9mz5R`m7Vwj0#xMrL8oSo6KAs;hGq13MS4=jWr($*%MdHKxq=3kA(yvfd8bz=)70 zw1;k|8ACAUEUaqbYw}C3cqZ;gzbI88rWoo`bA?hfLUsPRX8c=)=3kwnSz^C^|Nb3e zkU`*~#BYCeiXXB6E@grt3pE)x6cIl4?(~goV$K3s7c}r%GeV8ScHU zM3Ru%CTY8;)&96oidT?8`cbya;2Yx9I+@j=kXlvOZ?&mWz9oOZV$iG2#97T-!ZmKr zsc4!sS?v2^@!({#nrJ-eD77AH+T7q11c_h}>(p#OexNTS3BB`vez=Xvb3^k}uB=aQ zwjd(UHa@v~_w^0sh)pThFgl$UbgQpU9~`x+thUtccImGr`?p$VMc{7Af8NqfG0w1S zCLBSJXB*GK?$$2D=IFIP2n5u6dJwl#A!@M!T}y7!^{a3iWS5*+LoRzAJPj9e5B5Vp z>^&r(T}Kgc=kMp}TJm}Zb6x;e5ct77^qN0V*PMULZ^nN}zg)6WbSO=6Q<(2bsJt8a zm+D5-S)Pi57<4kz_E6xk5FwSZ7v#LJamgSXQZ9ZYvN5t!(wq)kdaW0nuA>H$c{8YO zZo)h1u#Ckiz`}jyBCvDu2Cq)HHmNdg|3Xv`Joi~OhPk6c0Ov)nfqj05HR8Rv{-+1n zg_(TXNQr$q-JWXIjfoNJ2lS+7-0jnOUL-i;jQq^nx9&w4o4t<%r!Z`msJVW26gW=P z9c0;1_v#xS%63%!{_{i`hh1Q(fPGVUVuwLBAojS|!RK z(I7X%elJ_jmx4P8&uuHA%Pnc}ryqagB1h(Qy*yr>#B~qo5_#@cO1N1j+0OLvJVRJi zLV$*bn1Gi3<&@u0af?#>%z?C(qw&7u%3+w;rX1{C|8rvG@Cn9TeReu`x&XA)cdCS9 z{6PDTrgc#|o^klG+Y(NKFr9D!kA zB|^=&CNk=#I?^RneZ$9FV#MjCU79zDGb=~=`!=N0Ms;G&G0o})Fzt^ZG3-_wYWW^w zTk<_7$$RD5=a|M1I+V>0q--|Q9520a`Z#)c%6_^+y)3-^opmO*sHa&mb+ph z$eu*==V}MXBCfykJK(T$$J9Y9C#Nl_X1Q>F{iE^zMaxj&TJ%Wyfu^9Os-AKkHpIk< z&To;rR)KPS_!sUotWDE7NN(&Y!o-}LK}*plYqiytCf9<%Xu^Fz$hDZuA_RPd{!6rJ|SEW&X)g@udfTPIf$V#TNNI(0b zQIV7jViYPE3LX|ws+l<$?lv&)$3DxFMlPt>iq#29t{>Eu7)*;e8M6m_o!n^YQ@3~^ zAL6w&zmE#3;rJ^%^25XarS?FWG8!g&qg8G)PR4l%~$gb+RfH_RL~ zVmy_4ZmPOp$zdRlPt#KN52ImuF}~Wd=7VK~boQaWF#RJnn+FXlb*eaC646}rjQ7J(*{cM(k)$?q{i z-VwlT@gI8)JJX@Ht;*=LDz87tq-{Q*+T*%}Og@R&&a6?U?P=$!UEC(W?z*QL`PcrB?(APl)Bm@n z`$wx8gdZ0S{X6mtrl{!XNfS1CVId*k^|L(`&AtkirP^`VMl?+2dB9cEQKyUZx@%c{ zo2AEN$@jm~(Cg1DBO)?K^$(RP?*G~^{#zM2;0iz>@1xdZ_Rua%l5y3_norkkrM*QW zJZob#1PXDhfozw;6k5=ygx|%@E?a%MxpLM|iF>M)&wEBdqK6Z9sjKjyg_tt)A6;jA z+tCX%SYDO=yh_CZVU{2V^3PpEG)+El)^<14IxeK?EUW=Z+M9b$itC;U3`YQZrQlV$ zammI;pK?ws39>u;QRgdL!K>81*_O>#7n72)HX7y{`M-cy_*eXI2F0$AIp|J>QwRHS zUe=QU5SwJ~(@Hd;0AeOrV?qKuNlA2zk9lJLiXX#nWNz3UP2R{ckA1MMcVW>xYn&(c zRhLmNA!QR45CC1MA>dE(86N&O|6Fo+k-d0exv*0vy&>Lm+C zw->z|kXrdGPOnNN*w=r#KN`?rpTqV<1ZlYKC1D*EZyy2a7K6ce%KhI9Zck=0R!btE ze44Dnp&X|&!uxGYq=RlIO~|NMByQa` zls5(X#g*{W=BMWc^cE?#n(AtrweWik2_<|f&lpJNjkv`O)SYsbvO z2Q5dAkT!ov!kL)3!1G{h6>xvk^QVc$z0J08(8Ht;FAt^B^C|Duz$u=`z~AI*{H&ZY zn)cNzHWLl5bD;CVL|hGbN%)gUvsZ=}6K>}(t1Sa!g6@=JIh0!DWe#=Mp71lKUvrA> zwA9l@yRs6C8j}5yha6=H3p(JyoG7kbAhCgY@$~Lq(GDk!4LA0T3#UHmyQ2wN8y1NFze>z6HQK3fl~ zVF*;er62aWe&Cw07Lt;Md4{H-^UG}m~;$WR1@4n z^mV_Um=?PvSX92>P(M*X^Q4;HQP~&H>&YWeslV-STie2Vdy?g322NdUUF;5QIr|EU zCUV5?ceL67-QY$fq<-!?TyMs3eTqQ%ae7!N3xA-n}K!xc0R~lcq9$Yg<(K z@l~$Bb7&29NU7>nnapSBM z@h?|*QNrXO58sNqPnpdo)Fy0^azcI$SFClf+xcCO94!d0@Ca(I>Oa)4kw{4MdiawHzK_^?`x{yMK|@*^;kS!>MULhQ&DCj`M-}&L^V#|;H*Du zI{#T)%Bj4fngfN#hqID^vfD4WMRKa#hi^EMigtOM&dwJ;{Z+MQ<-$nYs;smYCInOE z41IPo`&n&|p1XGd?$k7qH`D83G7$Sj4Bj!kp($5)a9USYB64z>NiC>YPRZ5&0c%On zmu(xnEi&wjUmWj3*Netgim+0oQFT6yTrJ##gV!VP2a5XY(vL1_MKlU~q>W>PgVZjU z43{x04^h>ejC6=au8hldahacj`xi{hD)rh_<>W#i2Ak(0_0H`V_wUO@)b!%zm%bUz zp8?z5=5-R5h{um0wnj>7u4%5y5N3trcHe{O=(Y^jMjf&yy;-5c$aqaejJ=fK+FZ$M zwm)=tTS`^ME}$?PmN5=_fc(O{ydQ>dYugKS>5zI=%OkHTB-2{8)%;@UUTBH+5QHa}Rn~Dq57V%$sh3%sYW}<~*&&WFg!i0D#+LO&ijVb4SR~~r{Tb4+L0{&RL z63jm?{SCUD=UVI9UH_YzFa@kvf)1e9`^qwdPpj=X>8nhhQdIZXZ<#2xbS*T6`BN*Y zJL`CF<1w6~EdRKpjU1<_$**Bt|2b1(5M+r>N=m9}JLzAbNYhl@-2Y8aO8=oz0do0uap_}U)XiLg!d=QNmHrcB?dr$QfBqM=3M9?| literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-17-47-36.png b/数据结构/image/2021-03-26-17-47-36.png new file mode 100644 index 0000000000000000000000000000000000000000..2346bf7fd929a8a4103337778630940c8d3abf58 GIT binary patch literal 7973 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 literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-18-06-40.png b/数据结构/image/2021-03-26-18-06-40.png new file mode 100644 index 0000000000000000000000000000000000000000..95c55787cd93b2c66a8b9ecb235b6b6dcb47f1da GIT binary patch literal 2510 zcmb_eYfw{X8a`04A_A^<#7R*c$I4pQAh1yG!GcmjkOdJGLJ$N>C~^-Jh+(S>)m3SW zf=YoRg&0CO+%E|v2y%@;k;Dvy0Ge`3Lc(R!5E63s92{o&(V1Pl`{SJReczeyoA-I% z_j%s$wvV^F!7kJ;000cmec|Q{0NN;cys}dpe&6y_HNzjRBwzQ>f$AZX1$d$pb=vDR z0MzE{tFP+9bG`U4E++wiVHfgf^~OEB2Cs#mb31)8Eo4!kb!FVcct_}pxqIMHH^Zbe zv68RVoJaaWuesrXm)J~)I5p>(|MOzI<^3B;eYb3|JQ^?^uK7%}3ot$G4eZ=w2Izdd z572(02WY+3$pR9zU9xPo4!isa?0JvhPpZW|Id;8ogpu{8hT|)xScOq)jw{5*+Xg=B zoznvr(t8YxgYj-b+1@R4T3R_JaLoITQRps)@YRQJ}D%8Xjt(j(%YbUu;wQh7c zCg*a8F^Nk4yjH;J3VTew$@YJl=^1i-g1t6u;rP&>K^ZQ;(Vgxo^?nKQ*A0bJMNF;i zvhrVwfIWMp-e{gK*D~P4!3ACRn|boOlFR#6LDg8lWpfi68>~Bt_aOdc2;*eEg9Q{P zj=2jdpBY}5f4Gc+P$%c?^QAgjS%ImRjp%3jP4-0a=ozboU+NpVjjHT zBo0$no?cq&L0*}-wRgEB{J?BKPfY!!iY-l0lbxehp(kkf6G^OuD=sZCMeHU3OUvk-uC5%Zt2xX8R zv<@HMZQg8g_gVk|U-(gD@D7nvRpI(E3kT z5~5|n@FAGY0Z=kqnY#0{Vb_>M0<^T3K=6Wzj!_CR)_ihLlE}GqT`+?CAZUjGDZFd> z8=63TV8K1l`no&w;u08VHp{QKLExB=x`Y>o(f-o5-pH#_Ju7~5=_OPppo1x@GEN%4 zCOVgB?M0arGB1ug=6_1;kE8WlvK%&x`PYLfPK2)%S`K4{BnjIG=PGY zO=4!#g&be`?&dHJskrMp7O&!L5cFyY^SOmh9Hrunze0%B&_3BzN8UNIbtjXfM3s`d z>qsLjl#5PXQ^%e9f5~^$G)GXGM_8(neEWk5AJ0Njd`WIO8vJJ)?dwc*%0!&UJ@S6n zO(`A2PL^T~*mViFZHnI-aT~9b27g_iqaE$eC13|mtaygPaf}z3@&}cJ7H1ZF8LoWZ z^uLOAV{uWULp7Miubc}vRoNDXU-X$W{xUkFT{gnGUM-ip!&C)XK$r{dN91i&1*i)K zA~hyC$9GPkq~I2&w9*BKJh-de1*eA!;>mZ?R)+Wr%zTrcJO1B?e@68A%|iS5zqfCz7>?mm)x_qOS4iW)jlP);7kS7!m%!s` zZ>qT>!B=*rrLC~E5_;N^=Fqj<4>}ll4EC&Xn4M@vFc{K{w~56Wi<~Z#(KBQ_#VcGM z;vsP;vo4!Eb*L;^AB+gD+u!2)Up_jHU?IzKe)?5}BEdjqIbHWm;+`^pW7|>3QO+ zp{mY`2|`LRaTpxhdzQH(c)o%FOf&Ny5J~X*4KW%P(Dw?q=B=*MR$nh(H@1?5K2D_S zdoqtSxBncaZZ$?cWnv4uY)tnZ2Y;+9ZHxZD=xIMK(649O(xRU%{|S6-l?~tukp!mF z_YwOu(;t8Xsn1PjF-UkX^v-`uy#4yxvG9Lv>y$83`t!67oid%DVABnKja^?J+5IMfO%nb*Al;%@jye+M;rLT(8Df>d@+r>`8`| zjNttLTqphm?9JN-7>(fTa7t5=*XKrHdQXiN&3gh;o;>5D-;vBTb6=KuH_;53sD)Ds pJVIb?A=xU)ZTBFfAezSLqbt>8R!29)@Er^|cgEYT`t#6l{te;IZ07&~ literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-18-42-22.png b/数据结构/image/2021-03-26-18-42-22.png new file mode 100644 index 0000000000000000000000000000000000000000..38712765e572286d9cc9f6971d44ec53b0936896 GIT binary patch literal 78971 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 z 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 T*EBtb00000NkvXXu0mjfL>N^A literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-18-52-43.png b/数据结构/image/2021-03-26-18-52-43.png new file mode 100644 index 0000000000000000000000000000000000000000..5afbd8d7be8bda8cc9fb7c294713ef79e43b93bf GIT binary patch literal 20016 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 Zk+p5scCf7~@!yc-zOJ!Ojka^#e*j<_6hHs~ literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-19-16-22.png b/数据结构/image/2021-03-26-19-16-22.png new file mode 100644 index 0000000000000000000000000000000000000000..74933ec5038e1825f1de194a2b7258213ca74d2d GIT binary patch literal 19681 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 literal 0 HcmV?d00001 diff --git a/数据结构/image/2021-03-26-19-17-16.png b/数据结构/image/2021-03-26-19-17-16.png new file mode 100644 index 0000000000000000000000000000000000000000..ef681c82626b90d43b062efd40860d70dccc03a4 GIT binary patch literal 24798 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 ( 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\> | 右移 -<< | 左移 +符号|说明|特性 +|----|----|---| +& | 按位与 | 只要有0,返回0 +\| | 按位或| 只要有1,返回1 +^ | 按位异或| 相同返回0。不同返回1 +\~ | 按位取反| 全部反转 +\>\> | 右移| +<< | 左移| ## 2 特殊性质 操作 | 性质 |-----| -----| -n & (n - 1) | n中的最后一个1变成0 -^ | 相同的数抑或运算等于零。不同的数抑或运算等于1 +n & (n - 1) | n中的最后一个1变成0。 +n & (\~n + 1) | lowbit()运算,n中最后一个1保留。 n/2 | 等价于 右移一位 n >> 1 n*2 | 等价于 左移一位 n << 1 n % 2 |等价于 判断二进制最右一位值 n \& 1 diff --git a/算法/A类:基本算法/4.7 数组中的逆序对.md b/算法/A类:基本算法/4.7 数组中的逆序对.md new file mode 100644 index 00000000..3ee69d38 --- /dev/null +++ b/算法/A类:基本算法/4.7 数组中的逆序对.md @@ -0,0 +1,86 @@ +## 1 数组中的逆序对 + +### 问题描述 + +在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 + +### 问题分析 + + + +### 策略选择 + +* 数据结构:线性数组 +* 算法思想:变质法。将搜索查找问题修改为排序问题。归并排序 + +### 算法设计 + +* 归并排序」是分治思想的典型应用,它包含这样三个步骤: + * 分解: 待排序的区间为 [l, r][l,r],令 m = \lfloor \frac{l + r}{2} \rfloorm=⌊2l+r⌋,我们把 [l, r][l,r] 分成 [l, m][l,m] 和 [m + 1, r][m+1,r] + * 解决: 使用归并排序递归地排序两个子序列 + * 合并: 把两个已经排好序的子序列 [l, m][l,m] 和 [m + 1, r][m+1,r] 合并起来 + +* 在归并排序过程中。后边列表的数添加到前边之后。前边列表中数的量,就是本次排序逆序数的量。 + +### 算法分析 + +* 时间复杂度:同归并排序 O(n \log n)O(nlogn)。 +* 空间复杂度:同归并排序 O(n)O(n), + +### 算法实现 + +```C++ +#include +#include +#include + +using namespace std; +class Solution { +public: + int reversePairs(vector& nums) { + + int count=0; + vector temps(nums.size()); + merge_sort(nums,0,nums.size()-1,count,temps); + return count; + + } + int merge_sort(vector&nums,int beg,int end,int &count,vector&temps){ + //进行头递归,分解 + int mid=0; + if(begtJ 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 YPJd5%RBz@OK>DznlIFugg}+|^FKoh!`v3p{ diff --git a/算法/B类:数据结构算法/image/2021-03-26-15-18-18.png b/算法/B类:数据结构算法/image/2021-03-26-15-18-18.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a524ccc9a0714588ee881c3fdaa7a38d8b292d GIT binary patch literal 46260 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 JSWE-b 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 nums) {