From 8baea433149816652fdf9f79b516c91be62a8d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=BB=BA=E4=BC=9F?= Date: Wed, 25 Mar 2020 12:50:31 +0800 Subject: [PATCH] =?UTF-8?q?:pencil2:=20=E6=9B=B4=E6=96=B0=E4=B9=A0?= =?UTF-8?q?=E9=A2=98=E9=9B=86=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CFree/▼配套习题解析/▼01 绪论/▼第01章 绪论.md | 7 +++++-- CFree/▼配套习题解析/▼02 线性表/▼第02章 线性表.md | 12 ++++++++++++ 习题解析/02 线性表/第02章 线性表.md | 12 ++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CFree/▼配套习题解析/▼01 绪论/▼第01章 绪论.md b/CFree/▼配套习题解析/▼01 绪论/▼第01章 绪论.md index d1b3f98..f6d4901 100644 --- a/CFree/▼配套习题解析/▼01 绪论/▼第01章 绪论.md +++ b/CFree/▼配套习题解析/▼01 绪论/▼第01章 绪论.md @@ -285,8 +285,11 @@ int Time (int n) #### 2100,(3/2)n,(2/3)n,(4/3)n,nn,n3/2,n2/3,√n,n!,n,log2n,n/log2n,log22n,log2(log2n),nlog2n,nlog2n > 各函数的排列次序如下: -![1.10.1](_v_images/20181125002335576_8701.png) -![1.10.2](_v_images/20181125002344865_51.png) +> +> ![1.10.1](_v_images/20181125002335576_8701.png) +> ![1.10.2](_v_images/20181125002344865_51.png) + +> 注:习题集中给出的第12个函数为n/logn2,这应当是笔误,实际为n/log2n ### 1.11 已知有实现同一功能的两个算法,其时间复杂度分别为O(2n)和O(n10),假设现实计算机可连续运算的时间为107秒(100多天),又每秒可执行基本操作(根据这些操作来估算算法时间复杂度)105次。试问在此条件下,这两个算法可解问题的规模(即n值的范围)各为多少?哪个算法更适宜?请说明理由。 diff --git a/CFree/▼配套习题解析/▼02 线性表/▼第02章 线性表.md b/CFree/▼配套习题解析/▼02 线性表/▼第02章 线性表.md index bc57791..9e3022d 100644 --- a/CFree/▼配套习题解析/▼02 线性表/▼第02章 线性表.md +++ b/CFree/▼配套习题解析/▼02 线性表/▼第02章 线性表.md @@ -372,30 +372,42 @@ Status DeleteAndInsertSub (LinkedList la, LinkedList lb, int i, int j, int len) >[Question-2.23-main.c](▼习题测试文档-02/Question-2.23-main.c) +> 关键词:单链表 + ### 2.24 假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。 >[Question-2.24-main.c](▼习题测试文档-02/Question-2.24-main.c) +> 关键词:递增单链表 + ### 2.25 假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合(即同一表中的元素值各不相同),现要求另辟空间构成一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。试对顺序表编写求C的算法。 >[Question-2.25-main.c](▼习题测试文档-02/Question-2.25-main.c) +> 关键词:递增无重复顺序表 + ### 2.26 要求同2.25题。试对单链表编写求C的算法。 >[Question-2.26-main.c](▼习题测试文档-02/Question-2.26-main.c) +> 关键词:递增无重复单链表 + ### 2.27 对2.25题的条件作以下修改,对顺序表重新编写求得表C的算法。 ###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同; ###### (2)利用A表空间存放表C。 >[Question-2.27-main.c](▼习题测试文档-02/Question-2.27-main.c) +> 关键词:递增有重复顺序表 + ### 2.28 对2.25题的条件作以下两点修改,对单链表重新编写求得表C的算法。 ###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同。 ###### (2)利用原表(A表或B表)中的结点构造表C,并释放A表中的无用结点空间。 >[Question-2.28-main.c](▼习题测试文档-02/Question-2.28-main.c) +> 关键词:递增有重复单链表,释放无效结点 + ### 2.29 已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现,又在C表中出现的元素。试对顺序表编写实现上述操作的算法,并分析你的算法的时间复杂度(注意:同一表中各元素值可能相同)。 >[Question-2.29-main.c](▼习题测试文档-02/Question-2.29-main.c) diff --git a/习题解析/02 线性表/第02章 线性表.md b/习题解析/02 线性表/第02章 线性表.md index c0566db..19d53a2 100644 --- a/习题解析/02 线性表/第02章 线性表.md +++ b/习题解析/02 线性表/第02章 线性表.md @@ -362,30 +362,42 @@ Status DeleteAndInsertSub (LinkedList la, LinkedList lb, int i, int j, int len) ###### 或者     C=(a1, b1, ..., an, bn, an+1, ..., am) 当m>n时。 ### 线性表A,B和C均以单链表作存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。 +> 关键词:单链表 + ---------- ### 2.24 假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。 +> 关键词:递增单链表 + ---------- ### 2.25 假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合(即同一表中的元素值各不相同),现要求另辟空间构成一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。试对顺序表编写求C的算法。 +> 关键词:递增无重复顺序表 + ---------- ### 2.26 要求同2.25题。试对单链表编写求C的算法。 +> 关键词:递增无重复单链表 + ---------- ### 2.27 对2.25题的条件作以下修改,对顺序表重新编写求得表C的算法。 ###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同; ###### (2)利用A表空间存放表C。 +> 关键词:递增有重复顺序表 + ---------- ### 2.28 对2.25题的条件作以下两点修改,对单链表重新编写求得表C的算法。 ###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同。 ###### (2)利用原表(A表或B表)中的结点构造表C,并释放A表中的无用结点空间。 +> 关键词:递增有重复单链表,释放无效结点 + ---------- ### 2.29 已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现,又在C表中出现的元素。试对顺序表编写实现上述操作的算法,并分析你的算法的时间复杂度(注意:同一表中各元素值可能相同)。