- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构部分常考知识点.doc
对于一元多项式相乘的算法,可以利用两个一元多项式相加的算法来实现,因为乘法运算可以分解为一系列的加法运算。
栈与队列
栈与队列也属于线性表,特殊性在于栈和队列的基本操作是线性表操作的子集。
栈与队列是操作受限的线性表。
栈与队列可称为限定性数据结构。
栈与队列在面向对象的程序设计中是多型数据结构。
栈(stack)
定义:限定仅在表位进行插入或删除操作的线性表。
表尾:称为栈顶(top)
表头:称为栈底(bottom)
不含任何元素的空表称为空栈。
栈S=(a1, a2,…, an), a1为栈底元素,an为栈顶元素。
栈的修改是按照后进先出(先进后出)原则进行的。
栈称为后进先出的线性表(简称为LIFO)
栈的基本操作:栈顶的插入或删除、栈的初始化、判空、取栈顶元素等
抽象数据类型:数据对象,数据关系,数据操作
InitStack(S):构造一个空栈S
DestoryStack(S):初始条件:栈S已经存在;操作结果:栈S被摧毁
ClearStack(S):初始条件:栈S存在;操作结果:栈S清为空栈
StackEmpty(S):初始条件:栈S存在;操作结果:若栈S为空栈返回TRUE,否则返回FALSE。
StackLength(S):初始条件:栈S存在;操作结果:返回S中元素的个数,即栈的长度。
GetTop(S,e):初始条件:栈S存在且非空;操作结果:用e返回S的栈顶元素。
Push(S,e):初始条件:栈S存在;操作结果:插入元素e为新的栈顶元素。
Pop(S,e):初始条件:栈S存在且非空;操作结果:删除栈顶元素且用e返回其值。
StackTraverse(S,visit()):初始条件:栈S已存在且非空;操作结果:从栈底到栈顶依次对S的每一元素调用visit()函数。一旦visit()失败则操作失败。
插入元素的操作:入栈
删除栈顶元素的操作:出栈
栈的存储表示方法:顺序存储结构和栈的链式表示。
顺序栈:地址连续的存储单元依次存放从栈底到栈顶的数据元素,top指针指示栈顶元素在顺序栈中的位置。
top=0:空栈
一般初始化空栈时不应限定栈的最大容量。具体做法:先为栈分配一个基本容量,不够再逐段扩展。
STACK_INIT_SIZE(存储空间初始化分配量)
STACKINCREEMENT(存储空间分配增量)
顺序栈的定义:
typedef struct {
SElemType *base;
SElemType *top;
Int stacksize;
}SqStack;
Stacksize:当前可使用的最大容量。
base:栈底指针,base=NULL时栈结构不存在。
top:栈顶指针,top=base表示栈空
非空栈的栈顶指针始终指向栈顶元素的下一个位置上。
栈的应用举例:
(1)、数值的转换
(2)、括号匹配的检验
(3)、行编辑程序
(4)、迷宫求解
(5)、表达式求解
(2)、括号匹配的检验:用“期待的急迫程度”这个概念来描述
(3)、行编辑程序:设立一个输入缓冲区
(4)、迷宫求解——穷举求解——后进先出
(5)、表达式求值:
iostream:输入输出流。
程序编译时先对所有的预处理命令进行处理,将头文件中具体内容代替#include命令行。
命名空间namespace。using namespace std表示要用的明明空间std中的内容
单行注释用//
cin是C++系统定义的输入流对象。是“提取运算符”。
类中包含两种成员:数据成员和成员函数。
类: 将一组数据和有权调用这些数据的函数封装在一起,组成一个数据类型。
成员函数是对数据成员的操作。
类具有封装性和信息隐藏。private(私有的)、public(公有的)
public:既可以被本类中成员函数调用、也可以也可被类外的语句调用。
private:私有的成员(函数或数据)只能被本类中成员函数调用。
具有“类”类型的变量称为“对象”。对象占有实际存储空间,类型并不占用存储空间。
“.”成员运算符。连接成员与对象。
C++程序的编写和实现:
用C++语言编写程序
对源程序进行编译
将目标文件进行连接
运行程序
数据类型:基本数据类型、非基本数据类型、指针类型。
基本数据类型:整型、实型、字符型、布尔类型。
非基本类型:枚举类型、结构体类型、共享体类型、类类型、数组类型、typedef定义的类型。
整型:短整型、整型、长整型
实型(浮点类型):单精度、双精度、长双精度
指针和结构体可以构成表、树、栈等复杂的数据类型。
常量:数值型常量、字符型常量。
浮点数的表示方法:
十进制小数形式、指数形式:数符 数字部分 指数部分
转义字符:
‘\0’空字符、\ddd:1~3位八进制数所代表的字符、\xhh:1~2位十六进制所代表的字符。
字符串常量:以
您可能关注的文档
最近下载
- GB50164-2021混凝土质量控制标准.docx VIP
- GB50164-2011 混凝土质量控制标准.pdf VIP
- DLT5210.1-2021 电力建设施工质量验收规程第1部分:土建工程.docx VIP
- DLT-5210.1-2024电力建设施工质量第1部分土建工程配套表格.doc VIP
- 呼吸衰竭最新治疗指南解读PPT课件.pptx VIP
- 腹腔引流管脱管应急预案.pptx VIP
- 呼吸衰竭最新治疗指南解读PPT课件.pptx VIP
- 辟谷养身:12.空腹力革命.pdf VIP
- 施工组织设计主要经济指标.pptx VIP
- 2023年ISO15189 医学实验室管理体系全套表格.docx VIP
文档评论(0)