
算法
文章平均质量分 71
T_tangc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划-最长公共子序列
动态规划思想: 将待求解的问题分解成若干子问题,现求解子问题,然后从这些子问题得到问题的解,子问题之间不是独立的,并且将保存子问题的解一般步骤 1.找出最优解的性质,并刻画其结构特征 2.递归定义最优值 3.以自底向上的方式计算出最优值 4.根据计算最优值时得到的信息,构造最优解 由此可以看出动态规划的两个重要性质:最优子结构(最优解包含其子问题最优解)和重叠子问题原创 2018-02-01 10:28:35 · 181 阅读 · 0 评论 -
常用排序算法小结
按照上图顺序依次展开插入排序直接插入排序//插入排序//思想: 每次取 a[end+1] 向【0,end】插入 //一定要细心 end 到0 都要比 最后出来的 //最坏情况 O(N^2) 1+2+3+4+...+n 每次都要调整(给的是个逆序) //最好情况 O(N) 本来就是有序的//平均情况 O(N^2)void InsertSort()原创 2018-01-28 14:17:58 · 251 阅读 · 0 评论 -
n皇后问题
问题描述在n×n的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处于同一行或同一列或同一斜线上的旗子。于是n后问题等价于在棋盘上放置n个皇后,任何2个皇后不在同一行或同一列或同一斜线上。n皇后问题有解的前提是仅当 皇后个数 = 1 或 n ≥ 4 。算法设计我们用n元数组x[1:n]表示n后问题的解,x[i]表示皇后i放置在第i行的第x[i]列,由于不允许将原创 2018-01-29 22:38:17 · 496 阅读 · 0 评论 -
动态规划解决01背包问题
一、问题描述:有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?二、总体思路:根据动态规划解题步骤(问题抽象化、建立模型、寻找约束条件、判断是否满足最优性原理、找大问题与小问题的递推关系式、填表、寻找解组成)找出01背包问题的最优解以及解组成,然后编写代码实现;三、动态规划的原理及过程: eg:number=4,capacity=8转载 2018-04-08 21:27:05 · 147 阅读 · 0 评论 -
贪心算法-最短路径
贪心算法介绍贪心算法总是做出在当前看来最好的选择,也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择,虽然贪心算法不能对所有问题都得到整体最优解,但是对许多问题它能产生整体最优解.贪心算法的基本要素贪心选择性质 它是指所求问题的整体最优解可以通过一系列局部最优的选择来达到。这是贪心算法一个非常重要的要素,也是和动态规划算法的主要区别,在贪心算法中,仅...原创 2018-04-10 18:08:03 · 11699 阅读 · 1 评论 -
字符串匹配的KMP算法
字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完...转载 2018-04-22 21:47:23 · 126 阅读 · 0 评论 -
顺时针打印矩阵
题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.例如:如果输入以下矩阵: 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 解题思路把矩阵看成有若干个顺时针方向的圈组成 由此可见,这道题包含多个循环,比较难的也就是在于循环的边界条件控制,我们可以这样来想就是,用左上和右下的坐标定位出一次要旋转打印的数据,一次旋转打印结束原创 2018-04-25 10:23:28 · 177 阅读 · 0 评论 -
为什么要在密码里加点“盐”
盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。以上这句话是维基百科上对于 Salt 的定义,但是仅凭这句话还是很难理解什么叫 Salt,以及它究竟起到什么作用。第一代密码早期的软件系统或者互联网应用,数据库中设计用户表的时候,大致是这样的结构:mysql> desc ...转载 2018-07-16 16:55:33 · 1793 阅读 · 2 评论