Kacam.net

Algoritmi

同样是 O(n log n),为什么快排更快

快排和堆排都是 O(n log n),实测差两三倍。差在哪?

Copia l'istruzione e scegli un modello. Farà l'intervistatore e ti interrogherà atto per atto invece di servirti la risposta.

Su un telefono con l'app installata, il sistema apre direttamente l'app. Dentro WeChat i collegamenti non aprono app esterne: aprilo prima in un browser.

Il testo copiato finisce con la griglia di correzione che il modello usa per valutarti. Non leggerla prima: vale l'averci arrivato da solo.

大 O 有意扔掉了常数和低阶项,而在真实机器上,被扔掉的那些经常就是全部的差别 —— 一次 L1 命中约 1ns,一次内存访问约 100ns,两个数量级。

这一份逼你算数:动态数组扩容为什么必须翻倍、建堆到底是 O(n) 还是 O(n log n)、1 秒时限下 n=10⁵ 排除了哪些复杂度。答「更快」一律要追「快多少」。

它是 04、05、10 那几份的地基,建议早做。

★★★★☆ · circa 40 min · Cosa si valuta: 均摊与最坏与平均、常数因子、缓存局部性、数量级估算

Che cosa allena questa

Complessità Analisi ammortizzata Cache e costanti

Già fatto questo?

Accedi per segnare che l'hai fatto: la prossima volta vedrai in che giorno è stato.

Appunti di chi l'ha fatto

Non ha ancora scritto nessuno. Dopo averlo fatto, racconta cosa è venuto fuori: quale atto ti ha bloccato, quale conclusione hai cambiato dopo.

Accedi per scrivere un appunto.

Come si usa

Questa serie insegna invece di interrogare: ti guida invece di incalzarti finché non hai più nulla da dire. Quando ti blocchi chiede prima a che livello (mai sentito / lo so ma non so perché / so perché ma non mi viene) e poi decide che cosa darti. Solo dopo averti guidato due volte sullo stesso punto te lo dice, e allora ti chiede di ripeterlo con parole tue.

Come iniziare

  1. Scegline una, aprila, copia il prompt.
  2. Incollalo in una conversazione nuova e vuota, non dire nulla e aspetta la prima domanda.
  3. Traccia a mano prima di scrivere codice: ti interromperà. Percorrere un array di lunghezza 2 vale più che riscrivere il modello dieci volte.

Quattro comandi da lanciare in qualsiasi momento

  • 跳过 passa subito alla scena successiva
  • 换个说法 rispiega questo punto da un'altra angolazione
  • 直说吧 dai la risposta completa e poi fammela ripetere
  • 复盘 salta alla chiusura e stampa la scheda di bilancio

Tre trappole

  • Non leggere prima la soluzione in fondo: quella sezione sugli «errori di ragionamento più comuni» è la risposta a ogni domanda.
  • Non buttarti sul codice. Con gli algoritmi, scrivere codice è il modo migliore per nascondere che non ci hai davvero pensato.
  • Quando comincia a lodarti, rimandalo alla regola «non lodarmi». Guidare non è coccolare.

Non ti viene la soluzione? Parti dalla definizione dello stato. Sbagli sempre i bordi? Ricerca binaria e somme prefisse. Non riconosci la forma del problema? Stack monotono e finestra scorrevole. Quella sulla complessità regge diverse altre: falla presto.