Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Threaded binarytree&heapsort


Published on

Published in: Technology, Business

Threaded binarytree&heapsort

  1. 1. Threaded Binary Tree
  2. 2. DefinitionA binary search tree in which each node uses an otherwise-empty left child link to refer to the nodes in-order predecessor and an empty right child link to refer to its in-order successor.
  3. 3. Threaded Binary Trees• Two many null pointers in current representation of binary trees n: number of nodes number of non-null links: n-1 total links: 2n null links: 2n-(n-1)=n+1• Replace these null pointers with some useful “threads”.
  4. 4. Threaded Binary Trees (Continued)If ptr->left_child is null, replace it with a pointer to the node that would be visited before ptr in an inorder traversalIf ptr->right_child is null, replace it with a pointer to the node that would be visited after ptr in an inorder traversal
  5. 5. A Threaded Binary Tree root A dangling B Cdangling D E F G inorder traversal: H I H, D, I, B, E, A, F, C, G
  6. 6. Data Structures for Threaded BTleft_thread left_child data right_child right_thread TRUE FALSE TRUE: thread FALSE: childtypedef struct threaded_tree *threaded_pointer;typedef struct threaded_tree { short int left_thread; threaded_pointer left_child; char data; threaded_pointer right_child; short int right_thread; };
  7. 7. • Dangling can be solved as follows – Introduce a header node. – The left and right pointer of the header node are treated as normal links and are initialized to point to header node itself
  8. 8. Memory Representation of A Threaded BT root -- f f f A f f B f f C f f D f t E t t F t t Gt H t t I t
  9. 9. • Right-threaded tree:• A variant of a threaded tree in which only the right thread, i.e. link to the successor, of each node is maintained.
  10. 10. Advantages of Threaded Tree• It reduces the time complexity of algorithm.• Operation like traversal, insertion, deletion can be done without using recursive algorithm.• It becomes very easy to find out inorder successor of any node ‘n’ in a threaded binary tree. If the right thread of n is true or 1 then the node pointed by its right pointer is the desired information successor. If the right thread of ‘n’ is false or 0 then the inorder successor must be on the right subtree of ‘n’.
  11. 11. Application of Tree• Expression Tree• Game Tree
  12. 12. Infix, prefix, and postfix notation• representation of math expressions as a binary tree – operators have their left and right operands as subtrees – literal values are stored as leaves• notations – prefix: Polish notation – infix: standard notation – postfix: reverse Polish notation
  13. 13. Expression example
  14. 14. Expression tree example
  15. 15. Game Tree• Tree generated for games such as tic-tac- toe• Consider all the possible position for the given position. And find the best solution to win.
  16. 16. Heap Sort• It is based on tree structure.• Heap sort is in two phase – The entries are arranged in the list satisfying the requirement of a heap – We repeatedly remove the top of the heap and promote another entry to take its place.
  17. 17. Construction of heap• First construct a complete binary tree• There are two types of heap- min heap or ascending heap or max heap or descending heap
  18. 18. • Consider the elements present at a level one less than the maximum level. They are converted to heap in the same way as replacing the node of a heap.• In next step the elements that are present at a level two less than the maximum level of the tree are considered• Likewise in each step one level is decremented and all the subtrees at that level are converted to heaps• Eg 13, 4, 11, 15, 59, 27, 19, 3, 92, 5
  19. 19. Phase two• Remove the root of tree and place it to last and re-create the heap in descending order and repeat the process.• Solution on board.