数据结构基础知识整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构基础知识整理

*名词解释1、数据:是信息的载体,能够被计算机识别、存储和加工处理。

*2、数据元素:是数据的基本单位,也称为元素、结点、顶点、记录。一个数据元素可

以由若干个数据项组成,数据项是具有独立含义的最小标识单位。

*3、数据结构:指的是数据及数据之间的相互关系,即数据的组织形式,它包括数据的

逻辑结构、数据的存储结构和数据的运算三个方面的内容。

*4、数据的逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数

据的存储无关,是独立于计算机的。

*5、数据的存储结构:指数据元素及其关系在计算机存储器内的表示。是数据的逻辑结

构用计算机语言的实现,是依赖于计算机语言的。

*6、线性结构:其逻辑特征为,若结构是非空集,则有且仅有一个开始结点和一个终端

结点,并且其余每个结点只有一个直接前趋和一个直接后继。

*7、非线性结构:其逻辑特征为一个结点可能有多个直接前趋和直接后继。

*8、算法:是任意一个良定义的计算过程,它以一个或多个值作为输入,并产生一个或

多个值作为输出;即一个算法是一系列将输入转换为输出的计算步骤。

*9、算法的时间复杂度T(n):是该算法的时间耗费,它是该算法所求解问题规模n趋向无穷大时,我们把时间复杂度T(n)的数量级(阶)称为算法的渐近时间复杂度。

*10、最坏和平均时间复杂度:由于算法中语句的频度不仅与问题规模n有关,还与输入实例等因素有关;这时可用最坏情况下时间复杂度作为算法的时间复杂度。而平均时间复杂度是指所有的输入实例均以等概率出现的情况下,算法的期望运行时间。

*11、数据的运算:指对数据施加的操作。数据的运算是定义在数据的逻辑结构上的,而

实现是要在存储结构上进行。

*12、线性表:由n(n≥0)个结点组成的有限序列。其逻辑特征反映了结点间一对一的关

系(一个结点对应一个直接后继,除终端结点外;或一个结点对应一个直接前趋,除开始结点外),这是一种线性结构。

*13、顺序表:顺序存储的线性表,它是一种随机存取结构。通过将相邻结点存放在相邻

物理位置上来反映结点间逻辑关系。

*14、单链表:每个结点有两个域:一个值域data;另一个指针域next,用来指向该结

点的直接后继结点。头指针是它的充分必要的信息。单链表是一种单向的结构。

*15、双链表:每个结点中增加了一个prior,用来指向该点的直接前趋结点。它是一种

双向、对称的结构。

*16、循环链表:是一种首尾相接的链表。单循环链表形成一个next链环,而双循环链

表形成next链环和prior链环。

*17、存储密度:是指结点数据本身所占的存储量和整个结点结构所占的存储量之比。顺

序表的存储密度为1,而链表的存储密度小于1。

*18、栈:只允许在一端进行插入、删除运算的线性表,称为“栈”(stack)。

*19、LIFO表:即后进先出表,修改操作按后进先出的原则进行。譬如栈就是一种LIFO 表。

*20、顺序栈:采用顺序存储结构的栈,称为顺序栈。

*21、链栈:采用链式存储结构的栈,称为链栈。

*22、队列:只允许在一端进行插入、另一端进行删除运算的线性表,称为“队列”(queue)。*23、FIFO表:即先进先出表。譬如队列就是一种FIFO表。

*24、顺序队列:采用顺序存储结构的队列,称为顺序队列。

*25、循环队列:为克服顺序队列中假上溢现象,将向量空间想象为一个首尾相接的圆环,

这种向量称为循环向量,存储在其中的队列称为循环队列。

*26、链队列:采用链式存储结构的队列,称为链队列。

*27、字符串:由零个或多个字符组成的有限序列,一般高为S=“a1,a2,…an”。

*28、空白串:由一个或多个空格组成的串称为空白串。

*29、空串:长度为零的串称为空串,它不包括任何字符。

*30、顺序串:串的顺序存储结构简称的为顺序串。

*31、链式串:串的链式存储结构简称为链式串。

*32、模式匹配:子串的定位运算又称为串的模式匹配。

*33、对称矩阵:元素满足aij=aji(0≤i,j≤n)的矩阵。

*34、三角矩阵:主对角线以上或以下的元素(不包括对角线)均为常数的矩阵。

*35、带状矩阵:所有非零元素均集中在以主对角线为中心的带状区域的矩阵。

*36、稀疏矩阵:非零元素远远少于矩阵元素的矩阵。

*37、广义表:有n个元素a1,a2…an组成的有限序列,其中n可以是原子或一个广义表。

*38、三元组表:若线性表顺序存储的每一个结点均是三元组,那么该线性表的存储结构

称为三元组表。

*39、行表:记录稀疏矩阵中每行非零元素在三元组表中的起始位置的表称为行表。

*40、内部排序:假设给定含有n个记录(R1,R2……,Rn)的文件,其相应的关键字为(K1,K2,……,Kn),则排序是确定一个排列(P(1),P(2),……P(n)),使得(Kp(1))≤Kp(2)≤……≤Kp(n)),从而得到有序文件(R

*p(1),R p(2),……,R p(n))。整个排序过程都在内存中进行的排序即为内部排序。

*41、稳定排序:假设在待排序的文件中,存在两个或两个以上的记录具有相同的关键字

在用某种排序法排序后,若这些相同关键字的元素的相对次序仍然保持不变,则这处排序方法是稳定的。

*42、就地排序:若排序算法所需的辅助空间并不依赖于问题的规模n,即辅助空间为O(1),则称为就地排序。

*43、堆:n个关键字序列K1,K2,……,Kn,称为堆,当且仅当序列满足如下性质:Ki ≤K2i,且Ki≤K2i+1或Ki≥K2i,且Ki≥K2i+1。

*44、查找:即给定一个值K,在含有n个结点的表中找出关键字等于给定值K的结点。

*45、动态查找表:若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为动态查找表。

*46、静态查找表:若在查找的同时不对表做修改操作(如插入和删除),则相应的表称之为静态查找表。

*47、内查找:若整个查找过程都在内存中进行,则称之为内查找。

*48、外查找:若查找过程中需要访问外存,则称之为内查找。

*49、平均查找长度:ASL=∑pici,其中n是结点的个数;pi是查找第i个结点的概率;ci是找到第i个结点所需要进行的比较次数。

相关文档
最新文档