算法分析和设计选择和判断

news2024/9/27 5:49:39

算法分析和设计选择和判断

目录

平时测试

1.算法概述

1.1渐进符号的概念

1.2求时间复杂度

1.3比较时间复杂度

1.4时间复杂度定义

1.5算法的有效性

1.6算法的性质

1.7顺序搜索法

1.8渐进算法分析

2.递归和分治策略

2.1归并排序

2.2归并的空间复杂度

2.3插入排序

2.4递归

2.5归并排序

2.6外排序

2.7二分查找

2.8分治法

2.9快速排序

2.10二分查找

2.11归并排序

2.12分治法思想

2.13快速排序

2.14算法分析的主要方面

2.15快速排序时间复杂度

2.16比较算法

2.17时间复杂度

2.18判断:插入排序

3.动态规划

3.1切原木问题

3.2动态规划

3.3递推方程

3.4最优二叉树

3.5动态规划

3.6动态规划相关

4.贪心算法

4.1 0-1背包问题

4.2哈夫曼编码

4.3哈夫曼编码

4.4活动选择问题

4.5局部最优解

4.6活动选择问题

4.7活动选择问题

4.8最优前缀编码

5.回溯和分治限界法

5.1分治限界法

5.2优先队列

5.3回溯和分支限界法

5.4回溯搜索法

5.5回溯解决最优装载

1.算法概述作业题

2.分治法作业

3.动态规划

4.贪心算法

5.分支限界法


1.算法概述

1.1渐进符号的概念

算法分析中,记号O表示渐进上界,记号Ω表示( )

A.渐进下界

B.渐进上界

C.非紧上界

D.紧渐进界

1.2求时间复杂度

2n+ n + 2100 ,以下( )是不正确描述

  • A.Ω(logn) 下界
  • B.2100
  • C.Θ(n2)紧确界
  • D.O(n3)上界

渐进上界:存在n0和c比当前的函数值大就行。

渐进下界:存在n0和c比当前的数小就行

紧确界:存在n0和c1和c2使得当前函数在中间

1.3比较时间复杂度

当输入规模为n时,算法增长率最小的是( )。

  • A.2n2
  • B.20log2n
  • C.3nlog3n
  • D.5n

常数<对数<线性

2n2算法的增长率是O(n^2)

20log2n的增长率为O(logn)

3nlog3n增长率为O(nlogn)

5n的是O(n)

所以说B是最小的

1.4时间复杂度定义

判断什么时候用什么时间复杂度

当上下限表达式相等时,我们使用下列哪种表示法来描述算法代价?( )

  • A.大Ω表示法
  • B.Θ表示法
  • C.大O表示法
  • D.小o表示法

解析:关键点就是上下限相等

1.5算法的有效性

概念理解:什么叫做算法的有效性

解决一个问题通常有多种方法。若说一个算法“有效”是指( )。

  • A.这个算法比其他已知算法都更快地将问题解决
  • B.这个算法能在一定的时间和空间资源限制内将问题解决
  • C.这个算法能在人的反应时间内将问题解决
  • D.这个算法能在一定的时间和空间资源限制内将问题解决;这个算法比其他已知算法都更快地将问题解决。

解析:算法肯定是有限制的,需要在一定的空间和时间资源的限制中去完成我们需要完成的事情。

1.6算法的性质

算法性质的概念

一个算法应该包含如下几条性质,除了( )。

  • A.有限性
  • B.正确性
  • C.可终止性
  • D.二义性

解析:算法的性质

  • 有限性
  • 正确性
  • 可终止
  • 确定性

1.7顺序搜索法

采用“顺序搜索法”从一个长度为N的随机分布数组中搜寻值为K的元素。以下对顺序搜索法分析正确的是( )。

  • A.最佳情况的渐进代价要好于平均情况的渐进代价,而平均情况的渐进代价要好于最差情况的渐进代价
  • B.最佳情况、最差情况和平均情况下,顺序搜索法的渐进代价都相同
  • C.最佳情况的渐进代价要好于最差情况和平均情况的渐进代价
  • D.最佳情况和平均情况的渐进代价要好于最差情况的渐进代价

解析:

最佳就是第一个就是我们需要找的元素,代价是最小的

最坏:最后一个或者是找不到。代价最大需要比较所有的元素

平均:需要比较大约一半的元素。

1.8渐进算法分析

渐进算法分析的概念。和渐进符号是有关系的。

渐进算法分析是指( )。

  • A.算法在最佳情况、最差情况和平均情况下的代价
  • B.在最小输入规模下算法的资源代价
  • C.数据结构所占用的空间
  • D.当规模逐步往极限方向增大时,对算法资源开销“增长率”上的简化分析

解析:就是对算法资源开销的一种简化分析。

2.递归和分治策略

2.1归并排序

归并排序的时间复杂度

对N个记录进行归并排序,归并趟数的数量级是( ):

  • A.O(logN)
  • B.O(N2 )
  • C.O(N)
  • D.O(NlogN)

解析:

拆分的时间复杂度是O(logN),因为每次拆分都将数组规模减半,需要进行logN次拆分。

合并的时间复杂度是O(N),因为合并过程需要比较和移动每个元素,而每个元素最多只会被比较和移动一次。

因此,总的时间复杂度是O(NlogN)。

private static void mergeSort(int[] arr) {

    mergeSort(arr, 0, arr.length - 1);

}

private static void mergeSort(int[] arr, int low, int high) {

    int mid = (low + high) / 2;

    if (low < high) {

        mergeSort(arr, low, mid);

        mergeSort(arr, mid + 1, high);

        //左右归并

        merge(arr, low, mid, high);

    }

}

private static void merge(int[] arr, int low, int mid, int high) {

    int[] temp = new int[high - low + 1];

    int i = low;

    int j = mid + 1;

    int k = 0;

    // 把较小的数先移到新数组中

    while (i <= mid && j <= high) {

        if (arr[i] < arr[j]) {

            temp[k++] = arr[i++];

        } else {

            temp[k++] = arr[j++];

        }

    }

    // 把左边剩余的数移入数组

    while (i <= mid) {

        temp[k++] = arr[i++];

    }

    // 把右边边剩余的数移入数组

    while (j <= high) {

        temp[k++] = arr[j++];

    }

    System.arraycopy(temp, 0, arr, low, temp.length);

}

2.2归并的空间复杂度

需要借助一个temp数组

对N个记录进行归并排序,空间复杂度为( ):

  • A.O(N)
  • B.O(NlogN)
  • C.O(logN)
  • D.O(N2)

解析:

在归并排序中,需要使用额外的空间来存储临时数组。这个临时数组的长度与待排序的数组长度相同,所以空间复杂度是O(N)。

2.3插入排序

下列排序算法中,( )算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)

  • A.冒泡排序
  • B.快速排序
  • C.堆排序
  • D.插入排序

解析:

插入排序算法可能出现在最后一趟开始之前,所有的元素都不在其最终的位置上。

插入排序是一种简单直观的排序算法,在每一趟排序中,它将一个元素插入到已排序序列的合适位置,并保持已排序序列的顺序。当待排序数组中的元素相对有序时,插入排序可以达到较好的效率。

然而,如果待排序数组是逆序的或者部分有序的,插入排序需要进行多次元素交换才能将一个元素移动到其最终位置。因此,在最后一趟开始之前,所有的元素都可能不在其最终的位置上。

2.4递归

递归通常用( )来实现。

  • A.有序的线性表
  • B.数组
  • C.栈
  • D.队列

解析:

在递归算法中,每次递归调用都会将当前的执行状态(包括变量值、返回地址等)保存在栈中,然后进入下一层递归。当递归到达基本情况(递归结束条件)后,开始逐层返回,并从栈中取回保存的执行状态,继续执行之前的操作。

由于递归的本质是函数的嵌套调用,而函数调用的时候会使用栈来保存执行状态,因此栈结构在实现递归时非常常用。

2.5归并排序

若数据元素序列{ 12, 13, 8, 11, 5, 16, 2, 9 }是采用下列排序方法之一得到的第一趟排序后的结果,则该排序算法只能是( ):

  • A.堆排序
  • B.归并排序
  • C.快速排序
  • D.选择排序

解析:

2.6外排序

在外排序中,设我们有5个长度分别为2、8、9、5、3的有序段。则下列哪种归并顺序可以得到最短归并时间?( )

  • A.归并长度为2和3的有序段,得到段Run#1;将Run#1与长度为5的有序段归并,得到段Run#2;归并长度为8和9的有序段,得到段Run#3;归并Run#2和Run#3
  • B.归并长度为2和3的有序段,得到段Run#1;归并长度为5和8的有序段,得到段Run#2;归并Run#1和Run#2,得到段Run#3;将Run#3与长度为9的有序段归并
  • C.归并长度为2和3的有序段,得到段Run#1;归并长度为5和8的有序段,得到段Run#2;将Run#2与长度为9的有序段归并,得到段Run#3;归并Run#1和Run#3
  • D.归并长度为2和3的有序段,得到段Run#1;将Run#1与长度为5的有序段归并,得到段Run#2;将Run#2与长度为8的有序段归并,得到段Run#3;将Run#3与长度为9的有序段归并

2.7二分查找

对线性表进行二分查找时,要求线性表必须( )。

  • A.以链接方式存储
  • B.以链接方式存储,且结点按关键字有序排序
  • C.以顺序方式存储
  • D.以顺序方式存储,且结点按关键字有序排序

2.8分治法

用分治法解决一个规模为N的问题。下列哪种方法是最慢的?( )

  • A.每步将问题分成规模均为N/3的3个子问题,且治的步骤耗时O(NlogN)
  • B.每步将问题分成规模均为N/3的2个子问题,且治的步骤耗时O(NlogN)
  • C.每步将问题分成规模均为N/2的3个子问题,且治的步骤耗时O(N)
  • D.每步将问题分成规模均为N/3的2个子问题,且治的步骤耗时O(N)

2.9快速排序

采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是( ):

  • A.每次划分后,先处理较短的分区可以减少递归次数
  • B.递归次数与初始数据的排列次序无关
  • C.每次划分后,先处理较长的分区可以减少递归次数
  • D.递归次数与每次划分后得到的分区处理顺序无关

解析:

2.10二分查找

用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是( ):

  • A.10
  • B.99
  • C.50
  • D.7

解析:二分查找的最大比较次数是⌊ l o g ( N ) ⌋ + 1 \lfloor log(N) \rfloor+1⌊log(N)⌋+1

二分搜索方法充分利用了元素间的次序关系,采用分治策略,可在最坏情况下用 O(logn) 时间完成搜索任务;该题中有log100+1=6+1=7

2.11归并排序

给定 100,000,000 个待排记录,每个记录 256 字节,内存为128MB,一次只能读入512个记录,若采用简单2路归并,需要做多少轮?( )

  • A.9
  • B.8
  • C.10
  • D.7

解析:1MB有4个记录,内存总共128×4 = 512个记录,512=29,则需要做 log 29 = 9(log以2为底)轮;

2.12分治法思想

分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题( )。

  • A.问题规模不同,问题性质不同
  • B.问题规模相同,问题性质相同
  • C.问题规模不同,问题性质相同
  • D.问题规模相同,问题性质不同

解析:

2.13快速排序

在寻找n个元素中第k小元素问题中,如快速排序算法思想,运用分治算法对n个元素进行划分,如何选择划分基准?下面( )答案解释最合理。

  • A.以上皆可行。但不同方法,算法复杂度上界可能不同
  • B.随机选择一个元素作为划分基准
  • C.用中位数的中位数方法寻找划分基准
  • D.取子序列的第一个元素作为划分基准

2.14算法分析的主要方面

算法分析的两个主要方面是时间复杂度和空间复杂度的分析。( )

2.15快速排序时间复杂度

对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。( )

2.16比较算法

仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。( )

2.17时间复杂度

在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)( )

解析:访问节点的时间复杂度为O(N)

2.18判断:插入排序

插入排序算法在最好情况下的时间复杂度为O(n)。( )

解析:当待排序的数组已经是有序的时候,插入排序只需要进行 n-1 次比较,而不需要进行元素的移动操作。在这种情况下,插入排序的时间复杂度达到了最优值 O(n)。

因此,对于已经有序或接近有序的输入,插入排序是一种高效的排序算法,它可以快速完成排序操作。

需要注意的是,插入排序的平均时间复杂度为 O(n^2),在最坏情况下也会达到 O(n^2),因此在处理大规模随机无序的数据时,可能存在更优秀的排序算法。

3.动态规划

3.1切原木问题

切原木问题:给定一根长度为N米的原木;另有一个分段价格表,给出长度L=1,2,⋯,M对应的价格P L 。要求你找出适当切割原木分段出售所能获得的最大收益R N 。例如,根据下面给出的价格表,若要出售一段8米长的原木,最优解是将其切割为2米和6米的两段,这样可以获得最大收益R8 =P2+P6=5+17=22。而若要出售一段3米长的原木,最优解是根本不要切割,直接售出。Length L 1 2 3 4 5 6 7 8 9 10, Price PL 1 5 8 9 10 17 17 20 23 28, 下列哪句陈述是错的?( )

  • A.算法的时间复杂度是O(N2 )
  • B.此问题可以用动态规划求解
  • C.若N>M,则有RN   =max1≤i {Ri   +RN−M }
  • D.若N≤M,则有R =max{PN ,max1≤i {Ri   +RN−i   }}

3.2动态规划

在动态规划中,我们要推导出一个子问题的解与其他子问题解的递推关系。要将这种关系转换为自底向上的动态规划算法,我们需要以正确的顺序填写子问题解的表格,使得在解任一子问题时,所有它需要的子问题都已经被解决了。在下列关系式中,哪一个是不可能被计算的?( )

  • A.A(i,j)=F(A(i,j−1),A(i−1,j−1),A(i−1,j+1))
  • B.A(i,j)=F(A(i−2,j−2),A(i+2,j+2))
  • C.A(i,j)=min(A(i−1,j),A(i,j−1),A(i−1,j−1))
  • D.A(i,j)=F(A(min{i,j}−1,min{i,j}−1),A(max{i,j}−1,max{i,j}−1))

3.3递推方程

给定递推方程 f i,j,k   =f i,j+1,k   + min 0≤l≤k   {f  i−1,j,l +w j,l   }。要通过循环解此方程,我们一定不能用下列哪种方法填表?( )

  • A.for k in 0 to n: for i in 0 to n: for j in n to 0
  • B.for i in 0 to n: for j in n to 0: for k in n to 0
  • C.for i in 0 to n: for j in 0 to n: for k in 0 to n
  • D.for i in 0 to n: for j in n to 0: for k in 0 to n

3.4最优二叉树

最优二叉搜索树的根结点一定存放的是搜索概率最高的那个关键字。( )

3.5动态规划

如果一个问题可以用动态规划算法解决,则总是可以在多项式时间内解决的。( )

3.6动态规划相关

用动态规划而非递归的方法去解决问题时,关键是将子问题的计算结果保存起来,使得每个不同的子问题只需要被计算一次。子问题的解可以被保存在数组或哈希散列表中。( )

4.贪心算法

4.1 0-1背包问题

对于0-1背包问题和背包问题的解法,下面( )答案解释正确。

  • A.0-1背包问题和背包问题都可用贪心算法求解
  • B.0-1背包问题可用贪心算法求解,但背包问题则不能用贪心算法求解
  • C.0-1背包问题不能用贪心算法求解,但可以使用动态规划或搜索算法求解,而背包问题则可以用贪心算法求解
  • D.因为0-1背包问题不具有最优子结构性质,所以不能用贪心算法求解

4.2哈夫曼编码

给定一段文本中的 4 个字符 (u,v,w,x) 及其出现频率 (fu,fv,fw,fx)。若对应的哈夫曼编码为 u: 00, v: 010, w: 011, x: 1,则下列哪组频率可能对应(fu,fv,fw,fx)? ( )

  • A.15, 23, 16, 45
  • B.30, 21, 12, 33
  • C.41, 12, 20, 32
  • D.55, 22, 18, 46

4.3哈夫曼编码

给定一段文本中的4个字符(a, b, c, d)。设a和b具有最低的出现频率。下列哪组编码是这段文本可能的哈夫曼编码?( )

  • A.a: 000, b:001, c:01, d:1
  • B.a: 000, b:001, c:01, d:11
  • C.a: 000, b:001, c:10, d:1
  • D.a: 010, b:001, c:01, d:1

4.4活动选择问题

在活动选择问题(Activity Selection Problem)中,令 S 为活动的集合。以“每次收集最迟开始的活动”为贪心原则,可以正确找到 S 中相互兼容活动的最大规模的子集合。( )

4.5局部最优解

只有当局部最优跟全局最优解一致的时候,贪心法才能给出正确的解。( )

4.6活动选择问题

令S为活动选择问题(Activity Selection Problem)中所有活动的集合。则一定存在S的某个最大相容活动子集是包含了最早结束的活动am的。( )

4.7活动选择问题

令S为活动选择问题(Activity Selection Problem)中所有活动的集合。则最早结束的活动am一定被包含在S的所有最大相容活动子集中。( )

4.8最优前缀编码

令 C 为字母集,其中每个字符 c 有对应频率 c.freq。若 C 的大小为 n,则其中任一字符 c 的最优前缀编码长度都不会超过 n−1. ( )

5.回溯和分治限界法

5.1分治限界法

在分支限界算法中,根据从活结点表中选择下一扩展结点的不同方式可有几种常用分类,以下( )描述最为准确

  • A.采用最大值堆的优先队列式分支限界法
  • B.采用FIFO队列的队列式分支限界法
  • C.采用最小值堆的优先队列式分支限界法
  • D.以上都常用,针对具体问题可以选择采用其中某种更为合适的方式

5.2优先队列

优先队列通常用以下( )数据结构来实现。

  • A.队列
  • B.堆
  • C.二叉查找树
  • D.栈

5.3回溯和分支限界法

关于回溯算法和分支限界法,以下( )是不正确描述。

  • A.回溯法中,每个活结点只有一次机会成为扩展结点
  • B.回溯法采用深度优先的结点生成策略
  • C.分支限界法中,活结点一旦成为扩展结点,就一次性产生其所有儿子结点,在这些儿子结点中,那些导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子加入活结点表中
  • D.分支限界法采用广度优先或最小耗费优先(最大效益优先)的结点生成策略

5.4回溯搜索法

关于回溯搜索法的介绍,下面( )是不正确描述。

  • A.回溯法是一种既带系统性又带有跳跃性的搜索算法
  • B.回溯算法在生成解空间的任一结点时,先判断该结点是否可能包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向祖先结点回溯
  • C.回溯法有“通用解题法”之称,它可以系统地搜索一个问题的所有解或任意解
  • D.回溯算法需要借助队列这种结构来保存从根结点到当前扩展结点的路径

5.5回溯解决最优装载

用回溯法求解最优装载问题时,若待选物品为m种,则该问题的解空间树的结点个数为( )。

  • A.2m+1
  • B.2m
  • C.m!
  • D.2m+1-1

1.算法概述作业题

算法分析题:1-1、1-2、1-3、1-4

 

 

 

2.分治法作业

2 算法分析题:2-3,2-13

 

 

3.动态规划

3 对矩阵规模序列<5,10,3,12,5,50,6>,求矩阵链最优括号化方案

 

 

4 对于0-1背包问题,试设计一个解决此问题的动态规划算法,并分析算法的复杂性

4.贪心算法

5.分支限界法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker容器与HSM整合的好处

Docker透过容器使创建、部署和运行应用程式变得更加容易。容器允许开发人员可以将一个应用程式与它所需要的所有部分封包&#xff0c;然后将应用程式及其组件作为一个单一的套装软体。 Docker面临的挑战 : ● 遭受特权用户滥用的风险 Docker环境或容器内的权限配置不当可能会导…

Redis常见数据结构

文章目录 前言一、Redis通用命令二、String类型三、Key的层级结构四、Hash类型五、List类型六、Set类型七、SortedSet类型 前言 Redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;但是value的类型多种多样 在学习Redis不同数据类型时&#xff0c;我们…

ChatGPT付费创作系统V2.1.0独立版 +WEB端+ H5端 + 小程序端+文心一言

ChatGPT付费创作系统V2.1.0提供最新的对应版本小程序端&#xff0c;上一版本增加了PC端绘画功能&#xff0c;绘画功能采用其他绘画接口-意间AI&#xff0c;本版新增了百度文心一言接口。后台一些小细节的优化及一些小BUG的处理&#xff0c;前端进行了些小细节优化&#xff0c;针…

C#学习之路-类型转换

类型转换从根本上说是类型铸造&#xff0c;或者说是把数据从一种类型转换为另一种类型。 C# 中的类型转换可以分为两种&#xff1a;隐式转换和显式转换。 隐式类型转换 隐式转换是指将一个较小范围的数据类型转换为较大范围的数据类型时&#xff0c;编译器会自动完成类型转换…

chatgpt生成pygame opengl实现旋转用图片填充的3d三角形

import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import *def draw_triangle():vertices ((0, 2, 0), # 顶点1(-2, -2, 0), # 顶点2(2, -2, 0) # 顶点3)tex_coords ((1, 2), # 顶点1的纹理坐标(1, 1), # 顶点2的纹理坐标(2, …

如何使用SU插件一键生成通道图

如何使用SU插件一键生成通道图 通道图有什么作用&#xff1f; 以材质ID为例&#xff0c;最大的作用就是在PS通过选择材质ID图上的颜色&#xff0c;将颜色区域转化为蒙版&#xff0c;进而可以调节颜色区域所对应的效果图区域&#xff0c;原理类似于PS自带的通道&#xff1a;而A…

css 3D Demo

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <style> body{ /* 该属性必须在父或大于父的级别上添加,保证其子,孙等盒子可以以3D视角…

langchain调用chatGLM2纪实

一、科学上网要注意&#xff1a; 域名全代和全局代理&#xff08;网卡&#xff09;&#xff0c;都要打开。这样conda install特别快。 二、安装langchain 1、 conda install langchain 2、 conda install openai 注意&#xff1a; 使用pip install和conda install 是不同…

mysql如何运行 mysql 基本命令

一、 mysql如何运行 1. 成功安装mysql 点击进入–》如何安装 2. 确保mysql服务启动&#xff1a; 按下win&#xff0c;输入服务&#xff0c;然后找到mysql&#xff0c;启动服务&#xff1a; 3. 配置环境变量&#xff08;可跳过&#xff09; 点击进入–》如何配置环境变量…

SpringBoot项目出现Failed to configure a DataSource错误时解决方法

若在运行SpringBoot项目时&#xff0c;出现如下错误&#xff1a; Description:Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the…

1.前言和介绍

目录 前言1. 说在前面2. 介绍3. 拓展&#xff1a;vscode3.1 文件传输3.2 高效调试配置3.2.1 配置launch.json3.2.2 配置task.json3.2.3 配置settings.json3.2.4 配置c_cpp_properties.json 前言 从零学习算法部署-TensorRT篇 杜老师推出的 tensorRT从零起步高性能部署 课程&…

7、添加billboard小旗子

本节演示添加billboard小旗子&#xff0c;使用第四节click的例子&#xff0c;通过鼠标点击地图添加billboard添加小旗子。 1、修改鼠标点击事件mouseUp&#xff0c;在函数中创建BillboardCollection对象并添加到地图中。鼠标点击时获取鼠标位置&#xff0c;转换成经纬度然后添…

Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)

目录 Mycat分片技术_水平拆分-分表 Mycat分片技术_ER表 Mycat分片技术_全局表 Mycat分片技术_水平拆分-分表 前言 上面谈到垂直切分只是把表按模块划分到不同数据库&#xff0c;但没有解决单表大数据量的问题。 水平拆分 相对于垂直拆分&#xff0c;水平拆分不是将表做分…

宝塔 安装/使用Apollo(阿波罗)多环境部署-图文小白教程

官方安装教程手册&#xff1a;Apollo apollo&#xff08;阿波罗&#xff09;是一款可靠的分布式配置管理中心&#xff0c;诞生于携程框架研发部&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的…

Android 视频直播提拉流 嵌入式硬件 流媒体开发详细内容

1 Linux 系统编程网络编程基础 2 Linux 网络编程流媒体服务器&#xff0c;客户端开发实践 3 Android流媒体客户端 FFmpeg OpenGL ES 开发实践 4 Android H.264 AAC 封装mp4开发实战 5 流媒体开发实战之Rtmp推流 6 流媒体开发实战之RTSP推流 7 流媒体开发实战之UDP 8 P2P点对点项…

BERT 论文精读与理解

1.论文题目 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2.论文摘要 本文引入了一种名为 BERT 的新语言表示模型&#xff0c;它代表 Transformers 的双向编码器表示。与最近的语言表示模型&#xff08;Peters et al., 2018a&#xf…

【云原生】 一文了解Docker到底是什么?

目录 1.docker是什么&#xff1f; 2.为什么需要docker&#xff1f; 3.docker特点 4.docker架构 5.云计算中的服务包括三个层面 6.传统虚拟化架构 7.容器架构 8.docker系统架构 Docker 守护进程 Docker 客户端 Docker 仓库 Docker 对象 Images&#xff08;镜像&#xff09; Cont…

数据库基本操作及表的创建

目录标题 1.数据库基本操作创建数据库查询数据库使用数据库查询默认数据库编码方式查询默认数据库校验规则删除数据 2.表的基本操作创建一个包含所有类型的表 1.数据库基本操作 创建数据库 查询数据库 使用数据库 查询默认数据库编码方式 查询默认数据库校验规则 删除数据 2.表…

内存的五大分区

一些套话 一个由C/C编译的程序占用的内存分为以下几个部分&#xff1a;栈区&#xff0c;堆区&#xff0c;全局区&#xff08;静态区&#xff09;&#xff0c;文字常量区&#xff0c;代码区 在执行一个C/C 程序时&#xff0c;此程序拥有唯一的“内存四区”&#xff08;栈区&…

基于STM32的homeassistant(采用FreeRTOS操作系统)【第二章:采集DHT11数据上传服务器;接收服务器指令执行对应操作】

第一章链接 第二章开发环境 主控STM32F103C8T6WIFI模块ESP01S传感器模块DHT11温湿度传感器、LED灯开发语言C开发编译器KEIL组网方式WIFI服务器协议MQTT 本章要点 根据DHT11工作特性编写触发代码AT指令订阅服务器端口STM32中断接收挂起Usart协议信息标志位STM23任务过滤识别服…