Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment apprendre la récursion?

C'est difficile à comprendre. Avez-vous des suggestions ?

漂亮男人漂亮男人2642 Il y a quelques jours810

répondre à tous(6)je répondrai

  • 三叔

    三叔2017-07-05 10:53:50

    Regardez ma réponse précédente à une question de récursion. Comprendre la récursion en termes d'implémentation de fonctions
    Je ne sais pas si cela vous sera utile.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-07-05 10:53:50

    La compréhension simple est la suivante : appel de fonction自身.

    Une récursion qualifiée doit avoir 结束条件.

    Comprenez ces 2 points et tout ira bien.

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:53:50

    1. Si vous voulez apprendre la récursivité, vous devez d'abord apprendre la récursivité.

    2. La récursion est le remplissage des petits pains cuits à la vapeur, et la limite est celle des petits pains cuits à la vapeur.

    3. Donne un exemple de code normal :

    Supposons que nous voulions parcourir une structure de données [imbriquée], telle que [l'attribut enfants d'un élément DOM ou un élément DOM du même type], alors la récursivité la plus simple et la plus courante sera utilisée : la fonction s'appelle elle-même, couche par calque Le désimbrication ne nécessite qu'une ou deux lignes de JS :

    function walk (node) {
      // 先打印出本节点的值
      console.log(node.value)
      // 对每个 child 调用自身
      node.children.forEach(child => walk(chid))
    }
    
    // 简单的树形嵌套数据结构示例
    const tree = {
      value: 1,
      children: [
        { value: 2, children: [] },
        { value: 3, children: [{ value: 4, chilren: [] }] },
        { value: 5, children: [] }
      ]
    }
    // 遍历该树形数据结构
    walk(tree)

    répondre
    0
  • 三叔

    三叔2017-07-05 10:53:50

    La récursion n'est en fait pas difficile à comprendre. Laissez-moi vous donner un exemple. Il y a des pommes sur un seul étage d'un immeuble de 6 étages, si nous trouvons une pomme à n'importe quel étage, nous nous arrêterons. . Il y aura deux résultats lors d'une recherche une fois. Vous n'avez pas besoin de chercher vers le bas pour porter un jugement. Rechercher vers le bas signifie répéter le premier processus.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-07-05 10:53:50

    int i;
    int function a(i){
        if (i < 2) return a(i+1);
        else return i;
    }
    a(0);    //执行后返回2

    Le code ci-dessus est facile à comprendre sans écrire de normes. La récursion signifie s'appeler pour former un nid
    Parce qu'il n'y a qu'une seule instruction return, donc après avoir appelé a(0), nous pouvons le voir comme ceci :
    Imbriqué dans :

    a(0)->a(a(0+1))->a(a(1))
    a(a(a(1+1)))->a(a(a(2)))

    De retour :

    a(a(a(2)))->a(a(2))
    a(a(2))->a(2)
    a(2)->2
    

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:53:50

    Expérience d'un chauffeur expérimenté : pratiquez davantage et apprenez davantage

    répondre
    0
  • Annulerrépondre