线性表练习题答案

线性表练习题答案
线性表练习题答案

一、判断题

1.线性表的逻辑顺序与存储顺序总是一致的。(FALSE)

2.顺序存储的线性表可以按序号随机存取。(TRUE)

3.顺序表的插入和删除一个数据元素,每次操作平均只有近一半的元素需要

移动。(TRUE)

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特

性,

此是属于同一数据对象。(TRUE)

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

(F ALSE)

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。(TRUE)7.线性表的链式存储结构优于顺序存储结构。(FALSE)

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。(T RUE)

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。(TRUE)10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表

是随机存取的存储结构。(FALSE)

二、单选题、(请从下列A,B,C,D选项中选择一项)

11.线性表是()。

(A)一个有限序列,可以为空;(B)一个有限序列,不能为空;

(C)一个无限序列,可以为空;(D)一个无序序列,不能为空。

答:A

12.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等

概率的。插入一个元素时平均要移动表中的()个元素。

(A)n/2(B)(n+1)/2(C)(n –1)/2(D)n

答:A

13.线性表采用链式存储时,其地址(D) 。

(A)必须是连续的;(B)部分地址必须是连续的;

(C)一定是不连续的;(D)连续与否均可以。

答:D

14.用链表表示线性表的优点是()。

(A)便于随机存取

(B)花费的存储空间较顺序存储少

(C)便于插入和删除

(D)数据元素的物理顺序与逻辑顺序相

同答:C

15.某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个

元素,则采用()存储方式最节省运算时间。

(A)单链表

(B)双链表

(C)单循环链表

(D)带头结点的双循环链

表答:D

16.循环链表的主要优点是()。

(A)不再需要头指针了

(B)已知某个结点的位置后,能够容易找到他的直接前趋

(C)在进行插入、删除运算时,能更好的保证链表不断开

(D)从表中的任意结点出发都能扫描到整个链表

答:D

18.单链表中,增加一个头结点的目的是为了()。

(A)使单链表至少有一个结点(B)标识表结点中首结点的位置

(C)方便运算的实现(D)说明单链表是线性表的链式存储答:

C

19.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

(A)单链表(B)仅有头指针的单循环链表

(C)双链表(D)仅有尾指针的单循环链表

答:D

20.若某线性表中最常用的操作是取第

存储方式最节省运算时间(B)。i个元素和找

i个元素的前趋元素,则采用

(A) 单链

(B)顺序表

(C)双链表(D)单循环链表

答:B

21.一个向量(一种顺序表)第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是_______。

A.110

B.108

C.100

D.120

答:B

[第5个元素的地址=100+2*(5-1)=108]

22.不带头结点的单链表head为空的判定条件是______。

A.head==NULL;

B.head->next==NULL;

C.head->next==head;

D.head!=NULL;

答:A

23.带头结点的单链表head为空的判定条件是______。

A.head==NULL;

B.head->next==NULL;

C.head->next==head;

D.head!=NULL;

答:B

24.在循环双链表的p所指结点之后插入s所指结点的操作是_____。

A.p->right=s;s->left=p;p->right->left=s;s=->right=p->right;

B.p->right=s;p->right->left=s;s->left=p;s->right=p->right;

C.s->left=p;s->right=p->right;p->right=s;p->right->left=s;

D.s->left=p;s->right=p->right;p->right->left=s;p->right=s; 答:D

25.在一个单链表中,已知q所指结点

p所指结点的前驱结点,若

q和p之间插

s

结点,则执行______。

A.s->next=p->next;p->next=s;

B.p->next=s->next;s-

>next=p;C.q->next=s;s->next=p;D.p->next=s;s->next=q;

答:C

26.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较_____个结点。(参见网上讲义: 1.4.2例1_5)

A.n;

B.n/2;

C.(n-1)/2;

D.(n+1)/2;

答:D

27.给定有n个结点的向量,建立一个有序单链表的时间复杂度_______。

2

A.O(1);

B.O(n );

C.O(n);

D.O(nlogn);

答:C

四、算法设计题:

31.有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数。

提示:本题是遍历通过该链表的每个结点,每遇到一个结点,结点个数加1,结点个数存储在变量n中。

intcount(head,x)

{

/*本题中head为链头指针,不含头结

node*p;

intn=0;

p=head;

while(p!=NULL)

{

if(p->data==x)n++;

p=p->next;

}

return(n);

}

*/

线性代数知识点总结

线性代数知识点总结 第一章 行列式 1. n 阶行列式()() 12 1212 11121212221212 1= = -∑ n n n n t p p p n p p np p p p n n nn a a a a a a D a a a a a a 2.特殊行列式 () () 1112 11222211221122010 n t n n nn nn nn a a a a a D a a a a a a a = =-= 1 2 12 n n λλλλλλ=, () ()1 12 2 121n n n n λλλλλλ-=- 3.行列式的性质 定义 记 11121212221 2 n n n n nn a a a a a a D a a a =,11211 1222212n n T n n nn a a a a a a D a a a = ,行列式T D 称为行列式D 的转置行列式。 性质1 行列式与它的转置行列式相等。 性质2 互换行列式的两行() ?i j r r 或列() ?i j c c ,行列式变号。 推论 如果行列式有两行(列)完全相同(成比例),则此行列式为零。 性质3 行列式某一行(列)中所有的元素都乘以同一数()?j k r k ,等于用数k 乘此行列式; 推论1 D 的某一行(列)中所有元素的公因子可以提到D 的外面; 推论2 D 中某一行(列)所有元素为零,则=0D 。 性质4 若行列式的某一列(行)的元素都是两数之和,则 1112111212222212 () ()()i i n i i n n n ni ni nn a a a a a a a a a a D a a a a a '+'+='+11121111121121222221222212 12 i n i n i n i n n n ni nn n n ni nn a a a a a a a a a a a a a a a a a a a a a a a a ''=+ ' 性质6 把行列式的某一列(行)的各元素乘以同一数然后加到另一列(行)对应的元素上去,

数据结构试题及答案

数据结构试题 一、单选题 1、在数据结构的讨论中把数据结构从逻辑上分为(C ) A 内部结构与外部结构 B 静态结构与动态结构 C 线性结构与非线性结构 D 紧凑结构与非紧凑结构。 2、采用线性链表表示一个向量时,要求占用的存储空间地址(D ) A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 可连续可不连续 3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。 A n B n/2 C (n-1)/2 D (n+1)/2 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。 A s→link = p→link;p→link = s; B p→link = s; s→link = q; C p→link = s→link;s→link = p; D q→link = s;s→link = p; 5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。 A 起泡排序 B 堆排序 C 锦标赛排序 D 快速排序 6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。 A 求子串 B 模式匹配 C 串替换 D 串连接 7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放

该数组至少需要的存储字数是( C )。 A 80 B 100 C 240 D 270 8、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A 栈 B 队列 C 循环队列 D 优先队列 9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。 10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。 A ( front - rear + 1) % m B ( rear - front + 1) % m C ( front - rear + m) % m D ( rear - front + m) % m 11、一个数组元素a[i]与( A )的表示等价。 A *(a+i) B a+i C *a+i D &a+i 12、若需要利用形参直接访问实参,则应把形参变量说明为( B )参数。 A 指针 B 引用 C 值 D 变量 13、下面程序段的时间复杂度为( C ) for (int i=0;i

线性代数第二章答案

第二章 矩阵及其运算 1 已知线性变换 ?????++=++=++=3 213321232113235322y y y x y y y x y y y x 求从变量x 1 x 2 x 3到变量y 1 y 2 y 3的线性变换 解 由已知 ? ??? ?????? ? ?=???? ??221321323513122y y y x x x 故 ???? ?????? ? ?=???? ??-3211 221323513122x x x y y y ? ??? ?????? ??----=321423736 947y y y ?????-+=-+=+--=3 21332123 211423736947x x x y x x x y x x x y 2 已知两个线性变换 ?????++=++-=+=321332123 11542322y y y x y y y x y y x ?????+-=+=+-=3 233122 11323z z y z z y z z y 求从z 1 z 2 z 3到x 1 x 2 x 3的线性变换 解 由已知 ???? ?????? ? ?-=???? ??221321514232102y y y x x x ??? ? ?????? ??--???? ??-=32131 010 2013514232102z z z ??? ? ?????? ??----=321161109412316z z z

所以有?????+--=+-=++-=3 21332123 2111610941236z z z x z z z x z z z x 3 设???? ??--=111111111A ??? ? ??--=150421321B 求3AB 2A 及A T B 解 ??? ? ??---???? ??--???? ??--=-1111111112150421321111111111323A AB ???? ??----=???? ??---???? ??-=2294201722213211111111120926508503 ??? ? ??-=???? ??--???? ??--=092650850150421321111111111B A T 4 计算下列乘积 (1)??? ? ?????? ??-127075321134 解 ???? ?????? ??-127075321134???? ???+?+??+?-+??+?+?=102775132)2(71112374??? ? ??=49635 (2)???? ??123)321( 解 ??? ? ??123)321((132231)(10)

第二章线性表答案

第2章线性表 一选择题 1.下述哪一条是顺序存储结构的优点?( A ) A.存储密度大 B.插入运算方便 C.删除运算方 便 D.可方便地用于各种逻辑结构的存储表示 2.下面关于线性表的叙述中,错误的是哪一个?( B )A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。D.线性表采用链接存储,便于插入和删除操作。 3.线性表是具有n个( C )的有限序列(n>0)。 A.表元素 B.字符 C.数据元 素 D.数据项 E.信息项 4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( A )存储方式最节省时间。 AHA12GAGGAGAGGAFFFFAFAF

A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表 5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链 表 C.双链表D.仅有尾指针的单循环链表 6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( D )最节省时间。 A. 单链表 B.单循环链表 C. 带尾指针的单循环链表 D.带头结点的双循环链表 7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用( D )存储方式最节省运算时间。 AHA12GAGGAGAGGAFFFFAFAF

A.单链表 B.双链表 C.单循环链 表 D.带头结点的双循环链表 8. 静态链表中指针表示的是( BC ). A.内存地址 B.数组下标 C.下一元素地址D.左、右孩子地址 9. 链表不具有的特点是( C ) A.插入、删除不需要移动元素 B.可随机访问任一元素C.不必事先估计存储空间 D.所需空间与线性长度成正比 10. 下面的叙述不正确的是( BC ) A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 AHA12GAGGAGAGGAFFFFAFAF

数据结构线性表2答案

习题二 一、选择题 1.在一个长度为n的顺序表中删除第i个元素(0<i

线性代数第二章矩阵试题及答案

第二章矩阵 一、知识点复习 1、矩阵的定义 由m n个数排列成的一个m行n列的表格,两边界以圆括号或方括号,就成为一个m n型矩阵。例如 2 -1 0 1 1 1 1 1 0 2 2 5 4 -2 9 3 3 3 -1 8 是一个45矩阵. 一个矩阵中的数称为它的元素,位于第i行第j列的数称为(i,j)位元素。 元素全为0的矩阵称为零矩阵,通常就记作0。 两个矩阵A和B相等(记作A=B),是指它的行数相等,列数也相等(即它们的类型相同),并且对应的元素都相等。 2、 n阶矩阵与几个特殊矩阵 行数和列数相等的矩阵称为方阵,行列数都为n的矩阵也常常叫做n阶矩阵。 n阶矩阵的从左上角到右下角的对角线称为主对角线。 下面列出几类常用的n阶矩阵,它们都是考试大纲中要求掌握的. 对角矩阵: 对角线外的的元素都为0的n阶矩阵. 单位矩阵: 对角线上的的元素都为1的对角矩阵,记作E(或I). 数量矩阵: 对角线上的的元素都等于一个常数c的对角矩阵,它就是c E. 上三角矩阵: 对角线下的的元素都为0的n阶矩阵. 下三角矩阵: 对角线上的的元素都为0的n阶矩阵. 对称矩阵: 满足A T=A矩阵,也就是对任何i,j,(i,j)位的元素和(j,i)位的元素总是相等的n阶矩阵. 反对称矩阵:满足A T=-A矩阵.也就是对任何i,j,(i,j)位的元素和(j ,i)位的元素之和总等于0的n阶矩阵.反对称矩阵对角线上的元素一定都是0.) 正交矩阵:若AA T=A T A=E,则称矩阵A是正交矩阵。 (1)A是正交矩阵?A T=A-1 (2)A是正交矩阵?2 A=1 阶梯形矩阵:一个矩阵称为阶梯形矩阵,如果满足: ①如果它有零行,则都出现在下面。 ②如果它有非零行,则每个非零行的第一个非0元素所在的列号自上而下严 格单调递增。 把阶梯形矩阵的每个非零行的第一个非0元素所在的位置称为台角。 每个矩阵都可以用初等行变换化为阶梯形矩阵,这种运算是在线性代数的各类 计算题中频繁运用的基本运算,必须十分熟练。 请注意:一个矩阵用初等行变换化得的阶梯形矩阵并不是唯一的,但是其非零 行数和台角位置是确定的。 3、矩阵的线形运算 (1)加(减)法:两个m n的矩阵A和B可以相加(减),得到的和(差)仍是m n 矩阵,记作A+B (A-B),运算法则为对应元素相加(减). (2)数乘: 一个m n的矩阵A与一个数c可以相乘,乘积仍为m n的矩阵, 记作c A,运算法则为A的每个元素乘c. 这两种运算统称为线性运算,它们满足以下规律: ①加法交换律:A+B=B+A. 2加法结合律:(A+B)+C=A+(B+C). ③加乘分配律:c(A+B)=c A+c B.(c+d)A=c A+d A. ④数乘结合律: c(d)A=(cd)A. ⑤ c A=0 c=0 或A=0. 4、矩阵乘法的定义和性质 (1)当矩阵A的列数和B的行数相等时,则A和B可以相乘,乘积记作AB. AB的行数和A相等,列数和B相等. AB的(i,j)位元素等于A的第i个行向量 和B的第j个列向量(维数相同)对应分量乘积之和.

第2章线性表习题解答

第2章线性表习题解答

第2章习题 (2) 第2章习题 2.1若将顺序表中记录其长度的分量listlen改为指向最后一个元素的位置last,在实现各基本运算时需要做那些修改? 【解】 //用线性表最后一个元素的下标last代替listLen实现顺序表 #define MAXLEN 100 typedef int elementType; typedef struct sllLast { elementType data[MAXLEN]; int last; }seqList; //初始化 void initialList(seqList &S)

{ https://www.360docs.net/doc/f85917247.html,st=-1; } //求表长度 int listLength(seqList S) { return https://www.360docs.net/doc/f85917247.html,st+1; } //按序号取元素 bool getElement(seqList S,int i,elementType &x) { if(i<1 || i>https://www.360docs.net/doc/f85917247.html,st+1) //i为元素编号,有效范围在https://www.360docs.net/doc/f85917247.html,st+1之间 return false; else { x=S.data[i-1];

return true; } } //查找元素x,成功:返回元素编号;失败:返回0 int listLocate(seqList S,elementType x) { int i; for(i=0;i<=https://www.360docs.net/doc/f85917247.html,st;i++) { if(S.data[i]==x) return i+1; //找到,转换为元素编号输出 } return 0; } //插入元素 int listInsert(seqList &S,elementType x, int i)

数据结构课后习题及答案

填空题(10 * 1’ = 10’) 一、概念题 .当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。 .当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。 .带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。 .循环队列的引入,目的是为了克服假溢出。 .长度为0的字符串称为空串。 .组成串的数据元素只能是字符。 .设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。 .为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。 .广义表的深度是广义表中括号的重数 .有向图G可拓扑排序的判别条件是有无回路。 .若要求一个稠密图的最小生成树,最好用Prim算法求解。 . 直接定址法法构造的哈希函数肯定不会发生冲突。 .排序算法所花费的时间,通常用在数据的比较和交换两大操作。 .通常从正确性﹑可读性﹑健壮性﹑时空效率等几个方面评价算法的(包括程序)的质量。 .对于给定的n元素,可以构造出的逻辑结构有集合关系﹑线性关系树形关系﹑图状关系四种。 .存储结构主要有顺序存储﹑链式存储﹑索引存储﹑散列存储四种。 .抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。 .一个算法具有五大特性:有穷性﹑确定性﹑可行性,有零个或多个输入﹑有一个或多个输入。 .在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s->prior= p->prior; s->next= p; p->prior- next= s; p->prior= s;。 .在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作(如插入和删除)在各种情况下统一。 .队列是限制在表的一端进行插入和在另一端进行删除的线性表,其运算遵循先进先出原则。 .栈是限定尽在表位进行插入或删除操作的线性表。 .在链式队列中,判定只有一个结点的条件是(Q->rear==Q->front)&&(Q->rear!=NULL)。 .已知链队列的头尾指针分别是f和r,则将x入队的操作序列是node *p=(node *)malloc(node); p->next=x; p->next=NULL; if(r) {r->next=p; r=p;} else {r=p; f=p;}。 .循环队列的满与空的条件是(rear+1)%MAXSIZE==fornt和(front=-1&&rear+1==MAXSIZE)。 .串是一种特殊的线性表,其特殊性表现在数据元素都是由字符组成。 .字符串存储密度是串值所占存储位和实际分配位的比值,在字符串的链式存储结构中其结点大小是可变的。 .所谓稀疏矩阵指的是矩阵中非零元素远远小于元素总数,则称该矩阵为矩阵中非零元素远远小于元素总数,则称该矩阵为稀疏矩阵。 .一维数组的逻辑结构是线性结构,存储结构是顺序存储结构;对二维或多维数组,分别按行优先和列优先两种不同的存储方式。 .在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是求邻接矩阵中第i列非0元素的个数。 网中,结点表示活动,边表示活动之间的优先关系,AOE网中,结点表示事件,边表示活动。 .按排序过程中依据不同原则对内部排序方法进行分类,主要有选择排序﹑交换排序﹑插入排序归并排序等4类。 .在堆排序、快速排序和归并排序中若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下排序最快考虑,则应选择快速排序方法;若只从最坏情况下排序最快且要节省类存考虑,则应选择堆排序方法。 .直接插入排序用监视哨的作用是存当前要的插入记录,可又省去查找插入位置时对是否出界的判断。 .设表中元素的初始状态是按键值递增的,则直接插入排序最省时间,快速排序最费时间。 .下列程序判断字符串s是否对称,对称则返回1,否则返回0;如?(“abba”)返回1,?(”abab”)返回0. Int f (char*s) { Int i=0,j=0; 求串长*/

线性代数课后习题答案(陈维新)

第一章 行列式 习题1.1 1. 证明:(1)首先证明)3(Q 是数域。 因为)3(Q Q ?,所以)3(Q 中至少含有两个复数。 任给两个复数)3(3,32211Q b a b a ∈++,我们有 3 )()3()3)(3(3)()()3()3(3)()()3()3(2121212122112121221121212211b a a b b b a a b a b a b b a a b a b a b b a a b a b a +++=++-+-=+-++++=+++。 因为Q 是数域,所以有理数的和、差、积仍然为有理数,所以 ) 3(3)()3()3)(3()3(3)()()3()3()3(3)()()3()3(2121212122112121221121212211Q b a a b b b a a b a b a Q b b a a b a b a Q b b a a b a b a ∈+++=++∈-+-=+-+∈+++=+++。 如果0322≠+b a ,则必有22,b a 不同时为零,从而0322≠-b a 。 又因为有理数的和、差、积、商仍为有理数,所以 )3(33) (3)3() 3)(3()3)(3(3 32 2 22212122222121222222112211Q b a b a a b b a b b a a b a b a b a b a b a b a ∈--+--= -+-+= ++。 综上所述,我们有)3(Q 是数域。 (2)类似可证明)(p Q 是数域,这儿p 是一个素数。 (3)下面证明:若q p ,为互异素数,则)()(q Q p Q ?。 (反证法)如果)()(q Q p Q ?,则q b a p Q b a +=? ∈?,,从而有 q ab qb a p p 2)()(222++==。 由于上式左端是有理数,而q 是无理数,所以必有02=q ab 。 所以有0=a 或0=b 。 如果0=a ,则2 qb p =,这与q p ,是互异素数矛盾。 如果0=b ,则有 a p =,从而有“有理数=无理数”成立,此为矛盾。 所以假设不成立,从而有)()(q Q p Q ?。

(完整版)数据结构第二章线性表1答案

(A )需经常修改L 中的结点值 (E )需不断对L 进行删除插入 第二部分线性表 、选择题 1 ?关于顺序存储的叙述中,哪一条是不正确的 (B ) A. 存储密度大 B. 逻辑上相邻的结点物理上不必邻接 C. 可以通过计算直接确定第 i 个结点的位置 D. 插入、删除操作不方便 2.长度为n 的单链表连接在长度为 m 的单链表后的算法的时间复杂度为 (C ) A 0( n ) B 0(1) C 0(m ) D 0(m+n ) 3 .在n 个结点的顺序表中,算法的时间复杂度是 0(1)的操作是:(A ) A 访问第i 个结点(1<=i<=n )和求第i 个结点的直接前趋(2<=i<=n ) B 在第i 个结点(1<=i<=n )后插入一个新结点 C 删除第i 个结点(1<=i<=n ) D 将n 个结点从小到大排序 4.一个向量第一个兀素的存储地址是 100 ,每个兀素的长度为 2 ,则第5 个兀素的地址是 (B ) ( A ) 110 ( B ) 108 (C ) 100 ( D ) 120 5 .已知一个顺序存储的线性表, 设每个结点需要占 m 个存储单元,若第一个结点的地址为 da , 则第i 个结点的地址为:(A ) 7 .链表是一种采用( B )存储结构存储的线性表。 (A )顺序 (B )链式 (C )星式 (D )网状 8 .线性表若采用链式存储结构时,要求内存中可用存储单兀的地址: (D ) (A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以 9 .线性表L 在_ ( B )情况下适用于使用链式结构实现。 A ) da+(i-1)*m B ) da+i*m 6.在具有n 个结点的单链表中,实现( A )遍历链表和求链表的第 i 个结点 C )删除开始结点 C ) da-i*m D ) da+(i+1)*m A )的操作,其算法的时间复杂度为 0(n )。 B )在地址为p 的结点之后插入一个结点 D ) 删除地址为p 的结点的后继结点

线性代数总结归纳

行列式 1.为何要学习《线性代数》?学习《线性代数》的重要性和意义。 答:《线性代数》是理、工、医各专业的基础课程,它是初等代数理论的继续和发展, 它的理论和方法在各个学科中得到了广泛的应用。 2.《线性代数》的前导课程。 答:初等代数。 3.《线性代数》的后继课程。 答:高等代数,线性规划,运筹学,经济学等。 4.如何学习《线性代数》? 答:掌握各章节的基本概念和解决问题的基本方法,多多体会例子的方法和技巧,多做 练习,在练习中要紧扣问题涉及的概念,不要随意扩大概念的范围,练习要自己做才能理解所学的知识。在学完一章后自己要做一个小结,理清该章内容及前后概念之间的联 系。在学完本课程后,将各章的内容做一个总结,想想各章内容之间的联系,易混淆的 概念要着重加深理解及区分它们之间的差异。 第一章行列式 5.什么是一个n阶全排列?【知识点】:n阶全排列。 答:由n个数1,2,…,n组成的一个有序数组。 6.什么是标准排列?【知识点】:n阶全排列。 答:按数字由小到大的自然顺序排列的n阶排列123, n。 7.什么是n阶全排列的逆序?【知识点】:n阶全排列的逆序。 答:在一个n阶排列中,若某个较大的数排在某个较小的数前面,则称这两个数构成一个逆序。例如:排列45312中,数4与3 ,数4与1,数4与2 ,数5与3,数5与1 ,数5与2, 数3与1,数3与2都构成逆序。数4与5,数1与2不构成逆序。 & 什么是n阶排列的逆序数?【知识点】:n阶排列的逆序数。 答:在一个n阶排列中,所有逆序的总数就是排列的逆序数。例如:上问中的排列45312 的逆序数为8。 9.什么是奇排列和偶排列?【知识点】:排列的奇偶性。

数据结构试题答案

第一章概论 一、选择题 1、研究数据结构就是研究(D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作(研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作) 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。(线性结构就是:在非空有限集合中,存在为一个被称为第一个的数据元素和最后一个元素,有除了第一个元素,集合中每一个元素均只有一个前驱,除了最后一个元素有唯一后继)(链表、栈、队列、数组、串) A. 图 B. 树 C. 广义表(线性表的推广) D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i

6、算法是(D )。为了解决某一问题而规定的一个有限长的操作序列 A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示(C )。 A. O(n) B. O(nlog2n) C. O(n2) D. O(log2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log3n) D. O(n3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的(B )和运算等的学科。(关系和操作) A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是( A )。 i=s=0; while(s

第二章线性表习题及答案

第二章线性表习题及答案 一、基础知识题 2.1 试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。 答:始结点是指链表中的第一个结点,也就是没有直接前趋的那个结点。 链表的头指针是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。 头结点是我们人为地在链表的开始结点之前附加的一个结点。有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。 2.2 何时选用顺序表、何时选用链表作为线性表的存储结构为宜? 答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑: 1.基于空间的考虑。当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。 2.基于时间的考虑。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等的操作时,宜采用链表做存储结构。并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。 2.3 在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素? 答:在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点。删除一个结点需平均移动(n-1)/2个结点。具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。i 越接近n则所需移动的结点数越少。 2.4 为什么在单循环链表中设置尾指针比设置头指针更好? 答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear->next->next 和rear, 查找时间都是O(1)。 若用头指针来表示该链表,则查找终端结点的时间为O(n)。 2.5 在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 答:我们分别讨论三种链表的情况。 1. 单链表。当我们知道指针p指向某结点时,能够根据该指针找到其直接后继,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前趋。因此无法删去该结点。 2. 双链表。由于这样的链表提供双向链接,因此根据已知结点可以查找到其直接前趋和直接后继,从而可以删除该结点。其时间复杂度为O(1)。 3. 单循环链表。根据已知结点位置,我们可以直接得到其后相邻的结点位置(直接后继),又因为是循环链表,所以我们可以通过查找,得到p结点的直接前趋。因此可以删去p所指结点。其时间复杂度应为O(n)。 2.6 下述算法的功能是什么? LinkList Demo(LinkList L){ // L 是无头结点单链表 ListNode *Q,*P; if(L&&L->next){ Q=L;L=L->next;P=L;

线性代数知识点归纳

线性代数复习要点 第一部分 行列式 1. 排列的逆序数 2. 行列式按行(列)展开法则 3. 行列式的性质及行列式的计算 1.行列式的计算: ① (定义法)1212121112121222() 1212()n n n n n j j j n j j nj j j j n n nn a a a a a a D a a a a a a τ= = -∑ L L L L L M M M L 1 ②(降阶法)行列式按行(列)展开定理: 行列式等于它的任一行(列)的各元素与其对应的代数余子式的乘积之和. 推论:行列式某一行(列)的元素与另一行(列)的对应元素的代数余子式乘积之和等于零. ③ (化为三角型行列式)上三角、下三角、主对角行列式等于主对角线上元素的乘积. ④ 若A B 与都是方阵(不必同阶),则 ==()mn A O A A O A B O B O B B O A A A B B O B O *==* *=-1 ⑤ 关 于 副 对角线: (1)2 1121 21 1211 1 () n n n n n n n n n n n a O a a a a a a a O a O ---* ==-K N N 1

⑥ 范德蒙德行列式:()1 22 22 12111112 n i j n j i n n n n n x x x x x x x x x x x ≤<≤---=-∏L L L M M M L 111 ⑦ a b -型公式:1 [(1)]()n a b b b b a b b a n b a b b b a b b b b a -=+--L L L M M M O M L ⑧ (升阶法)在原行列式中增加一行一列,保持原行列式不变的方法. ⑨ (递推公式法) 对n 阶行列式n D 找出n D 与1n D -或1n D -,2n D -之间的一种关系——称为递推公式,其中 n D ,1n D -,2n D -等结构相同,再由递推公式求出n D 的方法称为递推公式法. (拆分法) 把某一行(或列)的元素写成两数和的形式,再利用行列式的性质将原行列式写成两行列式之和, 使问题简化以例计算. ⑩ (数学归纳法) 2. 对于n 阶行列式A ,恒有:1 (1)n n k n k k k E A S λλ λ-=-=+-∑,其中k S 为k 阶主子式; 3. 证明 0A =的方法: ①、A A =-; ②、反证法; ③、构造齐次方程组0Ax =,证明其有非零解; ④、利用秩,证明()r A n <; ⑤、证明0是其特征值. 4. 代数余子式和余子式的关系:(1)(1)i j i j ij ij ij ij M A A M ++=-=- 第二部分 矩阵 1.矩阵的运算性质 2.矩阵求逆

数据结构习题与答案

第 1 章绪论 课后习题讲解 1. 填空 ⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。 【解答】集合,线性结构,树结构,图结构 ⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸算法具有五个特性,分别是()、()、()、()、()。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺在一般情况下,一个算法的时间复杂度是()的函数。 【解答】问题规模 ⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。 2. 选择题 ⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

线性代数第二章答案

第二章 矩阵及其运算 1 已知线性变换 ?????++=++=++=3 21332123 2113235322y y y x y y y x y y y x , 求从变量x 1 x 2 x 3到变量y 1 y 2 y 3的线性变换 解 由已知 ? ??? ?????? ? ?=???? ??22 1321323513122y y y x x x 故 ???? ?????? ? ?=???? ??-3211 221323513122x x x y y y ? ??? ?????? ??----=321423736 947y y y ?????-+=-+=+--=3 21332123 211423736947x x x y x x x y x x x y 2 已知两个线性变换 ?????++=++-=+=3 2133 2123 11542322y y y x y y y x y y x ?????+-=+=+-=3 233122 11323z z y z z y z z y 求从z 1 z 2 z 3到x 1 x 2 x 3的线性变换 解 由已知 ???? ?????? ? ?-=???? ??221321514232102y y y x x x ??? ? ?????? ??--???? ??-=32131 010 2013514232102z z z ??? ? ?????? ??----=32 1161109412316z z z

所以有?????+--=+-=++-=3 2133 2123 2111610941236z z z x z z z x z z z x 3 设???? ??--=111111111A ??? ? ??--=150421321B 求3AB 2A 及A T B 解 ??? ? ??---???? ??--???? ??--=-1111111112150421321111111111323A AB ???? ??----=???? ??---???? ??-=2294201722213211111111120926508503 ??? ? ??-=???? ??--???? ??--=092650850150421321111111111B A T 4 计算下列乘积 (1)??? ? ?????? ??-127075321134 解 ???? ?????? ??-127075321134???? ???+?+??+?-+??+?+?=102775132)2(71112374?? ? ? ??=49635 (2)???? ??123)321( 解 ??? ? ??123)321((132231)(10)

线性代数知识点总结

线性代数知识点总结 第一章行列式 (一)要点 1、 二阶、三阶行列式 2、 全排列和逆序数,奇偶排列(可以不介绍对换及有关定理) ,n 阶行列式的定义 3、 行列式的性质 4、 n 阶行列式 ^a i j ,元素a j 的余子式和代数余子式,行列式按行(列)展开定理 5、 克莱姆法则 (二)基本要求 1 、理解n 阶行列式的定义 2、掌握n 阶行列式的性质 3 、会用定义判定行列式中项的符号 4、理解和掌握行列式按行(列)展开的计算方法,即 a 1i A Ij ' a 2i A 2 j ' a ni A nj ^ 5、会用行列式的性质简化行列式的计算,并掌握几个基本方法: 归化为上三角或下三角行列式, 各行(列)元素之和等于同一个常数的行列式, 利用展开式计算 6、 掌握应用克莱姆法则的条件及结论 会用克莱姆法则解低阶的线性方程组 7、 了解n 个方程n 个未知量的齐次线性方程组有非零解的充要条件 第二章矩阵 (一)要点 1、 矩阵的概念 m n 矩阵A =(a j )mn 是一个矩阵表。当 m =n 时,称A 为n 阶矩阵,此时由 A 的 元素按原来排列的形式构成的 n 阶行列式,称为矩阵 A 的行列式,记为 A . 注:矩阵和行列式是两个完全不同的两个概念。 2、 几种特殊的矩阵:对角阵;数量阵;单位阵;三角形矩阵;对称矩阵 a i 1A j 1 ■ a i2A j 2 ? a in A jn = 〔 D '

3、矩阵的运算;矩阵的加减法;数与矩阵的乘法;矩阵的转置;矩阵的乘法 (1矩阵的乘法不满足交换律和消去律,两个非零矩阵相乘可能是零矩阵。如果两矩阵A与B相乘,有AB = BA ,则称矩阵A与B可换。注:矩阵乘积不一定符合交换 (2)方阵的幕:对于n阶矩阵A及自然数k, A k=A A A , 1 k个 规定A° = I ,其中I为单位阵. (3) 设多项式函数(J^a^ k?a1?k^l Z-心律??a k,A为方阵,矩阵A的 多项式(A) = a0A k?a1A k' …-?-a k jA ■ a k I ,其中I 为单位阵。 (4)n阶矩阵A和B ,贝U AB=IAB . (5)n 阶矩阵A ,则∣∕Λ =λn A 4、分块矩阵及其运算 5、逆矩阵:可逆矩阵(若矩阵A可逆,则其逆矩阵是唯一的);矩阵A的伴随矩阵记 * 为A , AA* = A*A = AE 矩阵可逆的充要条件;逆矩阵的性质。 6、矩阵的初等变换:初等变换与初等矩阵;初等变换和初等矩阵的关系;矩阵在等价 意义下的标准形;矩阵A可逆的又一充分必要条件:A可以表示成一些初等矩阵的乘积; 用初等变换求逆矩阵。 7、矩阵的秩:矩阵的k阶子式;矩阵秩的概念;用初等变换求矩阵的秩 8、矩阵的等价 (二)要求 1、理解矩阵的概念;矩阵的元素;矩阵的相等;矩阵的记号等 2、了解几种特殊的矩阵及其性质 3、掌握矩阵的乘法;数与矩阵的乘法;矩阵的加减法;矩阵的转置等运算及性质 4、理解和掌握逆矩阵的概念;矩阵可逆的充分条件;伴随矩阵和逆矩阵的关系;当A 可逆时,会用伴随矩阵求逆矩阵 5、了解分块矩阵及其运算的方法 (1)在对矩阵的分法符合分块矩阵运算规则的条件下,其分块矩阵的运算在形式上与不分块矩阵的运算是一致的。 (2)特殊分法的分块矩阵的乘法,例如A m n, B nl,将矩

相关文档
最新文档