第一范文网 - 专业文章范例文档资料分享平台

数据结构复习知识点

来源:用户分享 时间:2025/6/2 19:10:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第一章:概论 知识点:

1、 数据结构的基本概念:数据、数据元素、数据项等之间的区和联系。

2、 数据的逻辑结构,数据的存储结构、数据的逻辑结构和存储结构各有哪些基本类型、数据的基本逻辑结构有什么特点。

我们所学的几种常见的数据结构中(顺序表、链表、队列、栈、串、树、图等),哪些是线性数据结构,哪些是非线性数据结构? 3、 算法复杂性的概念、内容和算法复杂性的计算。 简单算法复杂性的判断: (1)sum=0;

for(i=1;i<=n;i++) sum=sum+i;

其中i=1,2,3,…,k, 需频度k<=n,所以复杂性为O(n) (2)i=1;

while(i<=n) i=i+2;

其中i=1,3,5,…,(2k-1),需2k-1<=n,则频度k<=(n+1)/2,复杂性为O(n) (3)i=1;

while(i<=n) i=i*3;

其中i=1,3,32,…,3k, 需3k<=n,则频度k<=log3n,复杂性为O(log3n) (4)i=1;

while(i*i<=n) i++;

其中i=1,2,3,…,k,需k2<=n,则频度k<=n1/2,复杂性为O(n1/2) 习题: 1、填空题

(1)数据的逻辑结构包括: 、 、 、 ; (2)存储结构包括: 、 、 、 。 (3)数据结构中评价算法的两个重要指标是

(4)下面程序段中带下划线的语句的执行次数的数量级是:

i=1;while( i

(5)计算机执行下面的语句时,语句s的执行次数为 _______ 。

for(i=l;i=i;j--) s;

(6)下面程序段的时间复杂度为________。(n>1) sum=1;

for (i=0;sum

(1)算法的计算量的大小称为计算的( )。

A.效率 B. 复杂性 C. 现实性 D. 难度 (2)算法的时间复杂度取决于( )

A.问题的规模 B. 待处理数据的初态 C. A和B (3)计算机算法指的是( ),它必须具备( ) 这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法

(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性

C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性

(4)从逻辑上可以把数据结构分为( )两大类。

A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 (5)以下数据结构中,哪一个是线性结构( )?

A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 (6)在下面的程序段中,对x的赋值语句的频度为( )

for(i=1;i<=n;i++) for(j=1;j<=n;j++)

x=x+1

A. O(2n) B.O(n) C.O(n2) D.O(log2n) (7)程序段

for(i=n;i>=1;i--)

for(j=1;j<=n;j++)

IF A[j]>A[j+1] THEN A[j]与A[j+1]对换;

其中 n为正整数,则最后一行的语句频度在最坏情况下是( )

32

A. O(n) B. O(nlogn) C. O(n) D. O(n) (8)以下数据结构中,( )是非线性数据结构

A.树 B.字符串 C.队 D.栈 (9)连续存储设计时,存储单元的地址( )。

A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 3、问答题

(1)数据元素之间的关系在计算机中有几种表示方法?各有什么特点? (2)数据的逻辑结构有哪些基本类型?

(3)数据的存储结构由哪四种基本的存储方法实现?

第二章:线性表 知识点:

1、 线性表的基本概念和两种存储方式:顺序存储、链式存储

2、 顺序表的概念、数据结构、存储,插入、删除运算及其时间复杂度;顺序表的特点:随机存储

3、 单链表的存储、插入、删除运算特点?是否可以随机存取?访问、增加或者删除结点时的时间复杂度?

4、 单链表中插入结点和删除结点的基本步骤?头指针与头结点之间的根本区别,头结点与首元结点的关系?在链表里面,引入头结点有什么作用? 5、 有头结点、无头结点的单链表为空的条件分别是什么? 有头结点:L->next == NULL,无头结点:L==NULL 习题: 1、选择题

(1)下述哪一条是顺序存储结构的优点?( )

A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示

(2)下面关于线性表的叙述中,错误的是哪一个?( )

A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 (3)线性表是具有n个( )的有限序列(n>0)。

A3.表元素 B.字符 C.数据元素 D.数据项 E.信息项

(4)链表不具有的特点是( )

A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比 (5) 下面的叙述不正确的是( )

A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关

C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比 D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关

(6)若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。

2

A. O(0) B. O(1) C. O(n) D. O(n) (7)对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( )。 A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)

(8)线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )

A.O(i) B.O(1) C.O(n) D.O(i-1) 2、填空

(1)当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用__ _____存储结构。

(2)线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是__ ______。

(3)在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动__ 1______个元素。

(4)在单链表中设置头结点的作用是_ ______。

(5)链接存储的特点是利用_______来表示数据元素之间的逻辑关系。 (6)顺序存储结构是通过_ ______表示元素之间的关系的;链式存储结构是通过______表示元素之间的关系的。 (7) 对于双向链表,在两个结点之间插入一个新结点需修改的指针共 _____个,单链表为______个。

(8)在单链表L中,指针p所指结点有后继结点的条件是:__

(9)线性结构包括______、______、_____和______。线性表的存储结构分成_ ____和____ __。

3、应用题

(1)线性表有两种存储结构:一是顺序表,二是链表。试问:

如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构? 为什么?

若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?

(2)说明在线性表的链式存储结构中,头指针与头结点之间的根本区别;头结点与首元结点的关系。

(3)删除顺序表中所有的正数,要求移动次数小。

搜索顺序表,对每一个正数,先不删除,而是累计当前正数个数s,于

是,对每个非正数,将它一次性前移s位。算法复杂性为O(n)。

void dels(sqlist *L) { int s,i; s=0; //正数计数器 for(i=0;in;i++)

if(L->data[i]>0 s++; //累计当前正数

else if(s>0) L->data[i-s]=l->data[i];//向前移动s位

L->n=L->n-s; //调整表长 }

还可以删除顺序表中所有的负数、字符等,主要是删除数据的条件不一样 (4) 单链表算法运用,如链表合并,将两个有序表合并为一个有序表 lklist purge(lklist A,lklist B) { pointer C,p,q,r; p=A->next;q=B->next; C=A;r=C; //取A头结点作C头结点 while(p!=NULL && q!=NULL) { if(p->data<=q->data)

{r?>next=p;r=p;p=p->next;} else {r?>next=q;r=q;q=q->next;} }

if(p!=NULL) r->next=p; //A表有剩余结点 else r->next=q; delete B; //释放B头结点 return C; }

第三章 栈、队列和串 知识点:

1、 栈的定义、栈顶、栈底、运算特点(先进后出),顺序实现和链接实现及其特点,栈的应用

2、 队列的概念,队头、队尾、运算特点(后进后出),顺序实现、循环队列、链队列

3、 串的概念和串长的计算 习题

1、 选择题

(1) 对于栈操作数据的原则是( )。

搜索更多关于: 数据结构复习知识点 的文档
数据结构复习知识点.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6lfxm38i717l7tx29ybm0wacw0f2p400gaq_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top