【数据结构】基础知识点整理(4)

1.顺序表提供随机读取功能,不需要经过指针的频繁跳转,存储效率很高。

2.线性表的顺序存储结构是一种随机存取的存储结构,链式存储结构是一种顺序存取的存储结构,顺序存储指内存地址是一块的,随机存取是指访问时可以按下标随机访问。

3.在栈中,栈顶指针的动态变化决定栈中元素的个数;在链式存储结构中,无论是循环链表还是线性链表,插入和删除元素时,只需要改变相应位置的结点指针即可,头指针和尾指针无法决定链表的长度。

4.单链表的存储密度小于1.

5.折半查找的两个前提条件是:1.有序;2.可随机访问元素。

6.由于计算机资源的限制,长度无穷大的广义表不能在计算机中实现。但是如果要考虑一个E=(a,E),这是一个递归的表,它的长度是2,E相当于一个无限的列表E=(a,(a,(a,....))),这个广义表是可以在计算机中实现的。

7.在n个节点的二叉链表中,有(n+)个空指针域。因为一共有2n个链域,除根节点外,每个节点有且仅有一个双亲,所以只会有n-1个节点的链域存放指针,指向非空子节点。2n-(n-1)=n+1.

8.广义表第一个元素是表头,其余元素是表尾,如果只有一个元素,那么表尾为空即可().

9.顺序表物理相邻,逻辑相邻,链表逻辑相邻,物理不一定相连。

10.线性表采用链表存储时,不要求结点所占空间连续,但是一个结点内部空间必须连续。

 11.原理:线性表采用链表存储时,不要求结点所占空间连续,但是一个结点内部空间必须连续。 有人说结点内部是指针的话就不连续,这是不对的,结点内部如果是指针, 结点分配空间的时候,分配的是指针类型,指针所指的空间不是结点内部的空间。如果指针所指空间也算结点内部空间的话,那指针数组也不连续了,岂不是推翻了数组内部空间是连续的结论了。

12.  无论是带头结点的链表,还是不带头结点的链表,头指针head都指向链表中的第一个结点。如果该链表有头结点,则头指针head指向头结点,如果没有头结点,则头指针head指向链表的第一个节 点。

 ①带头结点的单链表中头指针head指向头结点,头结点的值域不含任何信息,从头结点的后继结点开始存储信息。头指针head始终不等于NULL,head->next等于NULL的时候链表为空。

  ②不带头结点的单链表中的头指针head直接指向开始结点,当head等于NULL的时候链表为空。头结点的存在,使得空链表与非空链表的处理变得一样,也方便了对链表的开始结点插入或删除操作。

   
 

猜你喜欢

转载自blog.csdn.net/qq_42270373/article/details/83757632