基础算法--枚举
社区首页 (3440)
请编写您的帖子内容
社区频道(8)
显示侧栏
卡片版式
全部
运营指南
问题求助
交流讨论
学习打卡
社区活动
博文收录
活动专区
最新发布
最新回复
标题
阅读量
内容评分
精选

8
评分
回复
基础算法--枚举
线性枚举指的是遍历某一个一维数组(顺序表)的所有元素,找到满足条件的那个元素并且返回,返回的可以是下标,也可以是元素本身。由于是遍历的,穷举了所有情况,所以一定是可以找到解的,除非问题本身无解。一些资料上也称之为暴力算法(Brute Force)线性模拟就是循环遍历的一种叫法,时间复杂度O(n),认识即可。ok~技能树成功点亮了一叶。如果在顺序表是有序的情况下,我们可以采取折半的方法去查找,这种方法称为二分枚举。查找算法--二分查找-CSDN博客这就是我们的二分法,时间复杂度为O(logn)。
复制链接 扫一扫
分享
交流讨论

7
评分
回复
基础算法--高精度数据(2)
本节继续上节内容:高精度数据处理。本节主题是回文数。难吗?没有吧。初始化数据不知道吗?也许你只是差一点思路,不知道怎么维护而已,但上节我们讲了,这节也讲了,下次你还不会吗?不能吧。如何判断回文数不会吗?这么简单的对称判断问题而已。核心步骤之所以称之为核心步骤,是因为最后的结果是由这个步骤进行决定的,每一次的数据变化都是有规律可以寻找的,我们习惯了十进制,我们写个X进制的,不管写没写出来,那这就是进步。你比那些只看不动手的人强多了。
复制链接 扫一扫
分享
交流讨论

9
评分
回复
基础算法--前缀和
前缀和算法是一种用空间换事件的算法,常用于解决某些题目或作为高级算法的组成部分。它可以用于快速计算数组元素之和,通过预先计算数组中每个位置前所有元素的累加和,将这些部分和存储在一个新数组中,从而在需要计算某个区间的和时,可以通过简单的减法操作得到结果,而不必重新遍历整个区间。
复制链接 扫一扫
分享
交流讨论

9
评分
回复
基础算法--高精度数据(1)
高精度数据处理一般内容简单,写代码难度较大,可能部分内容涉及基础数学、初等数论等知识。请小心食用。不过本节不会给大家太难的高精度处理,我们第一次接触,不能劝退大家对吧。高精度算法是指,利用基础或高级的数学计算原理,来解决题目给出的数据量超出计算机正常存储范围的数据的一个方式。例如:你知道了用数组元素存储数位;你知道了朴实无华的运算规律/方法;你知道了完成一道题的分析步骤;你初步知道如何处理高精度数据了......只要你认真看完了,思考了学会了,你收获的远不止这些。哪里不懂,尽管留言,我看到就回复你。
复制链接 扫一扫
分享
交流讨论

9
评分
回复
基础算法--递推算法
本节所讲题源自【信奥一本通】C++版:基础算法-第三章-递推算法相信大家应该都接触过数列的概念。哎哟,一直在跟数组打交道,说数列感觉好陌生,哈哈。数列中的迭代法大家都还记得吗:通过反复应用特定规则,推导出某一点起始的连续的后续数列。我们的递推也是这样,给出一些初始值,从题目中找出后续数据应该与已知数据存在哪些关系,能不能写出一个公式或者经过同种操作进行反复推导,得出结论。在数学中我们是数列+递推公式+迭代计算,对应到我们的编码中,就是数组+递推公式+循环实现。
复制链接 扫一扫
分享
交流讨论

8
评分
回复
查找算法--二分查找
对于查找功能,我们最简单的就是循环遍历,找到满足条件的结果就结束。假如有n个数据,我们要查的值为第n个的时候,我们需要执行循环n次才能找到。(即时间复杂度为:O(n));假如我们有一个有序整型数组,依次放入数据1、2、3...n,我们要找到中间的数据h(h
复制链接 扫一扫
分享
交流讨论

8
评分
回复
排序算法--计数排序
计数排序是一种线性时间的排序算法,适用于整数或有限范围内的非负整数排序。它的核心思想是通过计数每个元素的出现次数来进行排序。计数排序不是比较排序,速度快于任何比较排序算法。但对于数据范围很大的数组,需要大量时间和内存。并且由于目前我们的机器的内存比较充足,为了提高机器的运行效率,就利用了空间换时间的思想。下面,我们详细说说计数排序的内容。
复制链接 扫一扫
分享
交流讨论

7
评分
回复
排序算法--快速排序
对于快排而言,最优的情况就是,每次划分的都很均匀,假设要排序n个元素,第一次划分的时候,需要对整个数组扫描一下,做n次比较的时间为T(n)。最初要划分的土地尺寸为1680*640,而现在要划分的土地更小,为640*400.适用于这小块地的最大方块,也是适用于整块地的最大方块。如果子数组是有序的,就可以像下面这样合并并得到一个有序的数组:左边的数组+基准值+右边的数组。余下的这块土地,满足基线条件,因为160是80的整数倍2倍,将这两块土地划分为两个方块后,将不会余下任何土地。其实就是根本不需要排序的数组。
复制链接 扫一扫
分享
交流讨论

8
评分
回复
排序算法--归并排序
合并的步骤:先申请两个数组合并后那么大小的空间,然后将两个排好序的数组逐一进行比较,往申请空间里面放。第二步:将两两有序的数组进行合并,将两个有序的数组合并成一个有序数组。重复第二步,直至排序完成。第一步:将数组进行分解,当分解成单个元素为一组的时候,才是组内有序的。归并排序的思想:将两个有序的数组合并成一个有序的数组。
复制链接 扫一扫
分享
交流讨论

8
评分
回复
排序算法--插入排序
插入前,将第3次的数据进行存储int tmp=arr[3],然后tmp与arr[2]进行比较,tmp
复制链接 扫一扫
分享
交流讨论

8
评分
回复
排序算法--冒泡与选择
排序算法有很多,在我们学习数组那一章节的时候,就给大家列过许多的排序代码。本节我们讲两个比较简单的排序算法:冒泡排序与选择排序。
复制链接 扫一扫
分享
交流讨论

19
评分
回复
帮助文档|教你玩转社区管理后台
https://bbs.csdn.net/topics/604167112
复制链接 扫一扫
分享
运营指南

20
评分
回复
个人社区|必读运营指南
https://bbs.csdn.net/topics/606873890
复制链接 扫一扫
分享
运营指南
为您搜索到以下结果: