Linked list implementation IChild data rChild Node structure with two pointers CHild data parent rChild Node structure with three pointers parent datal data CHild rchild Binary linked list CHild rChild Trigeminal List
▪Linked list implementation lChild data rChild data lChild rChild Binary linked list Node structure with two pointers lChild data parent rChild parent data lChild rChild Trigeminal List Node structure with three pointers
Example root root root (A A人 B B B C0c区cbN EE人F E F Binary tree Binary linked list Trigeminal List
Example A A A B B B C D C D C D E F E F E F root root root Binary tree Binary linked list Trigeminal List
Static structure for the Trigeminal List root data parent leftchild rightChild 0A-11-1 1 B 02 B 2 C C 3 D 14 5 E 3 E( 5F3
Static structure for the Trigeminal List A B C D E F root data parent leftChild rightChild 0 1 2 3 4 5 A -1 1 -1 B 0 2 3 C 1 -1 -1 D 1 4 5 E 3 -1 -1 F 3 -1 -1
Definition of binary linked list typedef char TreeData;/结点数据类型 typedef struct node{/结点定义 TreeData data; struct node* leftChild,* rightchild; 3 Bintreenode typedef Bin TreeNode x Bintree 很根指针
typedef char TreeData; //结点数据类型 typedef struct node { //结点定义 TreeData data; struct node * leftChild, * rightchild; } BinTreeNode; typedef BinTreeNode * BinTree; //根指针 Definition of binary linked list
Basic algorithm Void destroy( BinTreeNode*current 删除根为 Current的子树 if( current!= NULL)( destroy( current-> left child ) destroy( current-> rightchild ) delete current
Void destroy ( BinTreeNode *current ) {//删除根为current的子树 if ( current != NULL ) { destroy ( current -> leftChild ); destroy ( current -> rightChild ); delete current; } } Basic algorithm