Algorithm to Convert BST to DDL (Recursive Traversal of BST)
public static int nodes = 0;
public static DDListNode listHead;
public DDListNode TreeToList(OrderNode root) {
if (root != null) {
TreeToList(root->left);
if (nodes==0) listHead = null;
listHead = sortedInsert(listHead, root->data,root->deliveryPriority,root->datePlaced);
TreeToList(root->right);
}
return listHead;
}
public DDListNode sortedInsert(DDListNode listHead, int data,int p,int d){
DDListNode listnode = new DDListNode(data,p,d);
if (listHead==null){ (no nodes in LL)
nodes++;
return listnode;
}
else{
if (listHead->next==null){ ( only one node in LL )
if (listnode->deliveryPriority > listHead->deliveryPriority){
listHead->next = listnode;
listnode->prev = listHead;
return listHead;
}
else if (listnode->deliveryPriority < listHead->deliveryPriority){
listHead->prev = listnode;
listHead->next = null;
listnode->next = listHead;
return listnode;
}
else { ( equal priorities)
i…
Free Data Structures & Algorithm Essay Sample, Download Now
Order Original Essay on the Similar Topic
Get an original paper on the same topicfrom $10 per-page
Leave a Reply