1 / 10

Recursive Algorithms: Reading Numbers, Tree Properties, and Anagram Generation

This document presents a series of recursive programming challenges focusing on key data structures such as trees and binary search trees (BST). Tasks include reading a sequence of numbers until EOF and printing them in reverse order, determining if every node in a tree has a right child not exceeding the height of the left child, performing deletion and insertion operations in a BST, finding the largest element in a binary tree, and generating all possible letter rearrangements of a given word. Each problem emphasizes recursion without the use of arrays.

ginny
Download Presentation

Recursive Algorithms: Reading Numbers, Tree Properties, and Anagram Generation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recursion practice

  2. Problem 0 • Using recursion (and no arrays), write the code to read in a series of numbers (until EOF) and then print them backwards.

  3. Problem 1 • Write is leftist which determines if every node in a tree has a right child which is never of greater height that the left child. a a a c b c b e d e d Leftist Leftist

  4. Problem 2 • Write the code to perform BST deletion

  5. Problem 3 • Write the code to insert a node into a binary search tree that has parent pointers.

  6. Problem 4 • Find the largest element value in a binary tree (which is not a BST)

  7. Problem 5 • Write the pseudo code to list all possible rearrangements of the letters of a provided word. void printAnagrams(string prefix, string word)

  8. Reading recursion intdoit(int x) { if (x == 0) return 0; else { cout << x; return doit(x - 1); }

  9. int doit2(int x, int y) { if y==0 return 1; return (x * doit2(x, y – 1)); }

  10. void doit3(tree_node *p) { if (p != NULL) { doit3(p->left); doit3(p->right); cout << p->data << endl; } }

More Related