Packet loss is typically resolved by time-outs and retries. For applications where a duplicate operation doesn't matter this is acceptable.
Answer:
Selective Repeat protocols
Explanation:
It is better to make use of the selective repeat protocol here. From what we have here, there is a high error rate on this channel.
If we had implemented Go back N protocol, the whole N packets would be retransmitted. Much bandwidth would be needed here.
But we are told that bandwidth is limited. So if packet get lost when we implement selective protocol, we would only need less bandwidth since we would retransmit only this packet.
#include <stdio.h> //stdio stands for STanDard Input/Output
Answer:
See explaination for the code
Explanation:
def wordsOfFrequency(words, freq):
d = {}
res = []
for i in range(len(words)):
if(words[i].lower() in d):
d[words[i].lower()] = d[words[i].lower()] + 1
else:
d[words[i].lower()] = 1
for word in words:
if d[word.lower()]==freq:
res.append(word)
return res
Note:
First a dictionary is created to keep the count of the lowercase form of each word.
Then, using another for loop, each word count is matched with the freq, if it matches, the word is appended to the result list res.
Finally the res list is appended.