数据结构
|
基本数据结构 |
基本定义解释 |
|
数据结构 |
数据结构分为线性结构和非线性结构,其中线性表是典型的线性结构。 |
|
存储结构 |
对计算机数据存储的结构描述,一般分为线性结构和非线性结构。 |
|
存取结构 |
在一个数据结构上对查找操作的时间性能的一种描述,一般有随机存储结构和顺序存储结构。 |
|
随机存储结构 |
一个数据结构上进行查找的性能为O(1),即查找任意元素的时间复杂度为1。(如顺序表等) |
|
顺序存储结构 |
一个数据结构上进行查找的时间性能为O(n)。(如单链表等) |
|
链表 |
链表是一个动态结构,不需要提前分配内存。 |
|
线性表 |
线性表是一个静态的结构,需要提前分配对应的存储空间,分配之后就不能修改,从逻辑上定义元素是一对一关系。 |
|
顺序表 |
顺序表是使用数组的方式对线性表的实现,在内存中是连续的空间,一旦分配,无法更改。 |
|
链表 |
链表是使用指针的方式实现线性表,在内存中可以连续也可以不连续。 |
|
链表节点构成 |
指针域(用于存放指针L->next在左边时为指针域)、数据域(用于存放数据的)。 |
|
链表指针 |
对应数据的指针地址( L->next在右边时为指针)。 |
|
链表指针域 |
存放对应指针的区域。 |
|
线性表和链表的选择 |
首相考虑数据的存储密度线性线性表为1,链表小于1,顺序表的访问速度快,链表的存储删除速度快。 |
|
线性表和链表的重点知识 |
初始化、查找、插入、删除、遍历、逆置、合并、分解等操作。 |
|
双链表删除p指针操作顺序 |
p->next->prev=p->prev;p->prev->next=p->next;free(p); |
|
在非空 双链表q后插入节点p |
rlink(p)<-rlink(q);rlink(q)<-p;llink(p)<-q;llink(rlink(p))<-p;其中rlink(p):p的后继;llink(p):p的前驱。 |
|
栈 |
线性表的一种,但是其运算受限。只能在栈顶插入或者删除元素。并且有着先进后出的特点。 |
|
队列 |
线性表的一种,但其运算受限,只能在队头删除元素,队尾插入元素。并且有着先进先出的特点。 |
|
树 |
数据结构的一种,非线性结构。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或称为树根。 |
|
二叉树 |
树的一种特殊结构,每个节点最多只包含两个儿子节点。 |
来源:CSDN
作者:harry_c
链接:https://blog.csdn.net/harry_c/article/details/100005994