数据结构复习提纲.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构复习提纲.pdf》由会员分享,可在线阅读,更多相关《数据结构复习提纲.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据结构复习提纲(整理)复习提纲 第一章 数据结构概述 基本概念与术语(P3)1 数据结构 是一门研究非数值计算程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科.2 数据 是用来描述现实世界的数字,字符,图像,声音,以及能够输入到计算机中并能被计算机识别的符号的集合 2数据元素 是数据的基本单位 3数据对象 相同性质的数据元素的集合 4数据结构 包括三方面内容:数据的逻辑结构.数据的存储结构.数据的操作.(1)数据的逻辑结构 指数据元素之间固有的逻辑关系.(2)数据的存储结构 指数据元素及其关系在计算机内的表示 (3)数据的操作 指在数据逻辑结构上定义的操作算法,如插入,删除等.
2、5.时间复杂度分析-1、名词解释:数据结构、二元组 2、根据数据元素之间关系的不同,数据的逻辑结构可以分为 集合、线性结构、树形结构和图状结构四种类型。3、常见的数据存储结构一般有四种类型,它们分别是_顺序存储结构_、_链式存储结构_、_索引存储结构_和_散列存储结构_。4、以下程序段的时间复杂度为_O(N2)_。int i,j,x;for(i=0;in:i+)n+1 for(j=0;j=0)个具有相同性质的数据元素 a1,a2,a3,an 组成的有穷序列 /顺序表结构#define MAXSIZE 100 typedef int DataType;Typedef struct DataTyp
3、e itemsMAXSIZE;Int length;Sqlist,*LinkList;/初始化链表 void InitList(LinkList*L)(*L)=(LinkList)malloc(sizeof(LNode);if(!L)coutnext=NULL;/插入数据 void InsertList(LinkList L,int pos,DataType x)LinkList p=L,q;int i=0;while(p&inext;i+;if(!p|ipos-1)coutnext=p-next;p-next=q;q-data=x;/销毁链表 void DestoryList(LinkLis
4、t L)LinkList t;while(L)t=L;L=L-next;free(t);/遍历链表 void TraverseList(LinkList L)LinkList t=L;while(L)t=t-next;coutdata”;coutendl;/删除元素 void DeleteList(LinkList L,int pos)LinkList p=L,q;int i=0;while(p&inext;i+;if(!p|ipos-1)coutnext;p-next=q-next;free(q):第三章 栈和队列 1.栈(1)栈的结构与定义(2)顺序栈操作算法:入栈、出栈、判断栈空等(3)
5、链栈的结构与定义 2.队列(1)队列的定义 -1、一个栈的入栈序列为“ABCDE”,则以下不可能的出栈序列是()A.BCDAE B.EDACB C.BCADE D.AEDCB 2、栈的顺序表示仲,用 TOP 表示栈顶元素,那么栈空的条件是()A.TOP=STACKSIZE B.TOP=1 C.TOP=0 D.TOP=-1 3、允许在一端插入,在另一端删除的线性表称为_队列_。插入的一端为-_队尾_,删除的一端为_队头_。4、栈的特点是_先进后出_,队列的特点是_先进先出_。5、对于栈和队列,无论他们采用顺序存储结构还是链式存储结构,进行插入和删除操作的时间复杂度都是_O(1)_。6、已知链栈
6、Q,编写函数判断栈空,如果栈空则进行入栈操作,否则出栈并输出。(要求判断栈空、出栈、入栈用函数实现)/判断栈空(完成题目要求)void EmptyStack(LinkStack Q)LinkStack t;char x=a;/假设链栈存储字符型数据 if(Q-next)t=Pop(Q,x);coutdata;else Push(Q,x);/初始化栈 void InitStack(LinkStack*Q)*Q=(LinkStack)malloc(sizeof(SNode);if(!Q)coutnext=NULL;/入栈 void Push(LinkStack Q,datatype x)LinkS
7、tack t;InitStack(&t);t-data=x;t-next=Q-next;Q-next=t;/出栈 void Pop(LinkStack Q,datatype&x)LinkStack t=Q-next;if(!t)coutnext=t-next;x=t-data;free(t);基本概念 数据结构的研究对象是什么?数据,数据元素(数据结构中讨论的基本单位、数据整体中相对独立的单位、数据元素的特点:相对性),数据结构,数据类型和抽象数据类型,数据对象 数据结构是什么?定义:数据元素以及它们之间存在一种或多种特定的关系。特点:数据元素集合相同,而其上的关系不同,则构成的数据结构不同。
8、逻辑结构是什么?主要有哪几类?逻辑结构:对数据元素之间存在的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合上的若干关系表示。存储结构是什么?存储结构:是数据逻辑结构在计算机中的表示和实现,故又称数据物理结构。什么是算法?定义:是对问题求解过程的一种描述,是为解决一个或一类问题给出的一个确定的、有限长的操作序列。五大特性:有穷性、确定性、可行性、输入、输出 线性表 线性表的定义?线性表是由 n(n0)个属性相同数据元素 a1,a2an组成的一个有限序列,线性表或是空表,或可以表示为 A=(a1,a2,ai,an)其中 ai(i=1,2,n)是线性表中的一个元素。如何在顺序存储结构表示的
9、线性表中实现插入元素操作?int insertElement(List_Array*list_ptr,char*element)/把新字符串插入到线性表的最后位置 if(list_ptr-count=LISTMAX)return(-1);/到达最大大小 else strcpy(list_ptr-listlist_ptr-count,element);list_ptr-count+;/下一个元素 return(1);/成功返回 如何在顺序存储结构表示的线性表中实现元素删除操作?int deleteElement(List_Array*list_ptr,int pos)int k;/检查下标 po
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习 提纲
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内