Question

In: Computer Science

. Consider the following list of names: PEVAC, MARKOV, ZLATAREVA, ABDOLLAHZADEH, CHEN, WILLIAMS, ALBAYRAM, KURKOVSKY, ZABIHIMAVAN....

. Consider the following list of names: PEVAC, MARKOV, ZLATAREVA, ABDOLLAHZADEH, CHEN, WILLIAMS, ALBAYRAM, KURKOVSKY, ZABIHIMAVAN. Use Radix sort to sort them in alphabetic order. How many passes would be made through the outer while loop? Trace the contents of the list after each of these passes.

In JAVA please!

Solutions

Expert Solution

Here, I’m using Python 2.0 Compiler for the purpose.

import re

Now we will check the size of the word with more length.

def check_max_word_size(words):

    m_length = 0

    for word in words:

        if len(word) > m_length:

          m_length=len(word)

    return m_length

#It Adds '.' characters to the words that have less length than the max, so we can compare the same indexes

def set_same_size(words, max_size):

    new_list=[]

    for word in words:

        new_arr = ['.' * (max_size - len(word))]

        new_list.append(word.lower()+''.join(new_arr))

    return new_list

#Recursive radix_sort (LSD), starting on the least significant, in this case, the last character of each word

def radix_sort(words, max_size, index):

    if(index == max_size+1):

        return words

    dic = []

    dict_letters = {}

    letters=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

    letter_index=0

    tmp_list = []

    #create dic with the value for each letter of the alphabet, in order to make comparision possible

    for x in range(26):

        dict_letters.update({letters[letter_index]:(x+1)})

        letter_index+=1

    dict_letters.update({'.':1000})

    #create a dict with key value corresponding to the word and its value

    for word in words:

        if(dict_letters[word[max_size-index].lower()] < 1000 ):

            dic.append([word.lower(), dict_letters[word[max_size-index].lower()] ])

    #create and sort a list of words for the current index

    for x, y in dic:

        tmp_list.append([x,y])

    tmp_list.sort(key=lambda x: x[1])

    #create a return list that is populated with the list above

    return_list=[]

    for item in tmp_list:

        return_list.append(item[0])

    #add the remaining elements that are ordered from previous recursions

    for item in words:

        if item not in return_list:

            return_list.append(item.lower())

    #recursive call for the next index

    return radix_sort(return_list, max_size, index+1)

   

def main():

    words = ["Apple","Australia","Algorithm","sell","Olympic","jack","sleep"]

    max_size = check_max_word_size(words)

    new_list = set_same_size(words, max_size)

    new_list = radix_sort(new_list, max_size-1, 0)

    #Remove the dots previously added to the words

    index = 0

    for word in new_list:

        new_list[index]= re.sub('[.]', '', word)

        index+=1

    #Print the final ordered list, all lower case

    print(new_list)

if __name__ == '__main__':

Thus, the output is, ABDOLLAHZADEH, ALBAYRAM, CHEN, KURKOVSKY, MARKOV, PEVAC, WILLIAMS, ZABIHIMAVAN, ZLATAREVA..


Related Solutions

Consider the following list of names: PEVAC, MARKOV, ZLATAREVA, ABDOLLAHZADEH, CHEN, WILLIAMS, ALBAYRAM, KURKOVSKY, ZABIHIMAVAN. Use...
Consider the following list of names: PEVAC, MARKOV, ZLATAREVA, ABDOLLAHZADEH, CHEN, WILLIAMS, ALBAYRAM, KURKOVSKY, ZABIHIMAVAN. Use Radix sort to sort them in alphabetic order. How many passes would be made through the outer while loop? Trace the contents of the list after each of these passes
The following is a list of the first names of 24 fictional students in a statistics...
The following is a list of the first names of 24 fictional students in a statistics class at Cleveland State University. The students are identified by numbering them 01 through 24. A sample of six students is to be selected by using systematic sampling. The first student to be selected is the one with ID 03. Choose the six students that will be included in the sample. ID Student ID Student 01 Ali 13 Sakiya 02 Pedro 14 Mary 03...
Creating a list/tuple 3.Given a list of tuples containing student first names and last names e.g....
Creating a list/tuple 3.Given a list of tuples containing student first names and last names e.g. (“John”, “Doe”) that represents a class. Ask the user for a students first and last name and check if that student is a member of the class.
Create an array list (names) that will hold the names of several hall of fame soccer...
Create an array list (names) that will hold the names of several hall of fame soccer players. 2. Place your name on the screen as the master recorder:              “Master Hall of Fame Recorder: John Paul Jones” 3. Ask the user how many names they would like to record. (input 5 when the program runs) 4. Create a loop that will ask for the “Hall of fame member #1: “, etc Add in the following names: Pele Rooney Maradona Messi...
Consider the following Markov chain with P{X0 = 2} = 0.6 and P{X0 = 4} =...
Consider the following Markov chain with P{X0 = 2} = 0.6 and P{X0 = 4} = 0.4: 1 2 3 4 5 6 1 0 0 0 0 1 0 2 .2 .05 0 .6 0 .15 3 0 0 .8 0 0 .2 4 0 .6 0 .2 0 .2 5 1 0 0 0 0 0 6 0 0 .7 0 0 .3 a. What is P{X1 = 4, X2 = 6 | X0 = 2}? b. What...
Write SQL queries below for each of the following: List the names and cities of all...
Write SQL queries below for each of the following: List the names and cities of all customers List the different states the vendors come from (unique values only, no duplicates) Find the number of customers in California List product names and category descriptions for all products supplied by vendor Proformance List names of all employees who have sold to customer Rachel Patterson
Dr. Williams decides to open a real estate company which he names, Comfort Realty, Inc. The...
Dr. Williams decides to open a real estate company which he names, Comfort Realty, Inc. The following transactions were made over the period: On September 1, 2018, Dr. Godwin invested $17,000 cash in the business On September 3, 2018, Comfort Realty purchases computer equipment for $8,000 cash. On September 4, 2018, Comfort realty purchases for $1,600 from ACME supply company computer paper and other supplies exacted to last several months. ACME agrees to allow Comfort Realty to pay this bill...
The italicized list below includes scientific names (binomial names) for 5 different organisms. To complete this...
The italicized list below includes scientific names (binomial names) for 5 different organisms. To complete this assignment prepare a document using the textbook (Chapter 1, Diversity of Life) and credible websites as sources (refer to Introductory assignments: Website Credibility for guidelines) that (1) explains the concept and importance of a scientific name- 5 pts., (2) briefly describes each of the following organisms, including the common name- 2 pts. each, (3) assigns each organism to the appropriate domain and kingdom- 1...
In supply chain management, list 2 other names for the seller? What are 2 other names...
In supply chain management, list 2 other names for the seller? What are 2 other names for the buyer?
# List at least three functions in the linked list toolbox, including function names and their...
# List at least three functions in the linked list toolbox, including function names and their functionality. # Assuming we have already implemented all functions in the linked list toolbox and we have a pointer head_ptr pointing to the front of a linked list. Write a few lines to insert the number 42 and make it the second item in the list. Note: if the list was originally empty, then it should be the first in the list.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT