analysis : This paper investigates the construction method of binary search tree , Simple recursive structure .

The algorithm design of tree must be associated with recursion , Because the tree itself is the definition of recursion .

And learning to change the name of recursion to non recursion is also a necessary technology .

after all , Recursion can cause stack overflow , On the system of the underlying program must not be used .

But for some mathematical problems , We must learn to use the return to solve .
#include <iostream> using namespace std; struct student { int value; struct
student* lchild; struct student* rchild; }; void arraytotree(int a[], int len,
struct student **p) { if (len) { *p = (struct student *)malloc(sizeof(struct
student)); (*p)->value = a[len/2]; arraytotree(a, len/2, &(*p)->lchild);
arraytotree(a+len/2+1, len-len/2-1, &(*p)->rchild); // Note here a+len/2+1 } else { *p
= NULL; return; } } void display_Tree(struct student **head) { if (*head !=
NULL) { display_Tree(&(*head)->lchild); printf("%d\t",(*head)->value);
display_Tree(&(*head)->rchild); } else return; } int main() { int a[] = {1, 2,
3, 4, 9, 13, 16, 18}; int len = sizeof(a)/sizeof(a[0]); student* root;
arraytotree(a, len, &root); display_Tree(&root); }

 

 

Technology
©2020 ioDraw All rights reserved
Vue Export page as PDF file vscode Used in Sass, And automatically compile to CSS file use python Program draw some simple cartoon characters Python Execution sequence of decorator ajax Method encapsulation Mining virus processing record Give Way Mac How to set the system not to sleep all the time C Language life game source code ValueError: Shape of passed values is (6, 3), indices imply (6, 6)C++——list Super detailed introduction