algorithm
文章平均质量分 58
Bazingaea
生命不息 学习不止
展开
-
十大排序算法【java代码】
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]冒泡排序插入排序选择排序希尔排序归并排序快速排序堆排序计数排序基数排序桶排序参考了这篇博客总体总结表:这个有个错误就是归并排序需要一个o(n)的辅助数组 冒泡排序主要思想:外层循环从1到n-1,内循环从当前外层的元素的下一个转载 2016-10-17 21:49:11 · 770 阅读 · 0 评论 -
回溯法解决2n皇后(8皇后)问题
8皇后问题是算法入门的经典,在8*8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后都不能处于同一行,同一列,或者同一斜线上。关于8皇后的解法请见:http://www.cnblogs.com/newflydd/p/5091646.html今天要说的2n皇后问题与传统的8皇后问题有些不同,在一个n*n的棋盘中,有些位置不允许放皇后,现在要向棋盘中放入n个黑皇后和n个白原创 2017-02-06 17:15:46 · 2990 阅读 · 1 评论 -
KMP算法字符串匹配
关于KMP的资料不算少,但是都不是很好理解(个人看法),所以自己整理一下,加深记忆。KMP算法是解决字符串匹配问题的较高效算法,字符串匹配问题是常见的算法问题。给出两个字符串,分别为母串和子串,字符串匹配就是为了在母串中找到该子串。正常的思路是逐个去匹配,也就是下面几个步骤1.首先用子串的第一个字符去匹配母串的第一个字符2.若匹配成功,即两个字符相等,则继续匹配下一个,原创 2017-02-21 23:30:05 · 596 阅读 · 0 评论 -
动态规划-蓝桥杯-入学考试-采草药问题
动态规划虽然归结为是算法,但它给出的其实是解决某一类问题的思路,并不是有特定的代码或者数学公式。刚开始接触动态规划都会比较难理解,我自己理解也不是很深刻,本着通俗易懂的原则,做个记录。1.什么样的问题可以用动态规划要用动态规划的问题还是有很明显的特征的,最显著的就是子问题重叠,子问题重叠就是从最开始的问题引申出来的子问题都是和开始问题极其相似的,除了数据不同其他问题形式都相原创 2017-03-16 23:03:56 · 1788 阅读 · 0 评论 -
方格填数 蓝桥杯
方格填数如下的10个格子填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。思路:这道题和n皇后问题很像,最开始的思路就是模仿n皇后,采用逐行摆放的方法,写完代码以原创 2017-04-04 15:10:19 · 1863 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环是一个数学应用问题,已知N个人,从1开始编号,围坐一张圆桌周围,从编号K开始报数,数到M那个人出列然后他的下一个人接着从1开始报数(注意这点很关键,需要考虑到循环报数),依次类推直到队伍中只有一个人,或者说所有人都全部出列。 下面说的问题是和约瑟夫问题本质一样的,是一道经典C语言编程题目【大家一起做游戏】题目描述是这样的:幼儿园的小朋友们刚学习了如何数数,阿姨在下课...原创 2018-02-28 22:17:46 · 871 阅读 · 0 评论 -
黑色星期五
题目大意就是一年中某个月的13号正好是星期五的话,就寓意不详,称黑色星期五输入:年份输出:日期 如果能根据任意给出的一个日期判断出它是星期几,这个问题就很好解决了,java中有封装好的类库可以实现已知日期得到星期几,c++中的没有了解,网上也有很多不同的解决方法,这里用了一个十分讨巧的办法,日后学习了其他方法再更新。 通过日期得到星期可以用基姆拉尔森公式得到约定下式中 ...原创 2018-02-27 21:09:15 · 879 阅读 · 0 评论 -
康托编码与解码
原文地址:https://blog.csdn.net/neutre/article/details/78065633对于一个集合 {1,2,3,…,n},很明显它有 n! 种全排列,把它们全都按照字典序排好序(从小到大),对应顺序{1,2,3,…,n!},假如问你第X个全排列是什么,或者某个全排列在其中的序号是多少,可以利用康拓展开式来求。康托展开式:X = a[n]*(n-1...原创 2019-03-05 20:43:04 · 1001 阅读 · 2 评论