Answer:
Explanation:
The following code is written in Python. It creates a method for each one of the questions asked and then tests all three with the same test case which can be seen in the picture attached below.
def alternating_list(lst1, lst2):
    lst3 = []
    for x in range(len(lst1)):
        lst3.append(lst1[x])
        try:
            lst3.append(lst2[x])
        except:
            pass
    if len(lst2) > len(lst1):
        lst3.extend(lst2[len(lst1):])
    return lst3
def reverse_alternating(lst1, lst2):
    lst3 = []
    if len(lst1) == len(lst2):
        for x in range(len(lst1) - 1, -1, -1):
            lst3.append(lst1[x])
            lst3.append(lst2[x])
    return lst3
def alternating_list_no_extra(lst1, lst2):
    lst3 = []
    max = 0
    if len(lst1) > len(lst2):
        max = len(lst2)
    else:
        max = len(lst1)
    for x in range(max):
        lst3.append(lst1[x])
        try:
            lst3.append(lst2[x])
        except:
            pass
    return lst3
 
        
             
        
        
        
Answer:
Explanation:However, with the emergence of several new web development technologies, tools, frameworks, and languages in the last few years, it has now become quite .
 
        
             
        
        
        
Answer:
First we understand what is hash function.A hash function is mostly used in Hashmaps. It maps different keys to a set of values.There may occur a case when we have same key but different values.This case is called collision.So we have to use different collision handling techniques that are open addressing and separate chaining.
A perfect hash function maps key-value pair such that there are no collisions.
 
        
             
        
        
        
You can call a Python function like so: function(parameters). 
Example: 
Define function add: 
def add(x,y):
 return x+y
Call function:
add(3,7) -> 10