New execution of listpermutations, Computer Engineering

Assignment Help:

Update the permutation algorithm from the text to obtainthe correct list of permutations even if the string haves repeated letters. For example, if you call ListPermutations on the string "AABB", your program should not generate as many permutations as it does for the string "ABCD" because some of the strings generated by the standard algorithm would be indistinguishable from others. Your program should instead obtain the following six:

AABB

ABAB

ABBA

BAAB

BABA

BBAA

Write a new execution of ListPermutations that works correctly even if the string contains duplicated letters. In writing this execution, you should not merely keep a list of permutations that have already be encountered and avoid generating duplicates. Instead, you should think carefully about the recursive structure of the problem and find a way to avoid generating the duplicates in the first place. You may suppose the string haves only upper case letters from A to Z.

 


Related Discussions:- New execution of listpermutations

Placement algorithm - process allocation, Placement algorithm - computer ar...

Placement algorithm - computer architecture: Different strategies can be taken as to how space is allocated to processes: First fit : Allocate the first hole that is la

Why dynamic RAMs require refreshing, Explain briefly, why dynamic RAMs requ...

Explain briefly, why dynamic RAMs require refreshing? Ans: Due to the charge's natural tendency to distribute itself in a lower energy-state configuration that is, the charg

Dynamic programing, a ship is loaded with a stock of 3 items each unit of i...

a ship is loaded with a stock of 3 items each unit of item n has a wt wn and vn the max cargo wt the ship can take is the details of 3items are item(n):1 2 3 wt(wn):2 3 1 value(vn)

Translator for low level programming language, Translator for low level pro...

Translator for low level programming language were called as    Assembler

Advantages and disadvantages of e-commerce, E-commerce is one of the most s...

E-commerce is one of the most significant aspects of the internet. Having emerged recently and growing at a steady state, it becomes essential to look at the advantages and disadva

What is machine.config, What is Machine.config?  Machine configuration ...

What is Machine.config?  Machine configuration file: The machine. config file contains settings that apply to the whole computer.  The machine.config, which can be found in the

Decision Tree - ID3 algorithm:, . weather (windy, rainy or sunny) 2. how...

. weather (windy, rainy or sunny) 2. how much money you have (rich or poor) 3. whether your parents are visiting (yes or no)

Define the programmable logic devices (pld), Define the Programmable logic ...

Define the Programmable logic devices (PLD)? In the world of digital electronic systems there are three essential kinds of devices 1.memory, 2.microprocessors, and 3.logic. The

Change to palindrome, given a string S convert it to palindrome by doing ch...

given a string S convert it to palindrome by doing character replacement.convert S to palindrome with minimum character replacements

What are two reasons for using layered protocol, What are two reasons for u...

What are two reasons for using layered protocol? Layered protocol implies protocols used into each layer are the layer's own business that is they don't influence protocol of a

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd