Kacam.net

Algoritmos

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

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

Copia la indicación y elige un modelo. Hará de entrevistador y te irá preguntando escena por escena en vez de darte la respuesta.

En un móvil con la aplicación instalada, el sistema la abre directamente. Dentro de WeChat no se pueden abrir aplicaciones externas: ábrelo primero en el navegador.

El texto copiado termina con la plantilla de corrección que usa el modelo. No la leas tú antes: lo que cuenta es haberlo razonado por tu cuenta.

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

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

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

★★★★☆ · unos 40 min · Se evalúa: 均摊与最坏与平均、常数因子、缓存局部性、数量级估算

Qué entrena esta

Complejidad Análisis amortizado Caché y constantes

¿Ya hiciste este?

Inicia sesión para marcar que ya lo practicaste; la próxima vez verás qué día fue.

Notas de quienes lo hicieron

Todavía no hay ninguna. Cuando lo termines, cuenta qué salió de la conversación: qué escena te dejó sin respuesta, qué conclusión cambiaste después.

Entrar para escribir una nota.

Cómo se usa

Esta serie enseña en vez de interrogar: te guía en lugar de apretar hasta que no te quede nada que decir. Cuando te atascas pregunta primero en qué capa (no lo he oído nunca / lo sé pero no sé por qué / sé por qué pero no me sale) y luego decide qué darte. Solo después de guiarte dos veces en el mismo punto te lo dice, y entonces te pide que lo repitas con tus palabras.

Cómo empezar

  1. Elige una, ábrela y copia el prompt.
  2. Pégalo en una conversación nueva y vacía, no digas nada y espera su primera pregunta.
  3. Traza a mano antes de escribir código: te interrumpirá. Recorrer un array de longitud 2 vale más que escribir la plantilla diez veces.

Cuatro órdenes que puedes soltar en cualquier momento

  • 跳过 pasar ya a la siguiente escena
  • 换个说法 explicar esta parte desde otro ángulo
  • 直说吧 dar la respuesta completa y luego hacérmela repetir
  • 复盘 saltar al cierre y sacar la ficha de balance

Tres trampas

  • No leas antes el solucionario del final: ese apartado de «errores de razonamiento habituales» es la respuesta a cada una de las preguntas.
  • No corras a escribir código. En algoritmos, escribir código es la mejor forma de tapar que en realidad no lo has pensado.
  • Cuando empiece a elogiarte, remítelo a la regla «no me elogies». Guiar no es consentir.

¿No se te ocurre la solución? Empieza por la definición del estado. ¿Siempre fallas en los límites? Búsqueda binaria y sumas de prefijos. ¿No reconoces la forma del problema? Pila monótona y ventana deslizante. La de complejidad sostiene a varias otras: hazla pronto.