EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 5, Problem 17E
Program Plan Intro
Recursive method:
- A recursive method is a method it calls itself repeatedly.
- In a recursive function, base case will stop recursion and return value instead of calling function.
Program to implement recursive functions to:
- a) Search a character in a string.
- b) Count number occurrence of characters.
- c) Remove all occurrence using:
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Write a function that outputs a string passed into the function in reverse. Use
recursion to achieve this.
For a given character recursively, without using strchr() or strrchr(),
Check if it is in a string.
Count all of its occurrences in a string.
Remove all of its occurrences from a string.
Write a recursive function to print all the permutations of a
string. For example, for the string abc, the printout is:abcacbbacbcacabcba(Hint: Define the following two functions. The second function is a helper function.def displayPermuation(s):def displayPermuationHelper(s1, s2):
The first function simply invokes displayPermuation(" ", s). The secondfunction uses a loop to move a character from s2 to s1 and recursively invokes t with a new s1 and s2. The base case is that s2 is empty and prints s1 to the console.)Write a test program that prompts the user to enter a string and displays all its permutations.
Chapter 5 Solutions
EBK DATA STRUCTURES AND ALGORITHMS IN C
Ch. 5 - Prob. 1ECh. 5 - Prob. 2ECh. 5 - Prob. 3ECh. 5 - Prob. 4ECh. 5 - Prob. 5ECh. 5 - Prob. 6ECh. 5 - Prob. 7ECh. 5 - Prob. 8ECh. 5 - Prob. 9ECh. 5 - Prob. 10E
Ch. 5 - Prob. 11ECh. 5 - Prob. 12ECh. 5 - Prob. 13ECh. 5 - Prob. 14ECh. 5 - Prob. 15ECh. 5 - Prob. 16ECh. 5 - Prob. 17ECh. 5 - Prob. 18ECh. 5 - Prob. 19ECh. 5 - Prob. 20ECh. 5 - Prob. 21ECh. 5 - Prob. 22ECh. 5 - Prob. 23ECh. 5 - Prob. 24ECh. 5 - Prob. 25ECh. 5 - Prob. 26ECh. 5 - Prob. 27ECh. 5 - Prob. 28ECh. 5 - Prob. 29ECh. 5 - Prob. 1PACh. 5 - Prob. 3PACh. 5 - Prob. 4PACh. 5 - Prob. 5PA
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Recursive Palindrome! Recall that a palindrome is a string that reads the same forward and backward. Write a recursive function is_palindrome (s:str) -> bool to check whether a string s is a palindrome. Here's a hint: think about how you can use is_palindrome(t), where t is a substring of s, to help you decide whether s is a palindrome. Your Answer: 1 # Put your answer here 2 Submitarrow_forwardThis problem considers strings that can be made from the alphabetA= {‘a’, ‘b’, ‘c’}.a. Write a recursive definition for the set of strings that have at least one 'a' character.b. Write a recursive definition for the set of strings that do not start with the letter 'a'.arrow_forwardwrite a function that uses recursion to figure out if a given string is a palindromearrow_forward
- Write a recursive function called Rev takes a string argument (str) and and integerargument(i – the initial string position). Rev prints the str in reverse. You may not useany built-in reverse function or method. You may use string’s length method.arrow_forwardWrite a recursive function called that takes a string of single names separated by spaces and prints out all possible combinations (permutations), each combination on a new line. When the input is: Alice Bob Charlie then the output is: Alice Bob Charlie Alice Charlie Bob Bob Alice Charlie Bob Charlie Alice Charlie Alice Bob Charlie Bob Alice Here is the original code in Python: def all_permutations(permList, nameList): # TODO: Implement method to create and output all permutations of the list of names. pass if __name__ == "__main__": nameList = input().split(' ') permList = [] all_permutations(permList, nameList)arrow_forwardin kotlin Write two versions of a recursive palindrome check function. One version should have a block body, and the other should have an expression body. Review the lecture slide about the substring function first. Use this algorithm: if the length of the string is less than 2, return true else if the first and last characters are not equal (!=) return false else return the result of a recursive call with the substring from the second character (the one at index 1) to the second to last character. Use a main that uses a loop to test the palindrome function using this list of strings: val ss = listOf("", "A", "AA", "AB", "AAA", "ABA", "ABB", "AAAA", "AABA", "ABBA", "ABCBA", "ABCAB")arrow_forward
- Write a recursive function called that takes a string of single names separated by spaces and prints out all possible combinations (permutations), each combination on a new line. When the input is: Alice Bob Charlie then the output is: Alice Bob Charlie Alice Charlie Bob Bob Alice Charlie Bob Charlie Alice Charlie Alice Bob Charlie Bob Alice Here is my original code that needs to be fixed: def all_permutations(permList, nameList): # TODO: Implement method to create and output all permutations of the list of names. if nameList == len(permList) - 1: return nameList else: for x in range(permList, len(nameList)): permList[nameList], permList[x] = permList[x], permList[name_List] return all_permutations(permList, nameList + 1) permList[nameList], permList[x] = permList[x], permList[name_List] if __name__ == "main": nameList = input().split(' ') permList = [] all_permutations(permList, nameList)arrow_forwardWrite the program using recursion to find all the subsets of given string. Assume that if the given input is ―abcd, the output will be: Abcd, abc, abd, ab, acd, ac, ad, a, bcd, bc, bd, b, cd, c, d. write in c++ programming language. solve in 40 minutes plzarrow_forwardThe Binary Search algorithm works by testing a mid-point, then eliminating half of the list. In this exercise, you are going to take our binary search algorithm and add print statements so that you can track how the search executes. Inside of the recursive binary search function, add print statements to print out the starting, ending, and midpoint values each time. Then as you test a value, print out the results, either too high, too low, or a match. Sample Output Starting value: 0 Ending value: 9 Testing midpoint value: 4 Too high! Starting value: 0 Ending value: 3 Testing midpoint value: 1 Too low! Starting value: 2 Ending value: 3 Testing midpoint value: 2 Match! public class BinaryExplorer { public static void main(String[] args) {int[] testArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; binaryRec(testArray, 8, 0, testArray.length - 1); } /*** Add Print statements to the binaryRec method:* * Print Starting, ending, and midpoint values.* * Print when you find a match* * Print if you are…arrow_forward
- The Binary Search algorithm works by testing a mid-point, then eliminating half of the list. In this exercise, you are going to take our binary search algorithm and add print statements so that you can track how the search executes. Inside of the recursive binary search function, add print statements to print out the starting, ending, and midpoint values each time. Then as you test a value, print out the results, either too high, too low, or a match. Sample Output Starting value: 0 Ending value: 9 Testing midpoint value: 4 Too high! Starting value: 0 Ending value: 3 Testing midpoint value: 1 Too low! Starting value: 2 Ending value: 3 Testing midpoint value: 2 Match!arrow_forwardA palindrome is a sentence that contains the same sequence of letters reading it either forwards or backwards. A classic example is '1\.ble was I, ereI saw Elba." Write a recursive function that detects whether a string is apalindrome. The basic idea is to check that the first and last letters of thestring are the same letter; if they are, then the entire string is a palindromeif everything between those letters is a palindrome.There are a couple of special cases to check for. If either the first orlast character of the string is not a letter, you can check to see if the restof the string is a palindrome with that character removed. Also, when youcompare letters, make sure that you do it in a case-insensitive way.Use your function in a program that prompts a user for a phrase andthen tells whether or not it is a palindrome. Here's another classic fortesting: '1\. man, a plan, a canal, Panama!"arrow_forwardWrite a recursive function that finds the number of occurrences of a specified letter in a string using the following function header. def count(s, a):For example, count("Welcome", 'e') returns 2. Write a test program thatprompts the user to enter a string and a character, and displays the number of occurrences for the character in the string.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License