数据结构基础知识Word文档下载推荐.docx

上传人:b****3 文档编号:14656868 上传时间:2022-10-23 格式:DOCX 页数:14 大小:22.18KB
下载 相关 举报
数据结构基础知识Word文档下载推荐.docx_第1页
第1页 / 共14页
数据结构基础知识Word文档下载推荐.docx_第2页
第2页 / 共14页
数据结构基础知识Word文档下载推荐.docx_第3页
第3页 / 共14页
数据结构基础知识Word文档下载推荐.docx_第4页
第4页 / 共14页
数据结构基础知识Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数据结构基础知识Word文档下载推荐.docx

《数据结构基础知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构基础知识Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

数据结构基础知识Word文档下载推荐.docx

inti,j,x;

for(i=0;

i<

n:

i++)n+1

for(j=0;

j<

n;

j++)n+1

x+=i;

------------------------------------------------------------------------------------------------------------------

第二章线性表

1.顺序表结构由n(n>

=0)个具有相同性质的数据元素a1,a2,a3……,an组成的有穷序列

//顺序表结构

#defineMAXSIZE100

typedefintDataType;

Typedefstruct{

DataTypeitems[MAXSIZE];

Intlength;

}Sqlist,*LinkList;

2.单链表

(1)链表结点结构

//链表的节点结构

TypedefstructNode{

intdata;

structNode*next;

}Lnode,*Pnode,*LinkList;

(2)结点遍历

voidTraverseList(LinkListt){

LinkListp;

while(t){

p=t;

t=t->

next

free(p);

}

}

(3)链表操作算法:

初始化、插入、输出、删除

voidInitList(LinkList*h){

*h=(LinkList)malloc(sizeof(LNode));

if(!

h){

print(“初始化错误”);

return;

(*h)->

next=NULL;

voidInsertList(LinkListh,intpos,datatypex){

LinkListp=h,q;

inti=0;

while(p&

&

pos-1){

p=p->

next;

i++;

p||i>

pos-1)print(“插入位置出错!

!

”);

InitList(&

q);

q->

data=x;

voidDeleteList(LinkListh,intpos){

pos-1){cout<

<

”删除位置错误”;

return;

q=p->

p->

next=q->

free(q);

-----------------------------------------------------------------------------------------------------------------

1、线性表中,第一个元素没有直接前驱,最后一个元素没有直接后驱。

2、在一个单链表中,若p所指结点是q所指结点的前驱结点,则删除结点q的操作语句为

3、在长度为N的顺序表中,插入一个新元素平均需要移动表中n/2个元素,删除一个元素平均需要移动(n-1)/2个元素。

4、若线性表的主要操作是在最后一个元素之后插入一个元素或删除最后一个元素,则采用___带头结点的双循环链表__存储结构最节省运算时间。

5、已知顺序表中每个元素占用3个存储单元,第13个元素的存储地址未336,则顺序表的首地址为___300_____。

6、设有一带头结点单链表L,请编写该单链表的初始化,插入、输出和删除函数。

(函数名自定义)

----------------------------------------------------------------------------------------------------------------

voidInitList(LinkList*L){

(*L)=(LinkList)malloc(sizeof(LNode));

L){

cout<

”初始化失败!

”;

(*L)->

voidInsertList(LinkListL,intpos,DataTypex){

LinkListp=L,q;

cout<

”插入位置错误”;

next=p->

next=q;

voidTraverseList(LinkListL){

LinkListt;

while(L){

t=L;

L=L->

free(t);

LinkListt=L;

t->

data<

””;

endl;

voidDeleteList(LinkListL,intpos){

”删除位置错误!

free(q):

第三章栈和队列

1.栈

(1)栈的结构与定义

(2)顺序栈操作算法:

入栈、出栈、判断栈空等

(3)链栈的结构与定义

2.队列

(1)队列的定义

1、一个栈的入栈序列为“ABCDE”,则以下不可能的出栈序列是()

A.BCDAEB.EDACBC.BCADED.AEDCB

2、栈的顺序表示仲,用TOP表示栈顶元素,那么栈空的条件是()

A.TOP==STACKSIZEB.TOP==1C.TOP==0D.TOP==-1

3、允许在一端插入,在另一端删除的线性表称为____队列____。

插入的一端为____队尾____,删除的一端为_____队头___。

4、栈的特点是____先进后出____,队列的特点是____先进先出____。

5、对于栈和队列,无论他们采用顺序存储结构还是链式存储结构,进行插入和删除操作的时间复杂度都是____O

(1)____。

6、已知链栈Q,编写函数判断栈空,如果栈空则进行入栈操作,否则出栈并输出。

(要求判断栈空、出栈、入栈用函数实现)

voidEmptyStack(LinkStackQ){

LinkStackt;

charx=a;

//假设链栈存储字符型数据

if(Q->

next){t=Pop(Q,x);

data;

elsePush(Q,x);

基本概念

⏹数据结构的研究对象是什么?

数据,数据元素(数据结构中讨论的"

基本单位"

、数据整体中相对独立的单位、

数据元素的特点:

相对性),数据结构,数据类型和抽象数据类型,数据对象

⏹数据结构是什么?

定义:

数据元素以及它们之间存在一种或多种特定的关系。

特点:

数据元素集合相同,而其上的关系不同,则构成的数据结构不同。

⏹逻辑结构是什么?

主要有哪几类?

逻辑结构:

对数据元素之间存在的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合上的若干关系表示。

⏹存储结构是什么?

存储结构:

是数据逻辑结构在计算机中的表示和实现,故又称数据"

物理结构"

⏹什么是算法?

是对问题求解过程的一种描述,是为解决一个或一类问题给出的一个确定的、有限长的操作序列。

五大特性:

有穷性、确定性、可行性、输入、输出

线性表

⏹线性表的定义?

线性表是由n(n≥0)个属性相同数据元素a1,a2…an组成的一个有限序列,线性表或是空表,或可以表示为A=(a1,a2,…,ai,…,an)其中ai(i=1,2,…,n)是线性表中的一个元素。

⏹如何在顺序存储结构表示的线性表中实现插入元素操作?

intinsertElement(List_Array*list_ptr,char*element)

{//把新字符串插入到线性表的最后位置

if(list_ptr->

count==LISTMAX)

return(-1);

//到达最大大小

else{

strcpy(list_ptr->

list[list_ptr->

count],element);

list_ptr->

count++;

//下一个元素

return

(1);

//成功返回

}

⏹如何在顺序存储结构表示的线性表中实现元素删除操作?

⏹intdeleteElement(List_Array*list_ptr,intpos)

⏹{intk;

⏹//检查下标pos位置上是否存在数据

if(pos<

0||pos>

list_ptr->

count-1)

//出错

else{//将pos位置后所有元素向前移动

for(k=pos;

k<

count-1;

k++)

strcpy(list_ptr->

list[k],list_ptr->

list[k+1]);

count--;

//删除成功

}

⏹如何在顺序存储

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1