递推算法可以不断利用已有的信息推导(迭代)出新的信息
2025年10月02日
●什么是递归函数?
如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数。
遵循:
●递归的组成部分
递归调用与递归终止条件。
●递归的调用过程
2025年10月02日
递归代码的优雅性一目了然,但其底层执行过程却像一个黑盒,令许多开发者感到困惑。它并非魔法,而是计算机系统最基础机制——函数调用栈(Call Stack)——的直接应用。本文将彻底打开这个黑盒,深入汇编与内存层面,解析递归如何通过栈帧(Stack Frame)的压入与弹出完成其精妙的舞蹈,并最终阐明其时空开销的本质。
2025年10月02日
函数有定义,有调用,定义函数是告诉系统函数有什么功能,调用就相当于要实现这个功能。
定义函数就相当于写剧本,告诉导演这个剧要演什么内容。
调用函数就是拍电影,把这个剧本的故事展现出来。
2025年10月02日
(大佬请绕行,比较基础!)递归是非常常见的一种算法,非常经典,可以解决非常多的问题。但我估计虽然大部分人知道递归,也能看得懂递归,但在实际运用中,很容易被递归给搞晕(数据,变量,函数等来回的出栈入栈)。今天写篇文章分享下,或许,能够给你带来一些帮助。
2025年10月02日
(十三) 函数递归
一、栈
在说函数递归的时候,顺便说一下栈的概念。
栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向下移动一个位置。当系统从栈中弹出一个对象时,最近进栈的对象将被弹出。然后栈指针向上移动一个位置。程序员经常利用栈这种数据结构来处理那些最适合用后进先出逻辑来描述的编程问题。这里讨论的程序中的栈在每个程序中都是存在的,它不需要程序员编写代码去维护,而是由运行是系统自动处理。所谓的系统自动维护,实际上就是编译器所产生的程序代码。尽管在源代码中看不到它们,但程序员应该对此有所了解。
2025年10月02日
在编程的世界里,我们习惯用for和while循环来重复执行任务。但有一种方法,它让函数调用自身,像俄罗斯套娃一样,一层套着一层,以一种极其简洁和优雅的方式解决复杂问题。这种方法就是递归。它看似神奇,甚至有些违反直觉,但一旦理解其核心思想,你将会获得一件强大的思维武器。本文将带你揭开递归的神秘面纱,从概念到实践,彻底掌握它。
2025年10月02日
开篇引言:
欢迎来到易卦三才阐微!我们开启六十四卦的第一篇章——乾卦。它由六个阳爻组成,是纯阳之卦,象征着天、创造、刚健与主动。理解乾卦,就如同掌握了宇宙万物的“源代码”,它告诉我们一切伟大的事业、非凡的人生,其背后那股最原始、最根本的驱动力量究竟是什么。今天,我们将从“天、地、人”三个维度,全面解码乾卦的智慧。
2025年10月02日
我们一提到周易,很多人第一印象就是神秘的算卦,好像算卦才是易经的核心,我们今天就来聊聊算卦。
从文字上看,卦字是一个挂的右边加上占卜的卜,就是把卜的东西挂起来就叫卦。实际上就是在我们看不清自己的处境时,通过占卜的方式把它挂起来,再根据客观规律去推演,从而决定下面要怎么做。