算法
自由の翼Az
这个作者很懒,什么都没留下…
展开
-
十大经典排序算法——不能再详细了
影响排序性能的要素:时间性能;辅助空间算法的复杂度简单排序【n^2】算法思想:第一趟:从第一个记录开始,通过n-1次关键字比较,从n个记录中选出最小的并和第一个记录交换;第二趟:从第二个记录开始,通过n-2次关键字比较,从n -1个记录中选出最小的并和第二个记录交换;复杂度稳稳的是0(n2),几乎被抛弃void SimpleSort(){...原创 2019-11-29 23:50:54 · 855 阅读 · 0 评论 -
KMP算法——字符匹配
暴力匹配算法 假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配的思路,并假设现在文本串S匹配到i 位置,模式串P匹配到j 位置,则有: 如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符; 如果失配(即S[i]! = P[j]),令i = i - (j...原创 2019-11-27 21:55:34 · 197 阅读 · 0 评论 -
连通块【岛问题】总结
题目:给出一个mxn 的矩阵,矩阵中的元素为0或1。称位置(x,y)与其上下左右四个位置(x,y+1)、(x,y-1)、(x+1,y)、(x-1,y)是相邻的。如果矩阵中有若干个1是相邻的(不必两两相邻),那么称这些1构成了一个“块”。求给定的矩阵中“块”的个数。 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1...原创 2019-11-25 21:10:32 · 357 阅读 · 0 评论 -
背包问题总结
背包问题是一个np问题:一般题意为: 存在n件物品,每件物品的重量为w[i],价值为v[i],现在有一个包,承重限制为weight,现在让你从n件物品中,选择一些物品装入背包中,在不超重的前提下,使得背包中所装物品的总价值最大。 由于每件物品【应该是每种物品】存在着两种情况,一种是,每种物品唯有一件,这种情况称为0-1背包问题; 另一种是,每种物品有无数件,这种情况称为完全背...原创 2019-11-25 20:43:17 · 162 阅读 · 0 评论 -
寻找最长回文子串
最长回文子串的问题描述:给出一个字符串S,求S的最长回文子串的长度。样例:字符串"PATZJUJZTACCBCC"的最长回文子串为“ATZJUJZTA”,长度为9。先看暴力解法:枚举子串的两个端点i和j,判断在i,区间内的子串是否回文。从复杂度上来看,枚举端点需要O(n2),判断回文需要O(n),因此总复杂度是O(n3)。介绍动态规划的方法,使用动态规划可以达到...原创 2019-11-24 20:18:00 · 104 阅读 · 0 评论 -
左神算法基础班第3课第13题深度拷贝含有随机指针的链表
左神算法基础班第3课第13题深度拷贝含有随机指针的链表Problem:复制含有随机指针节点的链表【题目】 一种特殊的链表节点类描述如下:public class Node {public int value; public Node next; publicNode rand;public Node(int data) { this.value = data; }}Node类中的...原创 2019-06-09 14:15:05 · 119 阅读 · 0 评论 -
左神算法基础班第4章第3题:在二叉树中找到一个节点的后继节点
在二叉树中找到一个节点的后继节点Problem: 在二叉树中找到一个节点的后继节点 【题目】 现在有一种新的二叉树节点类型如下:public class Node { public int value; public Node left; public Node right; public Node parent; public Node(int data...原创 2019-06-09 20:59:37 · 271 阅读 · 0 评论