Data Structures Flashcards

1
Q

Co je ram - vysvětli, adress

A

Data, se kterými aktuálně pracuju jsou uloženy v ramce. Mají svou adress, ta má 8 bitů (tj jeden byte). Random acces memory- muže na kteroukoli adress přímo, nemusí jít napr. 1,2,3,…100 aby se dostal na 100. Pro CPU je rychlejší pokud hledá v ram adresy blízko u sebe. Pro optimalizaci slouží cpu cache, která ukládá naposledy navštívený věci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vyjmenuj typy akcí s datovými strukturami

A

Insertion, deletion, traversal, searching, sorting, access

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Array - co to je? Jaký znáš dva typy?

A

Je to objekt , který má integer based keys, that act like indexes. Jsou skvělý pokud potrebuju uložit nějaký data in order and over it one by one. Jsou static, napr v c++, low level language. Fixid in size, musíš specifikovat počet elelmentu that array will hold. Nebo jsou dynamic, mužů přidávat elementy podle potřeby.

Static jsou obecně rychlejší, pokud ale potrebuju rozšířit -> O(n), musí vykopirovat celej array na nový místo v memory a přidat nový položky.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Array - pop a unshift - jaký je Big O?

A

Pokud dělám něco na posledním elementu v array - O1, pokud na prvním, nebo třeba uprostřed (splice), je to ON, protože musí změnit indexu u všech následujících položek.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Strings - jak k nim přistupovat u interview, napr reverse a string?

A

Přistupovat stejně jako k otázkám o array. Strings jsou v podstatě array of characters. Takže z ni pomoci split() uděláš array a pak reversneš array.

Const reverse = str => str.spli(‘’).reverse().join(‘’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly