ຄອມພິວເຕີດໍາເນີນໂຄງການ

Recursion - ນີ້ແມ່ນສິ່ງທີ່? ດໍາເນີນໂຄງການ Recursion (ຕົວຢ່າງ)

Recursion ມີກິດຈະກໍາທີ່ຫນ້າສົນໃຈໃນຕົນເອງ, ແຕ່ພວກເຂົາເຈົ້າຢູ່ໃນການດໍາເນີນໂຄງຄວາມສໍາຄັນໂດຍສະເພາະໃນບາງກໍລະນີ. ເປັນຄັ້ງທໍາອິດປະເຊີນຫນ້າກັບພວກເຂົາ, ເປັນຈໍານວນຂະຫນາດໃຫຍ່ພົບທົ່ວໄປຂອງປະຊາຊົນມີຄວາມເຂົ້າໃຈຂອງເຂົາເຈົ້າຂອງບັນຫາ. ນີ້ແມ່ນເນື່ອງມາຈາກພາກສະຫນາມຂະຫນາດໃຫຍ່ຂອງການນໍາໃຊ້ທ່າແຮງຂອງໄລຍະການ, ໂດຍອີງຕາມສະພາບການທີ່ວ່າ "recursion" ຖືກນໍາໃຊ້. ແຕ່ມັນໄດ້ຖືກຫວັງວ່າບົດຄວາມນີ້ຈະຊ່ວຍໃຫ້ເພື່ອຫຼີກເວັ້ນການເຂົ້າໃຈຜິດທີ່ເປັນໄປໄດ້ແລະຄວາມສັບສົນ.

ໄດ້ "recursion" ໂດຍທົ່ວໄປແມ່ນແນວໃດ?

ຄໍາວ່າ "recursion" ມີລະດັບຂອງຄຸນຄ່າທີ່ຂຶ້ນກັບພາກພື້ນທີ່ມັນໄດ້ຖືກນໍາໃຊ້ໄດ້. ການອອກແບບວິທະຍາໄລແມ່ນເປັນດັ່ງຕໍ່ໄປນີ້: recursion - ຮູບພາບນິຍາມດັ່ງກ່າວນີ້, ຄໍາອະທິບາຍຂອງວັດຖຸຫຼືຂະບວນການໃນຈຸດປະສົງຂອງເຂົາເຈົ້າເອງ. ພວກເຂົາເຈົ້າມີຄວາມເປັນໄປໄດ້ພຽງແຕ່ໃນກໍລະນີທີ່ວັດຖຸທີ່ເປັນສ່ວນຫນຶ່ງຂອງຕົນເອງໄດ້. ໃນວິທີການຂອງຕົນເອງມັນໄດ້ກໍານົດຄະນິດສາດ recursive, ຟີຊິກສາດ, ການຂຽນໂປຣແກຣມ, ແລະຈໍານວນຂອງລະບຽບວິໄນວິທະຍາສາດອື່ນໆ. ຄໍາຮ້ອງສະຫມັກພາກປະຕິບັດໄດ້ຖືກພົບເຫັນຢູ່ໃນລະບົບຂໍ້ມູນຂ່າວສານແລະປະສົບການທາງດ້ານຮ່າງກາຍ.

ຈະເປັນແນວໃດແມ່ນຫມາຍຄວາມວ່າໂດຍ recursion ໃນການຂຽນໂປຣແກຣມ?

ສະຖານະການຊ້ໍາຫລື recursion ໃນການຂຽນໂປຣແກຣມ, ເອີ້ນວ່າປັດຈຸບັນໃນເວລາທີ່ລະບຽບການຫຼືໂຄງການການທໍາງານຂອງຮຽກຮ້ອງຕົນເອງ. ໃນຖານະເປັນ strange ເປັນສໍາລັບຜູ້ທີ່ໄດ້ເລີ່ມຕົ້ນທີ່ຈະຮຽນຮູ້ການຂຽນໂປຣແກຣມ, ເປັນນີ້ອາດຈະສຽງ, ບໍ່ມີຫຍັງ strange ກ່ຽວກັບມັນ. ໃຫ້ເກັບຮັກສາໃນຈິດໃຈທີ່ recursion ໄດ້ - ມັນບໍ່ແມ່ນມີຄວາມຫຍຸ້ງຍາກ, ແລະໃນບາງກໍລະນີພວກເຂົາເຈົ້າແທນທີ່ຮອບວຽນ. ຖ້າຫາກວ່າໃນຄອມພິວເຕີຂອງທ່ານກໍານົດຢ່າງຖືກຕ້ອງໂທຫາລະບຽບການຫຼືການທໍາງານຂອງ, ເຂົາພຽງແຕ່ເລີ່ມຕົ້ນທີ່ຈະປະຕິບັດຂອງນາງ.

Recursion ສາມາດຈໍາກັດຫຼືຕະຫຼອດໄປ. ໄປຄັ້ງທໍາອິດຢຸດຕົວຂອງມັນເອງສາເຫດ, ມັນຄວນຈະເງື່ອນໄຂຂອງການຍົກເລີກ. ຫຼຸດລົງໃນມູນຄ່ານີ້ສາມາດທີ່ຈະປ່ຽນແປງ, ແລະໃນເວລາທີ່ມັນໄປຮອດຄ່າສະເພາະໃດຫນຶ່ງ, ແລະຢຸດເຊົາການຊອບແວໂທສໍາເລັດ / ການຫັນໄປສູ່ລະຫັດຕໍ່ໆມາ, ໂດຍອີງຕາມຄວາມຕ້ອງການເພື່ອໃຫ້ບັນລຸເປົ້າຫມາຍສະເພາະໃດຫນຶ່ງ. By recursion ນິດຫມາຍຄວາມວ່າມັນຈະໄດ້ຮັບການເອີ້ນວ່າ, ຈະເຮັດວຽກເປັນເວລາດົນເປັນຄອມພິວເຕີຫຼືໂຄງການທີ່ຈະດໍາເນີນການໄດ້.

ມັນກໍເປັນໄປໄດ້ອົງການຈັດຕັ້ງ recursion ຄວາມຫຍຸ້ງຍາກການນໍາໃຊ້ສອງຫນ້າທີ່. ສົມມຸດວ່າບໍ່ມີ A ແລະ B. A ມີຫນ້າທີ່ໃນການໂທລະຫັດຂອງທ່ານຈະ B ແລະ B, ແລະເຮັດໃຫ້ການ, ຊີ້ກັບຄວາມຕ້ອງການສໍາລັບຄອມພິວເຕີເພື່ອປະຕິບັດສະລັບສັບຊ້ອນ A. recursion - ວິທີອອກຈາກຊຸດສະລັບສັບຊ້ອນຂອງສະຖານະການຢ່າງມີເຫດຜົນສໍາລັບເຫດຜົນໃນຄອມພິວເຕີໄດ້.

ຖ້າຫາກວ່າຜູ້ອ່ານຂອງສາຍເຫຼົ່ານີ້ການສຶກສາວົງຈອນດໍາເນີນໂຄງການແມ່ນອາດຈະສັງເກດເຫັນແລ້ວຄວາມຄ້າຍຄືກັນລະຫວ່າງພວກເຂົາແລະ recursion ໄດ້. ໂດຍທົ່ວໄປ, ພວກເຂົາເຈົ້າໃນຕົວຈິງແມ່ນສາມາດປະຕິບັດວຽກງານທີ່ຄ້າຍຄືກັນຫຼື. ດ້ວຍຄວາມຊ່ອຍເຫລືອຂອງ recursion ແມ່ນສະດວກຕໍ່ກັບວົງຈອນການເຮັດວຽກ simulation. ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະບ່ອນທີ່ວົງຈອນຕ່າງໆດ້ວຍຕົນເອງເພື່ອນໍາໃຊ້ແມ່ນບໍ່ສະດວກຫຼາຍ. ຂັບລົດປະຕິບັດຊອບແວບໍ່ແມ່ນແຕກຕ່າງກັນຫຼາຍໃນລະດັບສູງພາສາການຂຽນໂປຣແກຣມທີ່ແຕກຕ່າງກັນ. ທັນ recursion ໃນ "Pascal" ແລະ recursion ໃນ C ຫຼືພາສາອື່ນມີລັກສະນະເປັນຂອງຕົນເອງ. ນາງສາມາດໄດ້ຮັບການປະຕິບັດຢ່າງສໍາເລັດຜົນໃນພາສາໃນລະດັບຕ່ໍາເຊັ່ນ: "ຜູ້ປະກອບ", ແຕ່ວ່າມັນເປັນບັນຫາເພີ່ມເຕີມແລະໃຊ້ເວລາດົນ.

ຕົ້ນໄມ້ recursion

ເປັນ "ຕົ້ນໄມ້" ໃນການຂຽນໂປຣແກຣມເປັນແນວໃດ? ມັນເປັນຂອບເຂດປະກອບດ້ວຍຢ່າງຫນ້ອຍຫນຶ່ງໃນຂໍ້ທີ່:

  1. ມີຂໍ້ພິເສດໃນເບື້ອງຕົ້ນ, ເອີ້ນວ່າຮາກຂອງຕົ້ນໄມ້ທັງຫມົດ.
  2. ຂໍ້ທີ່ຍັງເຫຼືອຢູ່ໃນປະລິມານທີ່ແຕກຕ່າງກັນຈາກສູນ, ຍ່ອຍ disjointed ເປັນ, ໃນເວລາດຽວກັນເຂົາເຈົ້າຍັງຕົ້ນໄມ້ໄດ້. ທັງຫມົດຮູບແບບດັ່ງກ່າວຂອງອົງການຈັດຕັ້ງເອີ້ນວ່າຊີຍ່ອຍຂອງຕົ້ນໄມ້ຕົ້ນຕໍໄດ້.

ໃນຄໍາສັບຕ່າງໆອື່ນໆ: ຕົ້ນໄມ້ປະກອບດ້ວຍຊີຍ່ອຍທີ່ປະກອບດ້ວຍຕົ້ນໄມ້ຫຼາຍ, ແຕ່ໃນຈໍານວນຂະຫນາດນ້ອຍກ່ວາຕົ້ນໄມ້ທີ່ຜ່ານມາ. ນີ້ຍັງຈະສືບຕໍ່ຈົນກ່ວາຫນຶ່ງໃນຕ່ອມນ້ໍາຈະເປັນໄປໄດ້ທີ່ຈະຍ້າຍອອກ, ແລະມັນຈະຫມາຍຄວາມວ່າໃນຕອນທ້າຍຂອງ recursion ໄດ້. ມີຫນຶ່ງ nuance ເພີ່ມເຕີມກ່ຽວກັບ diagramming ແມ່ນ: ຕົ້ນໄມ້ທໍາມະດາຂະຫຍາຍຕົວຈາກທາງລຸ່ມຂຶ້ນ, ແລະເຂົາເຈົ້າໄດ້ຖືກກັນກັບການຂຽນໂປຣແກຣມໃນທາງກັບກັນ. ສະຖານທີ່ທີ່ບໍ່ມີຄວາມຕໍ່ເນື່ອງ, ເອີ້ນວ່າຂໍ້ໃນຕອນທ້າຍ. ເພື່ອຄວາມສະດວກຂອງ notation, ແລະສໍາລັບຄວາມງ່າຍຂອງການການນໍາໃຊ້ການສືບເຊື້ອສາຍ terminology (ບັນພະບຸລຸດ, ເດັກນ້ອຍ).

ວ່າເປັນຫຍັງມັນຖືກນໍາໃຊ້ໃນການຂຽນໂປຣແກຣມ?

ການນໍາໃຊ້ຂອງ recursion ໃນການຂຽນໂປຣແກຣມພົບເຫັນໃນລະດັບຂອງວຽກງານສະລັບສັບຊ້ອນເປັນ. ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະເຮັດໃຫ້ພຽງແຕ່ຫນຶ່ງໂທໄດ້ງ່າຍແມ່ນການນໍາໃຊ້ວົງຈອນການເຊື່ອມໂຍງດັ່ງກ່າວ, ແຕ່ໃນເວລາສອງຫຼືຫຼາຍກວ່າການຄ້າງຫ້ອງທີ່ເພື່ອຫຼີກເວັ້ນການບົບຕ່ອງໂສ້ແລະເຮັດໃຫ້ການປະຕິບັດຂອງເຂົາເຈົ້າໃນຮູບແບບຂອງຕົ້ນໄມ້, ແລະສະຖານະການ recursive ຫມັກຂໍເອົາ. ສໍາລັບລະດັບຄວາມກ້ວາງຂອງບັນຫາອົງການຈັດຕັ້ງຂອງຂະບວນການຄອມພິວເຕີໃນວິທີການນີ້ແມ່ນທີ່ດີທີ່ສຸດໃນຂໍ້ກໍານົດຂອງການບໍລິໂພກຊັບພະຍາກອນ. ດັ່ງນັ້ນ, recursion ໃນ "Pascal" ຫຼືພາກສ່ວນອື່ນໆທີ່ພາສາການຂຽນໂປຣແກຣມໃນລະດັບສູງທີ່ເປັນການທໍາງານຂອງການຫຼືຂັ້ນຕອນໂທກັບສະພາບການບໍ່ຄໍານຶງເຖິງຈໍານວນຂອງການໂທຈາກພາຍນອກໄດ້. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ໂຄງການສາມາດມີພຽງແຕ່ຫນຶ່ງໂທກັບ subroutine, ແຕ່ມັນຈະເປັນເຖິງແຮງບິດ predetermination ບາງ. ໃນບາງວິທີທີ່ມັນເປັນ loop ຂໍ້ຄ້າຍຄືກັນກັບລັກສະນະການນໍາໃຊ້ຂອງຕົນ.

ຄວາມແຕກຕ່າງ recursion ໃນພາສາການຂຽນໂປຣແກຣມຕ່າງໆ

ເຖິງວ່າຈະມີແຜນພາບທົ່ວໄປຂອງການປະຕິບັດການແລະຄໍາຮ້ອງສະຫມັກໂດຍສະເພາະໃນກໍລະນີແຕ່ລະບຸກຄົນ, recursion ໃນການຂຽນໂປຣແກຣມມີລັກສະນະເປັນຂອງຕົນເອງ. ນີ້ສາມາດນໍາໄປສູ່ການມີຄວາມຫຍຸ້ງຍາກໃນການຊອກຫາສໍາລັບອຸປະກອນການກໍານົດໄວ້. ແຕ່ສະເຫມີໄປຮັກສາຢູ່ໃນໃຈ: ຖ້າຫາກວ່າພາສາການຂຽນໂປຣແກຣມເປັນການທໍາງານຫຼືລະບຽບການ, ເພາະສະນັ້ນ, recursion ໂທ - ມັນເປັນໄປໄດ້. ແຕ່ຄວາມແຕກຕ່າງທີ່ສໍາຄັນທີ່ສຸດຂອງຕົນໃນເວລາທີ່ເກີດຂຶ້ນການນໍາໃຊ້ພາສາການຂຽນໂປຣແກຣມຕ່ໍາແລະສູງ. ນີ້ແມ່ນເປັນໄປໄດ້ທີ່ແທ້ຈິງໂດຍສະເພາະແມ່ນການປະຕິບັດໂຄງການ. ການບໍລິຫານໃນທີ່ສຸດຈະຂຶ້ນກັບວ່າວຽກງານກໍານົດການ, ໂດຍສອດຄ່ອງກັບມັນແລະລາຍລັກອັກສອນ recursion. ຫນ້າທີ່ແລະຂັ້ນຕອນການນໍາໃຊ້ທີ່ແຕກຕ່າງກັນ, ແຕ່ຈຸດປະສົງຂອງເຂົາເຈົ້າແມ່ນສະເຫມີກັນ - ເຮັດໃຫ້ໂທຫາດ້ວຍຕົນເອງ.

Recursion - ມັນເປັນງ່າຍດາຍ. ເປັນເລື່ອງງ່າຍທີ່ຈະຈື່ເນື້ອໃນຂອງບົດຄວາມແນວໃດ?

ສໍາລັບຜູ້ເລີ່ມທີ່ຈະເຂົ້າໃຈມັນອາດຈະເປັນຄວາມຫຍຸ້ງຍາກໃນເບື້ອງຕົ້ນ, ສະນັ້ນທ່ານຈໍາເປັນຕ້ອງຕົວຢ່າງຂອງ recursion, ຫຼືຢ່າງຫນ້ອຍຫນຶ່ງ. ດັ່ງນັ້ນ, ທ່ານຄວນຈະໃຫ້ເປັນຕົວຢ່າງຂະຫນາດນ້ອຍຂອງຊີວິດປະຈໍາວັນ, ເຊິ່ງຈະຊ່ວຍໃຫ້ເຂົ້າໃຈໂດຍເນື້ອແທ້ແລ້ວຂອງກົນໄກນີ້ເພື່ອໃຫ້ບັນລຸວັດຖຸປະສົງໃນການຂຽນໂປຣແກຣມໄດ້. ໃຊ້ເວລາກັບສອງຫຼືຫຼາຍກວ່ານັ້ນ, ການຈັດວາງໃຫ້ເຂົາເຈົ້າເພື່ອໃຫ້ໃນການສະແດງດຽວທັງຫມົດສ່ວນທີ່ເຫຼືອ. ມັນສາມາດໄດ້ຮັບການເຫັນວ່າກະຈົກສະທ້ອນໃຫ້ເຫັນຕົວຂອງມັນເອງຊ້ໍາ, ການສ້າງຜົນກະທົບຂອງການ Infinity. ນີ້ recursion - ແມ່ນ, ຕົວເລກໃນການເວົ້າ, ການສະທ້ອນໃຫ້ເຫັນ (ທີ່ເປັນຈໍານວນຫລາຍ). ຂະນະທີ່ທ່ານສາມາດເບິ່ງ, ງ່າຍທີ່ຈະເຂົ້າໃຈ, ມັນອາດຈະຕ້ອງການ. ການສຶກສາຂອງອຸປະກອນດໍາເນີນໂຄງການ, ຫຼັງຈາກນັ້ນພວກເຮົາສາມາດເບິ່ງ recursion ວ່າ - ມັນແມ່ນຍັງໄດ້ຢ່າງງ່າຍດາຍຫຼາຍຫນ້າວຽກ doable.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lo.birmiss.com. Theme powered by WordPress.