2022年数据结构复习提纲收集 .pdf
《2022年数据结构复习提纲收集 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构复习提纲收集 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复习提纲第一章 数据结构概述基本概念与术语( P3)1 数据结构是一门研究非数值计算程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科. 2 数据 是用来描述现实世界的数字,字符,图像,声音,以及能够输入到计算机中并能被计算机识别的符号的集合2数据元素是数据的基本单位3数据对象相同性质的数据元素的集合4数据结构包括三方面内容 :数据的逻辑结构 .数据的存储结构 .数据的操作 . (1)数据的逻辑结构指数据元素之间固有的逻辑关系. (2)数据的存储结构指数据元素及其关系在计算机内的表示( 3 ) 数据的操作指在数据逻辑结构上定义的操作算法,如插入 ,删除等 . 5.时间复杂度分析- 1
2、、名词解释:数据结构、二元组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 DataType item
3、sMAXSIZE; 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; /销毁链表名师资料总结 - - -精品资料
4、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - void DestoryList(LinkList 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) L
5、inkList 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) 链栈的结构与定义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 2. 队列(1) 队列的定义- 1、一个栈的入栈序列为 “ABCDE ” ,则以下不
6、可能的出栈序列是()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、已知链栈 Q,编写函数判断栈空,如果栈空则进行入栈操作,否则出栈并输出。 (要
7、求判断栈空、出栈、入栈用函数实现)/判断栈空 (完成题目要求 ) 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) LinkStack t; InitStack(&t);
8、 t-data=x; t-next=Q-next; Q-next=t; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - /出栈void Pop(LinkStack Q,datatype &x) LinkStack t=Q-next; if(!t) coutnext=t-next; x=t-data; free(t); 基本概念数据结构的研究对象是什么?数据,数据元素 (数据结构中讨论的 基本单位 、数据整体中相对独立的单位、数
9、据元素的特点:相对性) ,数据结构 ,数据类型和抽象数据类型,数据对象数据结构是什么?定义:数据元素以及它们之间存在一种或多种特定的关系。特点 :数据元素集合相同, 而其上的关系不同, 则构成的数据结构不同。逻辑结构是什么?主要有哪几类?逻辑结构 :对数据元素之间存在的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合上的若干关系表示。存储结构是什么?存储结构:是数据逻辑结构在计算机中的表示和实现,故又称数据物理结构。什么是算法?定义:是对问题求解过程的一种描述,是为解决一个或一类问题给出的一个确定的、有限长的操作序列。五大特性: 有穷性、确定性、可行性、输入、输出线性表线性表的定义 ?
10、线性表是由 n(n0) 个属性相同数据元素a1,a2an组成的一个有限序列,线性表或是空表,或可以表示为A=(a1,a2,ai,an) 其中 ai(i=1,2,n)是线性表中的一个元素。如何在顺序存储结构表示的线性表中实现插入元素操作?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - int insertElement(List_Array *list_ptr, char *element) /把新字符串插入到线性表的最后位置i
11、f(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;/检查下标 pos位置上是否存在数据if (pos list_ptr-count-1)return (-1); / 出错else / 将 pos位置后所有元素向前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构复习提纲收集 2022 数据结构 复习 提纲 收集
限制150内