Grokking Algorithms



Yüklə 348,95 Kb.
Pdf görüntüsü
səhifə22/122
tarix05.12.2023
ölçüsü348,95 Kb.
#173611
1   ...   18   19   20   21   22   23   24   25   ...   122
grokking-algorithms-illustrated-programmers-curious

EXERCISES 
2.2
Suppose you’re building an app for restaurants to take customer 
orders. Your app needs to store a list of orders. Servers keep adding 
orders to this list, and chefs take orders off the list and make them. 
It’s an order queue: servers add orders to the back of the queue, and 
the chef takes the first order off the queue and cooks it.
Would you use an array or a linked list to implement this queue? 
(Hint: Linked lists are good for inserts/deletes, and arrays are good 
for random access. Which one are you going to be doing here?) 
2.3
Let’s run a thought experiment. Suppose Facebook keeps a list of 
usernames. When someone tries to log in to Facebook, a search is 
done for their username. If their name is in the list of usernames, 
they can log in. People log in to Facebook pretty often, so there are 
a lot of searches through this list of usernames. Suppose Facebook 
uses binary search to search the list. Binary search needs random 
access—you need to be able to get to the middle of the list of 
usernames instantly. Knowing this, would you implement the list
as an array or a linked list? 
2.4
People sign up for Facebook pretty often, too. Suppose you decided 
to use an array to store the list of users. What are the downsides 
of an array for inserts? In particular, suppose you’re using binary 
search to search for logins. What happens when you add new users 
to an array? 
2.5
In reality, Facebook uses neither an array nor a linked list to store 
user information. Let’s consider a hybrid data structure: an array 
of linked lists. You have an array with 26 slots. Each slot points to a 
linked list. For example, the first slot in the array points to a linked 
list containing all the usernames starting with a. The second slot 
points to a linked list containing all the usernames starting with b, 
and so on.


32

Yüklə 348,95 Kb.

Dostları ilə paylaş:
1   ...   18   19   20   21   22   23   24   25   ...   122




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin