1、查找第N个元素时,数组比较快,链表比较慢。
-
查找第N个元素时,利用数组中的下标可以直接查,但在链表结构中查找时需要从第 1 个元素开始顺序遍历而花费不少时间。
2、插入和删除数据时链表比较快,数组比较慢。
-
在顺序排列的数据列中的特定位置插入新的数据时,数组要把插入位置后面的所有元素都向后移动。(删除也一样)
-
对于链表,断开插入数据位置的前后的链,将新的数据连接到链表中就可以了。(删除也一样)
插入数据时,通常只要把链断开,再将链重新连接,一次处理就能执行插入操作,时间消耗很少。
-
执行数据的插入、删除操作时,利用链表的指针效率很高,但发生数据移动时花费的时间较多。
3、环形缓冲是数组的头尾相连的数据结构,尾元素的下一个元素即为头元素。
4、二叉树
-
根据一个父结点和两个子结点的关系管理数据的结构称为二叉树。
-
没有父结点的结点称为“根结点”,没有子结点的结点称为“叶结点”。
5、堆:父结点的值不得比子结点的值大的二叉树。(或父结点的值不得比子结点的值小的二叉树)
-
堆在求最大最小值的时候效率比较高,直接可以从根结点得到。