(1)内核链表的数据取出是根据指针域的首地址计算出数据域的首地址,再根据数据域的地址取值的。即数据域地址 = 指针域地址 - 数据域到指针域的偏移量;
(2)内核链表是去除节点中的具体数据,只保留逻辑的双向指针,形成一条只包含逻辑的链表;
(3)只有逻辑,不包括数据,对任意类型的数据进行操作时,只需要之前的逻辑上在写一个函数,使用更便利;
(4)小结构体定义为变量而不是指针:变量有空间,指针没有空间。
2.2 单/双循环链表
(1)链表中包括指针和数据的逻辑链表;
(2)在链表中进行不同类型的数据条件遍历时需要重构函数,并且操作不便利。
3、栈和队列的区别?
(1)栈先进先后;
(2)队列先进先出。
4、红黑二叉树【平衡二叉树】,平衡树是什么?
(1)红黑树:是一种自平衡的二叉查找树。是一种特殊的二叉查找树。红黑树的每一个节点上都有存储位表示节点的颜色。每一个节点可以是红色或者黑色。
红黑树不是高度平衡的,它的平衡是通过红黑规则进行实现的。
(2)平衡树:每个结点都有两个子节点。
(3)平衡二叉树:任意节点的子树的高度差都小于等于 1。