当前位置: 首页 > news >正文

数据结构作业

第1章 绪论

单选题
  1. 数据在计算机的存储器中表示时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称之为________。

    • B. 顺序存储结构
  2. 算法指的是________。

    • D. 求解特定问题的指令有限序列
  3. 下面程序段的时间复杂度为:________。

    for(i=1;i<=n;++i)
    for(j=1;j<=n;++j)
    s+=a[i][j]; 
    
    • D. O(n²)
  4. 设数据结构S=(D,R),其中D={1,2,3,4},R={<1,2>,<2,3>,❤️,4>},则数据结构S属于________。

    • B. 线性结构
  5. 设部门的上级领导下级的数据结构S=(D,R),其中D={a,b,c,d,e},R={ a领导b a领导c,b领导d b领导 e },则数据结构S属于________。

    • C. 树结构
  6. 以下数据结构中,________是线性结构。

    • A. 字符串
  7. 在数据结构中,从逻辑上可以把数据结构分为________。

    • C. 线性结构和非线性结构
  8. 某算法的语句执行频度为(n²+nlog₂n+3n+8),其时间复杂度为________。

    • C. O(n²)
  9. 算法的时间复杂度取决于________。

    • D. A和B
  10. 设数据结构S=(DR),其中D={1234},R={<12><23><34><41>},则数据结构S是( )。

    • C. 图结构
  11. 算法分析的两个主要方面是( )。

    • B. 时间复杂度和空间复杂度
  12. 抽象数据类型的三个组成部分分别是( )。

    • C. 数据对象、数据关系、基本操作
  13. 以下程序段中语句“m++;”的语句频度是( )。

    int m=0;
    for(i=1;i<=n;i++)
    for(j=1;j<=2*i;j++)m++;
    
    • A. n(n+1)
  14. 链式存储的存储结构所占存储空间( )。

    • A. 分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
填空题
  1. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
  2. 线性结构中元素之间存在一对一关系,结构中元素之间存在一对多关系,结构中元素之间存在多对多关系。
  3. 链式存储结构为了表示结点之间的关系,通常需要给每个结点附加指针字段,用于存放后继元素的地址
  4. 抽象数据类型一般指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。具体包括3个部分:数据对象数据关系基本操作
  5. 算法的5个特征是有穷性确定性可行性输入输出
  6. 顺序存储结构中数据元素之间的逻辑关系是由物理地址表示的,链式存储结构中数据元素之间的逻辑关系是由指针表示的。
简答题
  1. 简述逻辑结构的四种基本关系并画出它们的关系图。

    • 逻辑结构的四种基本关系:集合结构、线性结构、树形结构、图形结构。
      • 集合结构:元素之间无特定关系
      • 线性结构:元素之间存在一对一的关系
      • 树形结构:元素之间存在一对多的层次关系
      • 图形结构:元素之间存在多对多的关系
  2. 存储结构有哪两种基本的存储方法实现?

    • 顺序存储
    • 链式存储
  3. 简述算法的定义与特性。

    • 算法是解决问题的一系列步骤或程序。特性包括有穷性、确定性、可行性、输入、输出。

第2章 线性表

单选题
  1. 以下叙述正确的是( )。

    • B. 顺序表可以实现随机存取。
  2. 线性表(a1a2…an)以链式方式存储时,访问第i个位置上的元素的时间复杂度为( )。

    • B. O(n)
  3. 线性表的顺序存储结构是一种( )的存储结构。

    • A. 随机存取
  4. 线性表在( )情况下适用于使用链式结构存储。

    • B. 需要不断对线性表进行插入、删除操作。
  5. 以下属于顺序表的优点的是( )。

    • C. 存储密度大。
  6. 下列叙述错误的是( )。

    • D. 线性表的链式存储结构优于顺序存储结构。
填空题
  1. 顺序表中逻辑上相邻的元素物理位置一定相邻,单链表中逻辑上相邻的元素物理位置不一定相邻。
  2. 若一个长度为n的顺序表中,在第i个位置(1≤i≤n)插入一个新的元素共需要移动n-i个元素;若一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时需向前移动n-i-1个元素。
  3. 已知顺序表中第一个元素的存储地址是1000,每个元素的长度为4,则第7个元素的存储地址是1024
  4. 向一个有200个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为100
  5. 在一个以L为头指针的单循环链表中,p指针指向链尾的条件是p->next == L
判断题
  1. 线性表中每个元素都有一个前驱和一个后继。( )

  2. 线性表中所有元素的数据类型必须相同。( )

  3. 顺序表结构适宜于进行随机存取,而链表适宜于进行顺序存取。( )

  4. 单链表可以实现随机存取。( )

  5. 线性表若采用链式存储结构时,其存储结点的地址可以连续,也可以不连续。( )

  6. 线性表的顺序存储结构优于链式存储结构。( )

  7. 进行插入删除操作时,在链表中比在顺序表中效率高。( )

  8. 在顺序表中,逻辑上相邻的元素物理位置上不一定相邻。( )

  9. 若频繁地对线性表进行插入和删除操作,该线性表采用链式存储结构更合适。( )

简答题
  1. 简述线性结构的特点。

    • 线性结构的特点是元素之间存在一对一的线性关系,每个元素只有一个前驱和一个后继。
  2. 简述顺序表和链表的主要优缺点。

    • 顺序表优点:支持随机存取,存储密度大。缺点:插入和删除操作效率低,存储空间不灵活。
    • 链表优点:插入和删除操作效率高,存储空间灵活。缺点:不支持随机存取,存储密度低。
综合题
  1. 请用代码描述如下单链表的插入操作,将s所指结点插入到结点a和b之间。

    s->next = a->next;
    a->next = s;
    
  2. 请用代码描述如下单链表的删除操作,将结点b删除。

    a->next = b->next;
    delete b;
    

3.**请用代码描述
b=a->next
x->pre=a
a->next=x
x->next=b
b->pre=x
4. 删除p的所指节点b
b=a->next
c=a->next->next
a->next=c
c->pre=a
delete b
第3章 栈和队列

一、单选题

  1. 栈在( D,递归+表达式求值+括号匹配 )中有所应用。
  2. 栈和队列的共同点是( C. 只允许在端点处插入和删除元素 )。
  3. 最大容量为n的循环队列,队尾指针是rear,队头是front,则判断队空和队满的条件,正确的是( B. 队空:rearfront;队满:(rear+1)%nfront; )。
  4. 下列说法中符合队列性质的是( D. 只能在一边插入和另一边删除 )。
  5. 设一个队列的入队序列为d,c,b,a,则队列的输出序列是( B.dcba)。
  6. 若用一个大小为6的数组实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再插入两个元素后,rear和front的值分别为( C. 2和4 )。
  7. 为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( A. 队列 )。
  8. 若一个栈以数组V[1…n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是( C top–;V[top]=x; )。
  9. 若一个栈以数组V[1…n]存储,初始栈顶指针top设为0,则元素x进栈的正确操作是( A. top++; V[top]=x; )。
  10. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( C. n-i )。
  11. 设计一个判别表达式中左、右括号是否配对出现的算法,采用( C. 栈 )数据结构最佳。
  12. 一个栈的入栈序列是a,b,c,d,e, 且在入栈过程中可出栈,则栈的不可能的输出序列是( C. dceab )。
  13. 队列是限定在( C.队尾)处进行插入操作的线性表。
  14. 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是( B3 )。
  15. 若元素a,b,c,d,e,f依次进栈,允许进栈、出栈操作交替进行,但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( D.afedcb )。

二、判断题

  1. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出的线性结构。( × )
  2. 循环队列属于队列的链式存储结构。( × ) (是队列的顺序存储结构)
  3. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,1,5,6,4,2。( × )
  4. 一个递归算法必须包括终止条件和递归部分。( √ )

三、简答题:
栈是一种先进后出(LIFO)的线性数据结构,只允许在表的一端进行插入和删除操作,即栈顶端。栈的特点是后进入的元素先出来,它可以通过顺序存储结构或链式存储结构实现。常见的应用包括递归调用、表达式求值、括号匹配等。

队列是一种先进先出(FIFO)的线性数据结构,插入操作在队尾进行,删除操作在队头进行,只能在表的两端进行操作。队列的特点是先进入的元素先出来,它同样可以通过顺序存储结构或链式存储结构实现。常见的应用包括任务调度、缓冲区管理等。

四、算法分析题:
1、

Status Push(SqStack &S, SElemType e)  
{   if (S.top == MAXSIZE - 1) return ERROR; // 判断栈满的条件S.data[++S.top] = e;  // 将e入栈,栈顶指针top上移return OK;
}  

2、

Status Pop(SqStack &S, SElemType &e)  
{  if(S.top == -1) return ERROR; // 判断栈空的条件e = S.data[S.top--]; // 用e返回栈顶元素,栈顶指针top下移return OK;
}  

3、

void conversion(int N)
{  InitStack(S);while(N){ Push(S, N % 2);  // ①将N % 2入栈N = N / 2;}while(!StackEmpty(S)){  Pop(S, e);  // ②从栈中出栈,得到二进制数的每一位cout << e;}
}

4、

Status EnQueue(SqQueue &Q, QElemType e)  
{   if((rear+1)%n==front)return ERROR;Q[rear]=e;rear++;Return OK	
}
Status DeQueue(SqQueue &Q, QElemType &e)  
{   if(rear==front)return ERROR;e=Q[front];front++;Return OK	
}

第4章 串、数组和广义表

一、单选题

  1. 下面说法不正确的是(C. 广义表的表头总是一个广义表)。
  2. 两个串相等必有串长度相等且(B. 串中各位置字符均对应相等)。
  3. 设有两个串p和q,求q在p中首次出现的位置的运算称作(B. 模式匹配)。
  4. 已知串S=“abcaba”的next数组为(C. 011123)。
    解析: 1. abcaba -->000121 (就是比较每个字符和首部是否相等)
    2.000121 每个加1------> 111232
    3.111232 向右移为:011123
    4.得到结果011123
  5. 下面表述正确的是(A. 串是一种特殊的线性表)。
  6. 对于n阶对称矩阵,如果采用压缩存储,需要(D. n2/2)个存储单元。
  7. 对特殊矩阵进行压缩存储目的是(C. 节省存储空间)。
  8. 设一维数组中有n个元素,则读取第i个数组元素的平均时间复杂度为(C. O(1))。
  9. 数组A[0…7,0…9]的每个元素占3个字节,将其按行列先次序存储在起始地址为1000的内存单元中,则元素A[7,4]的起始地址是(D. 1222)。
  10. 数组A[0…5,0…6]的每个元素占五个字节,将其按行优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是(B. 1200)。
  11. 假设二维数组A[1…60,1…70]以列序为主序顺序存储,其基地址是10000,每个元素占2个存储单元,则元素A[32,58]的存储地址是(B. 16902)。
  12. 设广义表L=((a,b,c)),则L的长度和深度分别为(C 1和2)。
    解析:长度为第一层的所有元素个数(1),深度为一共几层括号(2)
  13. 对广义表L=((a,b),(c,d),(e,f))执行操作GetTail(GetTail(L))的结果是(B.((e,f)))。

二、填空题

  1. 若矩阵中的所有元素均满足aij=aji,则称此矩阵为 对称矩阵。
  2. 数组A[0…7,0…8]的每个元素占4个字节,分别将其按行优先、列优先次序存储在起始地址为1000的内存单元中,则元素A[3,6]的地址是1132 和1204。
  3. 模式串P=“abaabcac”的next函数值序列为 011223012。
  4. 设字符串S=‘You︺did︺a︺very︺good︺job!’,其长度是24。
  5. 子串“ture”在主串“datastructure”中的位置 9。
  6. 设串S=“abcde”,其长度是 5。
  7. 已知广义表L=((a,b),(c,d)),则head(L)是 (a,b) ,tail(L)是 ((c,d)) ,长度为 2 ,深度为 2。
  8. 广义表((a,b,c,d))的表头是 (a,b,c,d) ,表尾是 () 。
  9. 已知广义表C= (a,(b,A),B),则其长度是 3 ,深度是 无穷大 。
  10. 利用KMP算法进行模式匹配时,模式串t=“abcabaa”的next函数值是 0111232。

三、判断题

  1. 串是一种数据对象和操作都特殊的线性表。(√)
  2. KMP算法的特点是在模式匹配时指示主串的指针不会变小。(√)
  3. 数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。(×)
  4. 数组和广义表不属于线性结构。(×)
  5. 二维数组A[-3…5,0…10]中共有80个元素。(×)
  6. 稀疏矩阵和特殊矩阵压缩存储后均可以实现随机存取。(×)
  7. 数组元素的下标值越大,存取时间越长。(×)
  8. 子串在主串中的位置以子串的第一个字符在主串中的位置来表示。(√)
  9. KMP算法可以在O(m+n)的时间数量级上完成串的模式匹配操作。(√)
  10. 对n阶矩阵,若矩阵中的元素在i>=j时均满足aij为0或为常数,则称此矩阵为下三角矩阵。(√)
  11. 一个广义表的表头总是一个广义表。(×)

四、简答题
串的模式匹配是指在一个主串中查找某个子串的过程。常用的两种模式匹配算法是暴力匹配算法(BF算法)和Knuth-Morris-Pratt算法(KMP算法)。

五、算法分析题
1、BF算法:

int Index_BF(SString S, SString T, int pos) {int i = pos;int j = 1;while (i <= S.length && j <= T.length) { // ① 两个串均未比较到串尾if (S.ch[i] == T.ch[j]) { // ② 继续比较后续字符
```cppi++;j++;} else {i = i - j + 2; // ④ 指针回溯重新开始匹配j = 1;}}if (j > T.length) // ⑤ 匹配成功,返回位置序号return i - T.length;elsereturn 0; // ⑥ 匹配失败,返回0
}

2、KMP算法:

int Index_KMP(SString S, SString T, int pos) {int i = pos;int j = 1;while (i <= S.length && j <= T.length) { // ① 两个串均未比较到串尾if (j == 0 || S.ch[i] == T.ch[j]) { // ② 继续比较后续字符i++;j++;} else {j = T.next[j]; // ④ 子串向右滑动至第next[j]个位置}}if (j > T.length) // ⑤ 匹配成功,返回位置序号return i - T.length;elsereturn 0; // ⑥ 匹配失败,返回0
}

一、单选题

  1. B. 100
    解析:哈夫曼树只有度(每个节点孩子数)为2和0的节点,以满二叉树为例,叶子节点有2(n)个,总结点数有2(n+1)-1个
    得出总结点= n,叶子结点数有(n+1)/2
    叶子结点= n,总结点数有2n-1
    2.B. (0,1,00,11)
    解析:前缀码是指,画出的图形中不存在节点之间为父子关系
  2. D. 501
  3. D. 2^h-1
  4. B 11
    解析:n0=n2+1记住就行
  5. D5
  6. B. 只有一个结点的二叉树的度为0
  7. D. 2i - 1
  8. A. 11
  9. B. 10

二、填空题

  1. 6
  2. 63
  3. 16
  4. DGEBFCA
  5. 7
  6. 4, 96
    7.FBADCFHGIJK
  7. n+1
  8. 7 (2^(5-1)=16,第五层本来有16个结点,但是有16-7+1=8没有子节点,所以有7+8/2=11个叶子结点)

三、判断题

  1. 错误
  2. 错误
  3. 错误
  4. 错误
  5. 错误
  6. 错误
  7. 错误
  8. 错误

四、综合题

  1. 先序遍历:ABCDEFGHIJKL, 中序遍历:DCEBFAIHGKLJ, 后序遍历:DECFBIHKLJGA
  2. 先序遍历:ABDHEIJCFLGMN, 中序遍历:HDBIEJAFCLMGN, 后序遍历:HDIJEBLFMNFCA
  3. 先序遍历:ABCDEFGH, 中序遍历:DCEBAFHG, 后序遍历:ECBGHFA
  4. 先序遍历:ABCDEF, 中序遍历:CBDAFE, 后序遍历:CDBFEA
  5. 哈夫曼编码:A: 01, B: 10, C: 000, D: 001, E: 11, WPL = 91
  6. 数据传输长度最短的编码:C: 000,S:001,E:01,A:10,T:11
    STATE:00111101101
    SEAT:001011011
    ACT:1000011
    TEA:110110
    CAT:0001011
    SET:0010111
    A:10
    EAT:011011
  7. 先根遍历:ABDEIJFGKHC, 后根遍历:BIJEFKGHDC

一、单选题

  1. D. n(n-1)/2
    解析:最多,所以是每个结点都和其余n-1个结点相连,有n*(n-1)个边
    无向图为n*(n-1) /2 ,因为重复边,要除以2
    有向图为n*(n-1) ,没有重复边
  2. B. n(n-1)
  3. B. 拓扑排序
  4. B. 每个顶点的度等于其入度与出度之和
  5. A. 2
    解析:一个边连接两个顶点,,所以是边*2
  6. B. 1
    解析:入度之和=出度之和
  7. A. 从源点到汇点的最长路径
  8. B. 任何一个关键活动提前完成,整个工程也将提前完成
  9. B 12
  10. A. n-1
    解析:树的顶点数= 边数+1,随便画个树就能看出来
    11.B. 3,1,2,4,5
    解析:每次找入度为0的顶点,输出,然后删除这个顶点和连接这个顶点的边,继续找入度为0的
  11. D. 对称矩阵

二、填空题

  1. 6
  2. 20

三、判断题

  1. 错误
  2. 错误
  3. 错误

四、综合题
1.

  • DFS序列:1364527
  • BFS序列:1346527
  1. [图示 Prim 算法和 Kruskal 算法构造最小生成树的全过程]
  2. [AOV-网的拓扑排序序列]
    • 一种拓扑排序序列:ACEBDFHGI
    • 另一种拓扑排序序列:ACEHBDGFI
    • Ve 和 Vl 表格如下:
顶点最早发生时间 Ve最晚发生时间 Vl
100
233
345
41010
589
61414
  • 关键路径为:1 ->a1->2->a3->4->a8->6
  • 工程完工的最短时间为 14 天

解析:最早发生时间就是从起点到终点找所有连接和中最大的
最晚发生时间就是从终点到起点找结点数-边值(差值)最小的
vl - ve == 0 的活动为关键活动,关键活动跟状态连起来就为关键路径。

第7章 查找

一、单选题
  1. 对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )。

    • C. (n+1)/2
  2. 适用于折半查找的表的存储方式及元素排列要求为( )。

    • D. 顺序方式存储,元素有序
  3. 折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中( )比较大小,查找结果是失败。

    • A. 20 70 30 50
  4. 对22个记录的有序表作折半查找,当查找失败时,至多需要比较( )次关键字。

    • C. 5
  5. 分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。

    • C (100,60,80,90,120,110,130)
      解析:二叉排序树则为左边比父类小,右边比父类大,每次从根节点开始找
  6. 设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的元素加到表中,用二次探测法解决冲突,则放入的位置是( )。

    • D. 9
      解析:二次探测法,为二次幂,12,22,32,42,累加
      线性探测为1 2 3 4 5 6线性累加
  7. 衡量查找算法效率的主要标准是( )。

    • C. 平均查找长度
二、填空题
  1. 计算哈希地址时若产生冲突,可以采用开放定址法和链地址法解决冲突。
  2. 在长度为500的有序表中进行折半查找,查找不成功时和给定值进行比较的关键字个数最多为9
    解析:log以2为底500的对数=9
三、综合题
  1. 已知如下11个数据元素的有序表(05,13,19,21,37,56,64,75,80,88,92),请画出其“折半查找”到数据“37”的全过程。

    • 第一步:中间位置为56,与37比较,37<56,继续在左半部分查找。
    • 第二步:中间位置为19,与37比较,37>19,继续在右半部分查找。
    • 第三步:中间位置为37,查找成功。
  2. 已知一组关键字为(47,7,29,11,16,92,22,8,3),散列函数为H(key)=key%11,用线性探测法处理冲突。设表长为11,试构造这组关键字的散列表,并写出查找每个关键字的比较次数,最后计算查找成功时的平均查找长度(四舍五入保留一位小数)。

散列地址012345678910
关键字112247921637298
比较次数121114122

计算查找成功时的平均查找长度:
15/9=1.7

第8章 排序

一、单选题

1、从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为( )。
C.插入排序

2、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
D.选择排序

3、对n个不同的关键字由小到大进行冒泡排序,在下列( )情况下比较的次数最多。
B.从大到小排列好的

4、对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数最多为( )。
D.n(n-1)/2

5、下面( )方法是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。
D.基数排序

6、若一组记录的排序码为(46, 79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。
A. 38 40 46 56 79 84

7、下列关键字序列中,( )是堆。
D.16,23,53,31,94,72

8、堆排序是一种( )排序。
B.选择

9、堆的形状是一棵( )。
C.完全二叉树

10、下列排序算法中,( )不属于选择排序。
A.希尔排序

11、下列排序算法中不稳定的是( )。
D.快速排序

二、综合题

设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试分别写出使用以下排序方法,每趟排序结束后关键字序列的状态。

①直接插入排序

[2 12] 16 30 28 10 16* 20 6 18

[2 12 16] 30 28 10 16* 20 6 18

[2 12 16 30] 28 10 16* 20 6 18

[2 12 16 28 30] 10 16* 20 6 18

[2 10 12 16 28 30] 16* 20 6 18

[2 10 12 16 16* 28 30] 20 6 18

[2 10 12 16 16* 20 28 30] 6 18

[2 6 10 12 16 16* 20 28 30] 18

[2 6 10 12 16 16* 18 20 28 30]

②希尔排序

10 2 16 6 18 12 16* 20 30 28 (增量选取5)

6 2 12 10 18 16 16* 20 30 28 (增量选取3)

2 6 10 12 16 16* 18 20 28 30 (增量选取1)

③简单选择排序
[2],12,16,6,30…
[2,6],12,16,30,29
[2,6,10,]…
[2,6,10,12],…
[2 6 10 12 16 16* 18 20 28 30]

一直取最小/最大 和后面的交换位置

④ 冒泡排序

2 12 16 28 10 16* 20 6 18 [30]

2 12 16 10 16* 20 6 18 [28 30]

2 12 10 16 16* 6 18 [20 28 30]

2 10 12 16 6 16* [18 20 28 30]

2 10 12 6 16 [16* 18 20 28 30]

2 10 6 12 [16 16* 18 20 28 30]

2 6 10 [12 16 16* 18 20 28 30]

2 6 10 12 16 16* 18 20 28 30]

⑤快速排序

12 [6 2 10] 12 [28 30 16* 20 16 18]

6 [2] 6 [10] 12 [28 30 16* 20 16 18 ]

28 2 6 10 12 [18 16 16* 20 ] 28 [30 ]

18 2 6 10 12 [16* 16] 18 [20] 28 30

16* 2 6 10 12 16* [16] 18 20 28 30

相关文章:

数据结构作业

第1章 绪论 单选题 数据在计算机的存储器中表示时&#xff0c;逻辑上相邻的两个元素对应的物理地址也是相邻的&#xff0c;这种存储结构称之为________。 B. 顺序存储结构 算法指的是________。 D. 求解特定问题的指令有限序列 下面程序段的时间复杂度为&#xff1a;_______…...

项目纪实 | 版本升级操作get!GreatDB分布式升级过程详解

某客户项目现场&#xff0c;因其业务系统要用到数据库新版本中的功能特性&#xff0c;因此考虑升级现有数据库版本。在升级之前&#xff0c;万里数据库项目团队帮助客户在本地测试环境构造了相同的基础版本&#xff0c;导入部分生产数据&#xff0c;尽量复刻生产环境进行升级&a…...

富格林:应用正规技巧阻挠被骗

富格林悉知&#xff0c;随着如今入市现货黄金的朋友愈来愈多&#xff0c;不少投资者也慢慢开始重视起提高自身的正规投资技巧&#xff0c;希望能阻挠被骗更高效地在市场上获利。虽然目前黄金市场存在一定的受害风险&#xff0c;但只要投资者严格按照正规的交易规则来做单&#…...

【模型架构】学习RNN、LSTM、TextCNN和Transformer以及PyTorch代码实现

一、前言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;模型架构的不断发展极大地推动了技术的进步。从早期的循环神经网络&#xff08;RNN&#xff09;到长短期记忆网络&#xff08;LSTM&#xff09;、Transformer再到当下火热的Mamba&#xff08;放在下一节&a…...

【LeetCode】38.外观数列

外观数列 题目描述&#xff1a; 「外观数列」是一个数位字符串序列&#xff0c;由递归公式定义&#xff1a; countAndSay(1) "1"countAndSay(n) 是 countAndSay(n-1) 的行程长度编码。 行程长度编码&#xff08;RLE&#xff09;是一种字符串压缩方法&#xff0c…...

如何解决Ubuntu中软件包安装时的404错误(无法安装gdb、cgddb等)

目录 问题描述 解决方法 1. 更新软件包列表 2. 使用--fix-missing选项 3. 更换软件源 4. 清理和修复包管理器 总结 在使用Ubuntu进行软件包安装时&#xff0c;有时可能会遇到404错误。这种错误通常是由于软件源中的某些包已经被移除或迁移到其他位置。本文将介绍几种解决…...

SpringBoot中MyBatisPlus的使用

MyBatis Plus 是 MyBatis 的增强工具&#xff0c;提供了许多强大的功能&#xff0c;简化了 MyBatis 的使用。下面是在 Spring Boot 中使用 MyBatis Plus 的步骤&#xff1a; 添加依赖&#xff1a;在 Maven 或 Gradle 的配置文件中添加 MyBatis Plus 的依赖。 配置数据源&#…...

前后端交互:axios 和 json;springboot 和 vue

vue 准备的 <template><div><button click"sendData">发送数据</button><button click"getData">接收</button><button click"refresh">刷新</button><br><ul v-if"questions&…...

前端技术专家岗(虚拟岗)

定位&#xff1a; 团队技术负责人、技术领导者&#xff1b;确保框架、工具的低门槛、高性能、可扩展&#xff1b; 素质要求&#xff1a; 具备架构设计能力&#xff1b;一个或者多个领域的技术专家&#xff1b;较为丰富的基础建设经验&#xff1b;项目管理能力、任务分解、协…...

redis windows环境下的部署安装

2024Redis windows安装、部署与环境变量 一、下载 Redis官网目前暂不支持Windows版本&#xff0c;只能从github中下载。 windows 64位系统下载redis路径&#xff1a;https://github.com/tporadowski/redis/releases&#xff0c;下载zip包。 目前Windows版本只更新到5.0的版本…...

大字体学生出勤记录系统网页HTML源码

源码介绍 上课需要一个个点名记录出勤情况&#xff0c;就借助AI制作了一个网页版学生出勤记录系统&#xff0c; 大字体显示学生姓名和照片&#xff0c;让坐在最后排学生也能看清楚&#xff0c;显示姓名同时会语音播报姓名&#xff0c; 操作很简单&#xff0c;先导入学生姓名…...

筛斗数据提取技术在企业成本预测中的应用

在当今的商业环境中&#xff0c;准确的成本预测对于企业的财务健康和战略规划至关重要。随着大数据和人工智能技术的飞速发展&#xff0c;数据提取技术已经成为企业进行成本预测的强大工具。本文将探讨数据提取技术如何帮助企业进行成本预测&#xff0c;并分析其对企业决策过程…...

enum编程入门:探索枚举类型的奥秘

enum编程入门&#xff1a;探索枚举类型的奥秘 在编程的世界里&#xff0c;enum&#xff08;枚举&#xff09;类型是一种特殊的数据类型&#xff0c;它允许我们为变量设置一组预定义的、有限的值。这种类型在很多编程语言中都得到了广泛的应用&#xff0c;为开发者提供了更加清…...

刷机 iPhone 进入恢复模式

文章目录 第 1 步&#xff1a;确保你有一台电脑&#xff08;Mac 或 PC&#xff09;第 2 步&#xff1a;将 iPhone 关机第 3 步&#xff1a;将 iPhone 置于恢复模式第 4 步&#xff1a;使用 Mac 或 PC 恢复 iPhone需要更多协助&#xff1f; 本文转载自&#xff1a;如果你忘记了 …...

计算属性和侦听器:为什么在某些情况下使用计算属性比使用methods更好,如何使用侦听器来监听数据的变化。

计算属性和methods的区别和使用场景 计算属性&#xff08;Computed properties&#xff09;是 Vue 中非常重要的一个功能&#xff0c;它有以下的优点&#xff1a; 数据缓存&#xff1a;计算属性基于它们的依赖进行缓存。只有在相关依赖发生变化时&#xff0c;才会重新求值。这…...

一文带你搞懂大事务的前因后果

引言 一文带你搞懂Spring事务上篇文章介绍了Spring事务相关内容&#xff0c;本文主要介绍业务开发中遇到的大事务问题。 https://github.com/WeiXiao-Hyy/blog 整理了Java,K8s,极客时间,设计模式等内容&#xff0c;欢迎Star! 什么是大事务 运行时间&#xff08;调用远程事务或…...

关系数据库:关系运算

文章目录 关系运算并&#xff08;Union&#xff09;差&#xff08;Difference&#xff09;交&#xff08;Intersection&#xff09;笛卡尔积&#xff08;Extended Cartesian Product&#xff09;投影&#xff08;projection&#xff09;选择&#xff08;Selection&#xff09;除…...

微信公众号开发(三):自动回复“你好”

上一篇做了服务器校验&#xff0c;但没有处理用户发来的消息&#xff0c;为了完成自动回复的功能&#xff0c;需要增加一些功能&#xff1a; 1、调整服务器校验函数&#xff1a; def verify_wechat(request):tokentokendatarequest.argssignaturedata.get(signature)timestamp…...

docker基本操作命令(3)

目录 1.Docker服务管理命令&#xff1a; 启动&#xff1a;systemctl start docker 停止&#xff1a;systemctl stop docker 重启&#xff1a;systemctl restart docker 开机自启&#xff1a;systemctl enable docker 查看docker版本&#xff1a; 2.镜像常用管理命令&…...

003 MySQL

文章目录 左外连接、右外连接 的区别where/having的区别执行顺序聚合 聚合函数MySQL约束事务一致性一致性的含义一致性在事务中的作用如何维护一致性 存储引擎 Innodb MyIsam区别事务的ACID属性数据库的隔离级别MySQL中的并发问题1. 锁等待和死锁2. 并发冲突3. 脏读、不可重复读…...

数据分析------统计学知识点(一)

1.在统计学中&#xff0c;均值分类有哪些&#xff1f; 算术均值&#xff1a;平均值&#xff0c;所有数值加总后除以数值的个数 几何均值&#xff1a;所有数值相乘后&#xff0c;再取其n次方根&#xff0c;n是数值的个数 调和均值&#xff1a;是数值倒数的算术均值的倒数 加…...

Apache Doris 基础 -- 数据表设计(分区分桶)

Versions: 2.1 本文档主要介绍了Doris的表创建和数据分区&#xff0c;以及表创建过程中可能遇到的问题和解决方案。 1、基本概念 在Doris中&#xff0c;数据以表的形式被逻辑地描述。 1.1 Row & Column 表由行和列组成: 行:表示用户数据的单行;列:用于描述一行数据中的…...

题目:求0—7所能组成的奇数个数。

题目&#xff1a;求0—7所能组成的奇数个数。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should…...

网络协议学习笔记

HTTP协议 简单介绍 HTTP属于应用层 HTTP可以简单的理解成类似json一样的文本封装&#xff0c;但是这是超文本&#xff0c;所以可以封装的不止有文本&#xff0c;还有音视频、图片等 请求方法 HTTP报文格式 三大部分 起始行&#xff1a;描述请求或响应的基本信息头部字段…...

C语言文件操作:打开关闭,读写

程序文件 源程序文件&#xff08;后缀为.c&#xff09; 目标文件&#xff08;Windows环境后缀为.obj&#xff09; 可执行文件&#xff08;Windows环境后缀为.exe&#xff09; fputc FILE* pf fopen("test.txt","w");if (pf NULL){printf("%s\n"…...

启智CV机器人,ROS,ubuntu 20.04 【最后一步有问题】

资料&#xff1a; https://wiki.ros.org/kinetic/Installation/Ubuntu https://blog.csdn.net/qq_44339029/article/details/120579608 装VM。 装ubuntu20.04 desktop.iso系统。 装vm工具&#xff1a; sudo apt update sudo dpkg --configure -a sudo apt-get autoremove o…...

React-生成随机数和日期格式化

生成随机数 uuid文档&#xff1a;https://github.com/uuidjs/uuid npm install uuid import {v4 as uuidV4} from uuid 使用&#xff1a; uuidV4() 日期格式化 dayjs文档&#xff1a;安装 | Day.js中文网 npm install dayjs import dayjs from dayjs...

11Linux学习笔记

Linux 实操篇 目录 文章目录 Linux 实操篇1.rtm包&#xff08;软件&#xff09;1.1 基本命令1.2 基本格式1.3安装rtm包1.4卸载rtm包 2.apt包2.1 基本命令结构2.2 常用选项2.3常用命令 1.rtm包&#xff08;软件&#xff09; 1.1 基本命令 1.2 基本格式 1.3安装rtm包 1.4卸载r…...

004 仿muduo实现高性能服务器组件_Buffer模块与Socket模块的实现

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;仿muduo &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言Buffer模块Socket模块 小结 前言 这章将会向你介绍仿muduo高性能服务器组件的buffer模块与socket模块的实…...

研发效能DevOps: Ubuntu 部署 JFrog 制品库

目录 一、实验 1.环境 2.Ubuntu 部署 JFrog 制品库 3.Ubuntu 部署 postgresql数据库 4.Ubuntu 部署 Xray 5. 使用JFrog 增删项目 二、问题 1.Ubuntu 如何通过apt方式部署 JFrog 制品库 2.Ubuntu 如何通过docker方式部署 JFrog 制品库 3.安装jdk报错 4.安装JFrog Ar…...

hadoop学习笔记

hadoop集群搭建 hadoop摘要 Hadoop 是一个开源的分布式存储和计算框架&#xff0c;旨在处理大规模数据集并提供高可靠性、高性能的数据处理能力。它主要包括以下几个核心组件&#xff1a; Hadoop 分布式文件系统&#xff08;HDFS&#xff09;&#xff1a;HDFS 是 Hadoop 的分布…...

使用dockerfile快速构建一个带ssh的docker镜像

不多说先给代码 FROM ubuntu:22.04 # 基础镜像 可替换为其他镜像 USER root RUN echo root:root |chpasswd RUN apt-get update -y \&& apt-get install -y git wget curl RUN apt-get install -y openssh-server vim && apt clean \&& rm -rf /tmp/…...

linux部署运维1——centos7.9离线安装部署涛思taos2.6时序数据库TDengine

在实际项目开发过程中&#xff0c;并非一直都使用关系型数据库&#xff0c;对于工业互联网类型的项目来说&#xff0c;时序型数据库也是很重要的一种&#xff0c;因此掌握时序数据库的安装配置也是必要的技能&#xff0c;不过对于有关系型数据库使用的开发工作者来说&#xff0…...

Linux shell编程学习笔记51: cat /proc/cpuinfo:查看CPU详细信息

0 前言 2024年的网络安全检查又开始了&#xff0c;对于使用基于Linux的国产电脑&#xff0c;我们可以编写一个脚本来收集系统的有关信息。对于中央处理器CPU比如&#xff0c;我们可以使用cat /proc/cpuinfo命令来收集中央处理器CPU的信息。 1. /proc/cpuinfo 保存了系统的cpu…...

Ps:调整画笔工具

调整画笔工具 Adjustment Brush Tool可以将选区、创建蒙版和应用调整的传统工作流程合并为一个步骤&#xff0c;简化了对图像进行非破坏性局部调整的操作。 快捷键&#xff1a;B 调整画笔工具是 Photoshop 2024 年 5 月版&#xff08;25.9 版&#xff09;新增的工具。 ◆ ◆ …...

香橙派 AIpro上手体验并验证车道线识别算法

香橙派 AIpro上手体验并验证车道线识别算法 1.前言 最近入手了一块香橙派AIpro&#xff0c;体验了一下&#xff0c;感觉还不错&#xff0c;在这里分享给大家&#xff0c;大家可以做个参考。 2.开箱 整套产品包含一块主板、一个电源插头和一条双端Type-C的数据线&#xff0c;…...

为啥装了erlang,还报错erl: command not found?

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题背景&#xff1a; 在一台不通外网的服务器上装rabbitmq&#xff0c;然后在启动的时候&#xff0c;遇到了报错 “/usr/lib/…...

容器技术基础理论与常用命令:必知必会,效率翻倍!

如何利用容器技术提升你的工作效率&#xff1f;掌握基础理论和常用命令是必不可少的&#xff0c;本文将为你全面介绍容器技术&#xff0c;并教你必知必会的技能&#xff0c;让你工作、学习效率翻倍&#xff0c;对于网络安全工作者也是必不可少的技能&#xff01; 0. 引言 学习…...

ChatGPT Edu版本来啦:支持GPT-4o、自定义GPT、数据分析等

5月31日&#xff0c;OpenAI在官网宣布&#xff0c;推出ChatGPT Edu版本。 据悉&#xff0c;这是一个专门为大学校园提供的ChatGTP&#xff0c;支持GPT-4o、网络搜索、自定义GPT、数据分析、代码生成等功能&#xff0c;可以极大提升学生、老师的学习质量和教学效率。 目前&…...

Spark RDD案例

Apache Spark中的RDD&#xff08;Resilient Distributed Dataset&#xff09;是一个不可变、分布式对象集合&#xff0c;它允许用户在大型集群上执行并行操作。虽然RDD在Spark的早期版本中非常核心&#xff0c;但随着DataFrame和Dataset的引入&#xff0c;RDD的使用在某些场景下…...

【线性表 - 数组和矩阵】

数组是一种连续存储线性结构&#xff0c;元素类型相同&#xff0c;大小相等&#xff0c;数组是多维的&#xff0c;通过使用整型索引值来访问他们的元素&#xff0c;数组尺寸不能改变。 知识点数组与矩阵相关题目 # 知识点 数组的优点: 存取速度快 数组的缺点: 事先必须知道…...

Springboot 开发 -- 跨域问题技术详解

一、跨域的概念 跨域访问问题指的是在客户端浏览器中&#xff0c;由于安全策略的限制&#xff0c;不允许从一个源&#xff08;域名、协议、端口&#xff09;直接访问另一个源的资源。当浏览器发起一个跨域请求时&#xff0c;会被浏览器拦截&#xff0c;并阻止数据的传输。 这…...

【Qt】之【项目】整理可参考学习的git项目链接(持续更新)

Tcp 通信相关 IM即时通讯设计 高并发聊天服务&#xff1a;服务器 qt客户端&#xff08;附源码&#xff09; - DeRoy - 博客园 未使用protobuf通讯协议格式 github&#xff1a;GitHub - ADeRoy/chat_room: IM即时通讯设计 高并发聊天服务&#xff1a;服务器 qt客户端 QT编…...

2024年5月个人工作生活总结

本文为 2024年5月工作生活总结。 研发编码 golang 多个defer函数执行顺序 golang 函数中如有多个defer&#xff0c;倒序执行。示例代码&#xff1a; func foo() {defer func() {fmt.Println("111")}()defer func() {fmt.Println("2222")}()defer func()…...

Kafka Java API

1、增加依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>1.0.0</version> </dependency>2、三个案例 案例1&#xff1a;生产数据 import org.apache.kafka.clients.p…...

pushd: not found

解决方法&#xff1a; pushd 比 cd 命令更高效的切换命令&#xff0c;非默认&#xff0c;可在脚本开头添加&#xff1a; #! /bin/bash ubuntu 编译时出现/bin/sh: 1: pushd: not found的问题-CSDN博客...

【第十三节】C++控制台版本坦克大战小游戏

目录 一、游戏简介 1.1 游戏概述 1.2 知识点应用 1.3 实现功能 1.4 开发环境 二、项目设计 2.1 类的设计 2.2 各类功能 三、程序运行截图 3.1 游戏主菜单 3.2 游戏进行中 3.3 双人作战 3.4 编辑地图 一、游戏简介 1.1 游戏概述 本项目是一款基于C语言开发的控制台…...

酷得单片机方案 2.4G儿童遥控漂移车

电子方案开发定制&#xff0c;我们是专业的 东莞酷得智能单片机方案之2.4G遥控玩具童车具有以下比较有特色的特点&#xff1a; 1、内置充电电池&#xff1a;这款小车配备了可充电的电池&#xff0c;无需频繁更换电池&#xff0c;既环保又方便。充电方式可能为USB充电或者专用…...

【为什么 Google Chrome 打开网页有时极慢?尤其是国内网站,如知网等】

要通过知网搜一点资料&#xff0c;发现怎么都打不开。而且B站&#xff0c;知乎这些速度也变慢了&#xff01;已经检查过确定不是网络的问题。 清空了记录&#xff0c;清空了已接受Cookie&#xff0c;清空了缓存内容……没用&#xff01;&#xff01;&#xff01; 不断搜索&am…...

FastAPI - 数据库操作5

先安装mysql驱动程序 pipenv install pymysql安装数据库ORM库SQLAlchemy pipenv install SQLAlchemy修改文件main.py文件内容 设置数据库连接 # -*- coding:utf-8 –*- from fastapi import FastAPIfrom sqlalchemy import create_engineHOST 192.168.123.228 PORT 3306 …...