-
可以用抽象数据类型定义一个完整的数据结构
抽象数据类型(ADT)描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据关系,基本操作集)这样的三元组来表示,从而构成一个完整的数据结构的定义。
-
数据的逻辑结构是从面向实际问题的角度出发的,只采用抽象表达方式,独立于存储结构,数据的存储方式有多种不同的选择;而数据的存储结构是逻辑结构在计算机上的映射,它不能独立于逻辑结构而存在。
-
在存储数据时,通常不仅要存储各数据元素的值,而且要存储数据元素之间的关系。
-
链式存储设计时,各个不同结点的存储空间可以不连续,但结点内的存储单元地址必须连续。
-
算法是对特定问题求解步骤的一种描述,它是指令的有限序列。
-
算法原地工作是指算法所需的辅助空间为常量,即O(1);时间复杂度总是考虑最坏情况下的时间复杂度,以保证算法的运行时间不会比它更长,即最坏情况下估计算法执行时间的一个上界;同一个算法,实现语言的级别越高,执行效率越低。
-
链式存储结构比顺序存储结构能更方便地表示各种逻辑结构
链式存储用指针表示逻辑结构,而指针的设置是任意的,故可以很方便地表示各种逻辑结构;顺序存储只能用物理上的邻接关系来表示逻辑结构。
-
散列存储通过散列函数映射到物理空间,不能反映数据之间的逻辑关系。
-
静态链表需要分配较大的(连续)空间,插入和删除不需要移动元素。
-
若用单链表来表示队列,则应该选用带尾指针的循环链表
队列需要在表头删除元素,表尾插入元素,采用带尾指针的循环链表较为方便,插入和删除的时间复杂度都为O(1)。
-
删除第一个元素;删除最后一个元素;在第一个元素之前插入新元素;在最后一个元素之后插入新元素,则最好使用只有头结点指针没有尾结点指针的循环双链表。
-
对于双向循环链表,不管是表头指针还是表尾指针,都可以很方便地找到表头结点,方便在表头做插入和删除操作。
-
单循环链表通过尾指针可以很方便地找到表头结点。但通过头指针找到尾结点则需要遍历一次链表。
-
删除单链表的最后一个结点需置其前驱结点的指针域为NULL。
-
静态链表中指针表示的是下一个元素在数组中的位置。
-
集合:结构中的数据元素之间除“同属一个集合”外,别无其他关系(无前后驱关系)。
-
n个不同元素进栈,出栈元素不同排列的个数为
数据结构_考研
最新推荐文章于 2023-09-05 15:00:00 发布