Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 404
  • Last Modified:

BST

How do i construct BST based on the following:
12, 11, 8, 16, 5, 7, 13, 9, 2

I have been thinking about this for quite some time. Inorder traversal is not suitable as it returns a list of ascending numbers. I have also tried preorder and postorder traversal....but it doesn't seem to work. Pls help.

I just need a diagram to illustrate the BST.
0
dandeliondream
Asked:
dandeliondream
  • 5
  • 4
  • 2
  • +1
3 Solutions
 
Jaime OlivaresSoftware ArchitectCommented:
Have a look to this tutorial:
http://en.wikipedia.org/wiki/Binary_search_tree
0
 
dandeliondreamAuthor Commented:
i think it shld be a preorder since postorder and inorder starts with 2. right? i have seen the tutorial.. :( not very useful pls help
0
 
ozoCommented:
Depending on what you mean by "based" it could be
                   12  
           11             16
       8                13
   5      9
2   7
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
Jaime OlivaresSoftware ArchitectCommented:
I have not clear your question.
Traversal is done AFTER tree is created. Tree internal shape will depend how you have inserted the nodes into it.
In-order traversal will always give you an ordered result.
pre-order and post-order will give you "unordered" result but exact sequence will depend on internal shape.
0
 
dandeliondreamAuthor Commented:
12, 11, 8, 16, 5, 7, 13, 9, 2 is the sequence from left to right after a traversal is done. It may be preorder, postorder or inorder traversal. Based on the sequence, how can i construct a BST?
0
 
Infinity08Commented:
You want to store the values 12, 11, 8, 16, 5, 7, 13, 9, 2 in a BST in that exact order ? Why use a BST then ? Why not just an array or a vector ?

There's no point. A BST's strength is that it makes searching of an ORDERED series a lot faster. You'd have to add a second index value that acts as key into the BST, and store the value as data. Sounds a bit overkill to me. Just take an array or vector.
0
 
dandeliondreamAuthor Commented:
no that's not what i meant. I want a diagram like what mr. ozo has given me earlier. Construct a BST based on the list of numbers The numners are to be processed from left to right.
12, 11, 8, 16, 5, 7, 13, 9, 2

Not a program. Just a diagram.
0
 
Infinity08Commented:
Yes, but there's two orders :

1) the order you put the values into the BST
2) the order you get them out of the BST

Which are you referring to when you want to get this order : 12, 11, 8, 16, 5, 7, 13, 9, 2 ?
0
 
dandeliondreamAuthor Commented:
the second one...
0
 
Infinity08Commented:
>> the second one...

Then I repeat : there's no point in using a BST - just use a simple array or vector.
0
 
dandeliondreamAuthor Commented:
ok, thanks. what will the result be if it is the first one?
0
 
Infinity08Commented:
>> ok, thanks. what will the result be if it is the first one?

A BST that looks like what ozo showed. You can of course balance the tree out, but you will not be able to get the values out the same order you put them in there (unless by chance).
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 5
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now