14. Bitové operace a hashování Flashcards

1
Q

Jaké jsou základní bitové operace a co dělají?

A
  • AND (&): Vrací 1 pouze pokud oba porovnávané bity jsou 1. Například: 0101 & 0011 = 0001.
  • OR (|): Vrací 1 pokud alespoň jeden z porovnávaných bitů je 1. Například: 0101 | 0011 = 0111.
  • XOR (^): Vrací 1 pokud jsou porovnávané bity rozdílné. Například: 0101 ^ 0011 = 0110.
  • NOT (~): Invertuje bity; 0 se stává 1 a 1 se stává 0. Například: ~0101 = 1010 (závisí na velikosti typu).
  • Shift Left («): Posouvá bity doleva, pravé bity se doplní nulami. Například: 0101 << 1 = 1010.
  • Shift Right (»): Posouvá bity doprava; chování levých bitů závisí na typu (aritmetický vs. logický posun). Například: 0101 >> 1 = 0010.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je hashovací funkce a jak funguje hash tabulka?

A
  • Hashovací Funkce: Transformuje vstupní data různé délky na výstup pevné délky, což je klíčové pro rychlé vyhledávání v hash tabulce. Důležité vlastnosti zahrnují determinismus, rychlost, a rovnoměrné rozdělení hash hodnot.
  • Hash Tabulka: Datová struktura používající hashovací funkci k určení indexu v poli, kde se ukládají data. Kolize, kdy dva klíče mají stejný hash, se řeší metodami jako je řetězení nebo otevřené adresování.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jak mohou být bitové operace prakticky využity v programování?

A

Bitové operace se používají pro efektivní manipulaci s jednotlivými bity, nastavení, mazání, nebo testování konkrétních bitů ve hodnotě. Například, můžeme nastavit, zkontrolovat nebo změnit oprávnění v systému, kde každé bitové pozici odpovídá specifické oprávnění.

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

Jaké jsou praktické příklady využití hashování?

A

Hashování se široce používá pro efektivní vyhledávání v datových strukturách, bezpečnostní aplikace jako jsou digitální podpisy a ověřování dat, a pro distribuci dat v distribuovaných systémech k zajištění rovnoměrného zatížení. Například, hash tabulky v Pythonu jsou implementovány pomocí slovníků, které poskytují rychlé vložení, vyhledávání a mazání dat.

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