1.数组
数组缺点:
1)若申请内存空间很大,比如100M,但若内存空间没有100M的连续空间时,则会申请失败,尽管内存可用空间超过100M。
2)大小固定,若存储空间不足,需进行扩容,一旦扩容就要进行数据复制,而这时非常费时的。(新建一个数组然后进行复制)
2.链表
链表缺点:
1)内存空间消耗更大,因为需要额外的空间存储指针信息。
2)对链表进行频繁的插入和删除操作,会导致频繁的内存申请和释放,容易造成内存碎片,如果是Java语言,还可能会造成频繁的GC(自动垃圾回收器)操
3.树
树的特点:具有层级结构,结点数>=0且互不相交,有且只有一个根结点
结点的度:结点用有的字数的个数
树的度:结点度的最大值
二叉树:结点的度不大于2
二叉树每i层结点的个数:2的(i次方-1)
二叉树结点总个数:2的i次方-1
二叉树结点总个数最小为:i