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

What is referred as memory mapped i/o, What is referred as memory mapped I/...

What is referred as memory mapped I/O. The case in computers that employ only set of read and write signals and do not differentiate between memory and I/O address. This is kno

Explain the properties of hypercube, Q. Explain the properties of Hypercube...

Q. Explain the properties of Hypercube? Properties of Hypercube: Hypercube is both edge and node symmetric. The labels of any two neighbouring nodes vary in exactl

What are the different kinds of lock modes, What are the different kinds of...

What are the different kinds of lock modes? There are three types of lock modes:- Shared lock Exclusive lock. Extended exclusive list.

Why pointer variable to a function as an argument, Why pointer variable som...

Why pointer variable sometimes desirable to pass a pointer to a function as an argument? Frequently, a called function needs to make changes to objects declared in the calling

What is system programming, what is system programming? System programm...

what is system programming? System programming is the activity of implementing and designing SPs. System programs that are the standard component of the s/w of most computer

Web technology, Write short notes on Event Model.

Write short notes on Event Model.

Determine the address when network address prefixed by 1000, A network addr...

A network address prefixed by 1000 is? A network address prefixed through 1000 is Class B address.

What are sewing kits, What are Sewing Kits? Sewing Kits are modules whi...

What are Sewing Kits? Sewing Kits are modules which contain a not used mix of gates, any other cells or flip-flops considered potentially helpful for an unforeseen metal fix. W

Difference between data warehousing and data mining, What is the difference...

What is the difference between data warehousing and data mining? The dissimilarity between data warehousing and data mining: Data warehousing seems to the data storage wh

What is the draw back of micro programmed control, What is the draw back of...

What is the draw back of micro programmed control? It leads to a slower operating speed because of the time it takes to fetch microinstructions from the control store.

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