算法
文章平均质量分 94
Skrrapper
C/C++领域创作者、优快云校园主理人、阿里云专家博主
编程之大,无奇不有。让我们共同学习,一起进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】非线性表----二叉树详解
递归,其中函数在其定义的过程中调用自身。递归基(Base Case)这是停止递归调用的条件。当满足某个条件时,函数返回一个结果,而不再进行进一步的递归调用。递归步骤(Recursive Step)这是函数如何将问题分解成更小的子问题的部分。函数调用自身来处理这些子问题,并通常会将结果合并以生成最终结果。}BTNode;原创 2024-08-03 19:45:09 · 1295 阅读 · 0 评论 -
【算法】TopK问题超详解
读完这篇文章,相信你对TopK问题已经有了大致的了解并且基本知道其算法思想了。TopK问题是我们生活中也会常常遇见的问题,所以说掌握它的常见算法绝对不是一件坏事。排序法适用于数据集较小且有排序需求的情况。快速选择法适用于期望时间复杂度较低,能容忍最坏情况的场景。堆排序法适用于数据集较大且k远小于n的情况。这三种方法各有优缺点,我们可以根据具体需求选择合适的算法,从而在生活和工作中提高时间效率。原创 2024-07-18 16:38:07 · 2226 阅读 · 5 评论 -
【数据结构】非线性表----树详解
单纯的树实际上用处不大(子节点过多)。但是对于文件系统、目录以及某些分层过多的系统,使用的就是树。通常在优化的数据结构中,使用更多的是叫做二叉树的数据结构这是基于树的数据结构,一个根节点只有两个孩子结点,在下一节我们将会对二叉树进行剖析,敬请期待。原创 2024-07-15 11:39:43 · 1583 阅读 · 17 评论 -
【数据结构】线性表----队列详解
队列作为一种重要的数据结构,具有简单但实用的特性。在本文中,我们介绍了队列的基本概念、实现方法、常见操作、实际应用以及使用时需要注意的问题。通过实践代码示例,相信读者能更好地理解和掌握队列的使用。队列在编程中的应用广泛,相信掌握了它将为你的编程技能打下坚实的基础。原创 2024-07-11 10:18:37 · 1709 阅读 · 9 评论 -
【数据结构】线性表----栈详解
栈(Stack)是一种常见的数据结构,它具有**后进先出(Last In, First Out, LIFO)**的特点。栈的运作类似于物理世界中的叠盘子:最新放上去的盘子最先被拿走,而最底部的盘子最后才能被取出。如果你先拿底下的盘子,那么就有可能出现整个盘子组全部倒塌碎落一地——这也就是所谓的栈出错。栈有着的特点。所以它的出栈和入栈也遵循着这个特点。我们在存取元素的时候,一般是在进行——也就是所谓的盘子顶;而另一端称为,一般就是数据结构的头结点。入栈出栈的顺序只需记住:顺序必须有规律,例如。原创 2024-07-08 16:25:47 · 1584 阅读 · 5 评论 -
【数据结构】复杂度的重要性—–决定程序运行的效率
在我们写算法的时候,常常会需要考虑一个问题:这个算法好不好?而这个“好”实际上就取决于是算法的复杂度。算法复杂度)是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。应用于数学和计算机导论。我们知道,同一个问题可以使用不同的算法来解决,而这里的不同一般来说也是可以从复杂度来看出的,当然,也不排除有相同复杂度但不同写法的算法,这里只作参考。一个算法的好坏影响到了很多实际性的问题,在程序中效率是极其重要的,一个算法的评价主要从时间复杂度和空间复杂度来考虑。原创 2024-06-03 10:20:04 · 2736 阅读 · 95 评论 -
【算法】----BF算法&KMP算法
请想象一个情景:当你脑海中突然浮现出一个词,你该怎么去找到这个词的有关内容?打开我们浏览器的搜索框,你想的这个词,然后点击。浏览器就会自动搜索与该词匹配的内容。这个过程实际上可以简化成以下形式:有一个,一个(也叫),现在要查找在中的位置。我们今天所讨论的两个算法就是有关该过程的算法。事实上,对于检索,无非就是两个字符串的匹配过程,模式串是你想要匹配的串,主串是你搜索所在串。针对模式串中的一个个字符与主串进行匹配,匹配成功则继续往后匹配;原创 2024-04-24 23:47:20 · 1538 阅读 · 4 评论
分享