递归太牛了真锅,递归的冒看懂

太牛了真锅,递归的冒看懂,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

好的,懂了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/938912
  • 这篇博客你也可以参考下:交换排序(冒泡排序,优化冒泡排序,快速排序,以及快速排序优化的三种方法详解)
  • 除此之外, 这篇博客: 结构体使用方法大全(定义,内存大小,初始化,结构数组,结构指针,位域,结构和联合体的嵌套,结构体包含函数指针)中的 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    struct bs 
    { 
      unsigned a:4 
      unsigned :0 /*空域*/ 
      unsigned b:4 /*从下一单元开始存放*/ 
      unsigned c:4 
    };
    

    在这个位域定义中,a占第一字节的4位,后4位填0表示不使用,b从第二字节开始,占用4位,c占用4位。

  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    从段落0中可以看出,树形结构相对于线性结构的优势在于查找数据的性能较高。树作为一种常见的数据结构,有许多分类和应用场景。以下是对树的分类和每种分类的理解:

    1. 二叉树:树中任意节点最多只有两个分叉的树。
    2. 二叉排序树:有序的二叉树,可以通过比较节点的值来快速查找和插入数据。但是可能会出现倾斜而导致查询性能下降。
    3. 平衡二叉树:对二叉排序树的进化形态,要求任何节点的两颗子树高度差不大于1。查询性能较高,但每次增删元素都需要重新排序,性能较低。
    4. 红黑树:自平衡的二叉树,要求根节点和叶子节点为黑色,其他节点红黑交替。任何一个子树中,从根节点向下走到空节点的路径经过的黑节点数相同,保证了平衡性。查询性能比平衡二叉树稍低,但插入和删除元素的性能大幅提高。

    5. 多叉树:解决二叉树存储大规模数据时深度过大导致IO性能低、查询效率低的问题。

    6. B树:自平衡的树,一个节点可以存储多个key,并拥有key数量+1个分叉。适用于读写相对大的数据块,如文件系统、数据库索引。树的高度较矮,IO次数少,查询效率高。
    7. B+树:B树的升级版,内部节点只存储key,不存储具体数据,叶子节点存放key和具体数据。每个节点可以存更多的key,树的高度更低,查询更快。所有叶子节点组成有序链表,方便区间查询。

    根据以上分类的了解,如果是求某一范围内的所有素数,或者对较小的数进行素数判定,可以使用筛选法来解决。其中,埃拉特斯特尼筛法和欧拉筛是常见的两种方法:

    1. 埃拉特斯特尼筛法(时间复杂度为O(n loglog n))
    2. 从2开始,将每个质数的倍数都标记成合数,以筛选素数。
    3. 可以使用一个数组isprime来标记数是否为素数,初始时全部置为1。从2开始遍历数组,如果当前数isprime[i]为1,则将其倍数isprime[j](j=i2、i3、i*4...)置为0。
    4. 遍历结束后,isprime数组中值为1的下标即为素数,可以将其存入一个数组su中。
    5. 举例代码见参考资料中的代码。

    6. 欧拉筛(线性O(n)的复杂度)

    7. 在埃拉特斯特尼筛法的基础上,让每个合数只被它的最小质因子筛选一次,避免了重复筛选的问题。
    8. 可以使用两个数组prime和visit来保存素数和标记数是否已被筛去。初始时全部置为0。
    9. 从2开始遍历,如果visit[i]为0,则将i加入prime数组,并将其倍数visit[i*prime[j]](j=1,2,3...)置为1,同时判断i是否是prime[j]的倍数,如果是则跳出循环。
    10. 遍历结束后,prime数组中的元素即为素数。
    11. 举例代码见参考资料中的代码。

    以上就是关于树的分类以及求素数的两种筛选法的解决方案。如果有其他问题或需要更具体的解决方案,请提供更具体的问题描述。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你的具体问题是什么?
递归的优点是描述算法往往比较简单,缺点是有递归层数限制,效率略低。