同样是 O(n log n),为什么快排更快
快排和堆排都是 O(n log n),实测差两三倍。差在哪?
Copiez la consigne, puis choisissez un modèle. Il joue l'examinateur et vous interroge acte par acte au lieu de vous donner la réponse.
Sur un téléphone où l'application est installée, le système l'ouvre directement. Dans WeChat, les liens n'ouvrent pas les applications externes : ouvrez-le d'abord dans un navigateur.
Le texte copié se termine par le corrigé dont le modèle se sert pour vous évaluer. Ne le lisez pas avant : ce qui compte, c'est de l'avoir déduit vous-même.
大 O 有意扔掉了常数和低阶项,而在真实机器上,被扔掉的那些经常就是全部的差别 —— 一次 L1 命中约 1ns,一次内存访问约 100ns,两个数量级。
这一份逼你算数:动态数组扩容为什么必须翻倍、建堆到底是 O(n) 还是 O(n log n)、1 秒时限下 n=10⁵ 排除了哪些复杂度。答「更快」一律要追「快多少」。
它是 04、05、10 那几份的地基,建议早做。
Ce que celle-ci travaille
Ce texte dans le dépôt (la solution est à la fin de ce fichier — vous la verrez)
Déjà fait celui-ci ?
Connectez-vous pour noter que vous l'avez fait : la prochaine fois, vous verrez quel jour c'était.
Notes de ceux qui l'ont fait
Comment s'en servir
Cette série enseigne au lieu d'interroger : elle vous guide au lieu de pousser jusqu'à ce que vous n'ayez plus rien à dire. Quand vous bloquez, elle demande d'abord à quel niveau (jamais entendu parler / je sais mais pas pourquoi / je sais pourquoi mais je n'y arrive pas), puis décide quoi donner. Elle ne donne la réponse qu'après vous avoir guidé deux fois sur le même point — et vous demande ensuite de la redire avec vos mots.
Comment démarrer
- Choisissez-en une, ouvrez-la, copiez l'invite.
- Collez-la dans une conversation toute neuve, ne dites rien, attendez sa première question.
- Déroulez à la main avant d'écrire du code — elle vous interrompra. Dérouler un tableau de longueur 2 vaut mieux qu'écrire le patron dix fois.
Quatre commandes à lancer à tout moment
跳过passer tout de suite à la scène suivante换个说法réexpliquer ce point sous un autre angle直说吧donner la réponse complète, puis me la faire redire复盘sauter à la conclusion et sortir la fiche de bilan
Trois pièges
- Ne lisez pas le corrigé de la fin en premier — sa rubrique « erreurs de raisonnement courantes » contient la réponse à chacune des questions.
- Ne vous jetez pas sur le code. En algorithmique, écrire du code est le meilleur moyen de masquer qu'on n'a pas vraiment réfléchi.
- Quand elle se met à vous complimenter, renvoyez-la à la règle « ne me complimente pas ». Guider n'est pas cajoler.
Aucune idée de solution ? Commencez par la définition de l'état. Toujours une erreur de borne ? Dichotomie et sommes préfixes. Vous ne reconnaissez pas la forme du problème ? Pile monotone et fenêtre glissante. Celle sur la complexité sert de socle à plusieurs autres : faites-la tôt.
Se connecter pour écrire une note.