Java教程

408数据结构辨析记录存档

本文主要是介绍408数据结构辨析记录存档,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

线性表

头指针和头结点
头指针:通常用来标识一个单链表,头指针为NULL时表示一个空表
单链表第一个结点之前附加一个结点,为头结点,指针域指向线性表的第一个元素结点。
区分:不管带不带头结点,头指针都始终指向链表的第一个结点,而头结点是带头结点的链表中的第一个结点,通常不存储信息。
如果有头结点,头指针就指向头结点。
L=(LinkList)malloc(sizeof(LNode)); L为头结点地址。
所以 带头结点的双循环链表L为空的条件是:
L->prior==L && L->next==L

疑惑1:给定有n个元素的一维数组,建立一个有序的单链表的最低时间复杂度是:O(nlogn)
当一维数组有序时,时间复杂度最低,为O(n)

静态链表用于需要较大储存空间的情况(个人觉得是需要预先分配的情况下)
题目:需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构为:静态链表
不是单链表的原因猜想:单链表动态分配内存,大概会分配堆栈空间,而静态链表可以定义在外部,存放在静态区,可以分配更大的空间


期待讨论

这篇关于408数据结构辨析记录存档的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!