Sobes.tech
Middle

Pred tebou je funkcia s dvoma konštantami a console.log. Čo sa vypíše do konzoly? Čo sa zmení, ak odstrániš break na 7. riadku? Aká je algoritmická zložitosť tohto kódu?

sobes.tech AI

Odpoveď od AI

Без конкретного кода сложно точно ответить, но разберём типичный пример с использованием switch и констант.

  1. Что выведется в консоль? Обычно, если в switch используется break после каждого case, то будет выведено значение, соответствующее первому совпавшему case.

  2. Что изменится, если убрать break на 7-й строчке? Если убрать break, произойдёт "провал" (fall-through) — выполнение продолжится в следующий case, и будут выполнены все последующие инструкции до ближайшего break или конца switch. Это может привести к выводу нескольких значений или неожиданному поведению.

  3. Алгоритмическая сложность Switch-case обычно реализуется как последовательность сравнений или как хеш-таблица. В худшем случае — это O(n), где n — количество case, если сравнения идут последовательно. В некоторых реализациях может быть O(1), если используется оптимизация.

Пример:

const a = 2;
const b = 3;
switch(a) {
  case 1:
    console.log('one');
    break;
  case 2:
    console.log('two');
    // break;  // если убрать break, выполнится следующий case
  case 3:
    console.log('three');
    break;
  default:
    console.log('default');
}

Если break после case 2 убрать, в консоль выведется:

two
three

Иначе только two.