javascript - 在实际项目中会用到递归吗?
在实际的项目中会有哪些情景会用到递归?
如何设计递归?
回复内容:
在实际的项目中会有哪些情景会用到递归?
如何设计递归?
递归思想最常见也是最容易理解的实例就是树形,递归思想也是软件开发中非常重要的基本思想之一,就像 @_yeshuai 说的那样。同时又与代码无充分必要的关系,就像你自己评论的那样
如果一个解决方案使用递归深度太深,是否表示这个方案不适合用递归来解决?
我个人认为最重要的是要有这种思考方式,而不是写出递归的代码,毕竟递归确实影响效率。
常见的树结构中,会用到递归,比如无限极分类,文件夹遍历等
肯定会用到递归的。
以这题的 tag
为例,可以尝试使用 js
实现目录树结构,不限制层级,可能只有2层,可能会有5层,具体看数据。
必须的 涉及到算法的话 很多都是通过递归实现的~
比如查询一个主管底下的所有层级的下属,比如查询某个一级品类下的所有二三级品类。
递归时记得设定好递归的终止条件。
层级相关操作的时候痕常用,比如如果该节点勿配置就读取上一节点的数据
偶尔会用到吧,比如无限极分类,有类别的系统,比如商城后台,博客列表
譬如深度复制一个js对象 无限级的菜单等
怎么设计看你的具体应用场景了
js对象深拷贝可以看下我的笔记
https://segmentfault.com/n/1330000004855030
偶尔会用一下,不会常用

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan
