CS50: Weeks 6-11 Flashcards
What is hashing?
Hashing is taking an input and using that input to compute a value (e.g., where to place in a sorted list), using a hash function.
What is separate chaining?
Separate Chaining is an array of linked lists, one method to handle collisions in a hash table.
What is linear probing?
Linear Probing is traversing along an array to find an open spot to put a new element; another method to handle collisions in a hash table.
What is a trie?
A Trie is a search tree that is optimized for retrieval.
What is a stack?
A Stack is a data structure with the actions Push, Pop that is LIFO (last in, first out).
What is a queue?
A Queue is a data structure with the actions Enqueue, Dequeue that is FIFO (first in, first out).
What is a binary search tree?
A Binary Search Tree is a data structure where each element has two children: a left and right path (to divide/conquer related values) – n log n sorting.
What is a hash table collision?
Collisions occur when attempting to put two values (whose placements were produced by the hash function) into the same index. This can be resolved with either linear probing or separate chaining.
What is an IP address?
An IP (Internet Protocol) address is a unique ID that every device on the internet has in order to communicate.
What is the path of communication on the internet for a typical computer?
laptop -> AP (access point) -> Switch (device with data jacks) -> Router (route packets from sender to destination) -> Internet.
What is DHCP and what does it do?
DHCP (Dynamic Host Configuration Protocol) provides dynamic IP address to consumers.
What is DNS and what does it do?
DNS (Domain Name System) transalates URLs (host names, domain names) to IP address and vice versa.
What is TCP?
TCP (Transmission Control Protocol) is the communications backbone of the internet.
What is HTTP?
HTTP (Hypertext Transfer Protocol) is the layer by which websites are delivered on the internet.
What is HTML?
HTML (Hypertext Markup Language) is the markup language used to create websites.