算法
尘世猫
一个会画工图的程序猿
展开
-
筛选法判断素数
作为计算机小白,今天碰到筛选法判断素数,刚开始有点不理解,特此记录一下。关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。正如大家都知道的那样,一个数 n 如果是合数,那么它的所有的因子不超过sqrt(n)–n的开方,那么我们可以用这个性质用最直观的方法来求出小于等于n的所有的素数。普通方法1 //最普...原创 2020-01-10 21:04:36 · 203 阅读 · 0 评论 -
二分
二分查找二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,查找到了返回对应的数组下标,没有找到返回-1;时间复杂度:O(log2n)如下示例,其中有序数组中, 是按照从小到大的顺序排列的。int binarySearch(int a[],int left,int right,int x)//传入初值为[0,n-1]{ int mid; while...原创 2020-02-06 12:32:09 · 103 阅读 · 0 评论 -
贪心算法(C代码)
简单贪心:贪心法是求解一类最优化问题的的方法,它总是考虑在当前状态下局部最优(或较优)策略,来使全局的结果达到最优(或较优)。显然,如果采取较优而非最优的策略,得到的全局结果也无法是最优的。因此严谨使用贪心法来求解最优化问题需要对采取的策略进行证明,证明一般使用反证法和数学归纳法,即假设策略下不能导致最优解,然后通过一系列推导得出矛盾,以此证明最优,最后用数学归纳法保证全局最优。例题1: 现给定...原创 2020-02-05 09:44:55 · 1881 阅读 · 0 评论 -
八皇后问题(递归回溯算法详解+C代码)
为了理解“递归回溯”的思想,我们不妨先将4位皇后打入冷宫,留下剩下的4位安排进4x4的格子中且不能互相打架,有多少种安排方法呢?现在我们把第一个皇后放在第一个格子,被涂黑的地方是不能放皇后的:第二行的皇后只能放在第三格或第四格,比如我们放在第三格:此时,第三个皇后只有一个位置可选。当第三个皇后占据第三行蓝色空位时,第四行皇后无路可走,于是发生错误,则返回上层调整3号皇后,而3号皇后也别无可去...转载 2020-02-04 10:56:07 · 581 阅读 · 0 评论 -
分治思想
分治:也叫分而治之,分治法将原问题划分为若干个规模较小而结构与原问题相同或相似的子问题,然后分别解决这些子问题,最后合并问题的解。分治法一般有三个步骤:分解:将原问题分解为若干和原问题拥有相同或相似结构的子问题;解决:递归求解所有子问题。如果存在子问题的规模小到可以直接解决,则直接解决它;合并,将子问题的解合并为原问题的解。三、分治法适用的情况分治法所能解决的问题一般具有以下几个...转载 2020-02-04 09:21:21 · 182 阅读 · 0 评论