链表的结点由数据域和指针域构成,指针域指向下一个结点的地址。
malloc函数和new运算符为链表结点分配内存空间,free函数和delete运算符用于释放空间,malloc函数和free函数对应,new运算符和delete运算符对应。
树的存储结构
方法1:利用数组的父亲表示法容易找到树根,不容易找到孩子
方法2:利用树形单链表结构的孩子表示法指针只能从父亲指向孩子
方法3:利用树形双链表结构的父亲孩子表示法,指针有两个,一个指向父亲,一个指向孩子
方法4:二叉树形表示法(孩子兄弟表示法)每个结点两个指针域,一个指向孩子,一个指向兄弟
堆:一颗完全二叉树每一层从左到右的顺序列出来的元素构成的数组
插入一个元素(put)在堆尾比较和父节点大小,大就交换位置再结束
删除一个元素(get)在根部,最后一个结点到根部位置,把子结点中最小的互换,直到无法继续互换。