- 博客(13)
- 资源 (21)
- 收藏
- 关注
原创 0012算法笔记——【动态规划】最长公共子串问题
1、问题相关定义: (1)字符串:一个字符串S是将n 个字符顺次排列形成的数组, n称为S的长度,表示为len(S) 。S的第i字符表示为S[ i ]。 (2)子串:字符串S的子串S[ i:j ] ( i ≤ j)表示S串中从i到j这一段,也就是排列S[ i ] , S[ i + 1 ] , ⋯,S[ j ] 形成的字符串。 (3)后缀:后缀是指从
2013-01-23 11:14:53 27364 1
原创 0011算法笔记——【动态规划】最长公共子序列问题(LCS)
问题描述:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X= { x1, x2,…, xm},则另一序列Z= {z1, z2,…, zk}是X的子序列是指存在一个严格递增的下标序列 {i1, i2,…, ik},使得对于所有j=1,2,…,k有 Xij=Zj。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标
2013-01-14 18:56:37 16059 2
原创 0010算法笔记——【动态规划】矩阵连乘问题
问题描述:给定n个矩阵:A1,A2,...,An,其中Ai与Ai+1是可乘的,i=1,2...,n-1。确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。输入数据为矩阵个数和每个矩阵规模,输出结果为计算矩阵连乘积的计算次序和最少数乘次数。 问题解析:由于矩阵乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这种计算次序可以用加括号的方式来确定。若一
2013-01-13 20:09:17 104531 25
原创 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
1、动态规划算法: 动态规划:通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。 基本思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的
2013-01-12 15:20:30 19305 3
原创 0008算法笔记——【分治法】循环赛事日程表
问题描述: 设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能参赛一次; (3)循环赛在n-1天内结束。 请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个选手在第j天所遇到的选手。其中1≤i
2013-01-10 11:58:08 46097 13
原创 0007算法笔记——【分治法】最接近点对问题
问题场景:在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一。 问题描述:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点对的
2013-01-09 22:09:13 79273 26
原创 0006算法笔记——【分治法】线性时间选择
线性时间选择问题:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,(这里给定的线性集是无序的)。 1、随机划分线性选择 线性时间选择随机划分法可以模仿随机化快速排序算法设计。基本思想是对输入数组进行递归划分,与快速排序不同的是,它只对划分出的子数组之一进行递归处理。 程序清单如下://2d9-1 随机划分线性
2013-01-08 17:43:20 39892 15
原创 0005算法笔记——【分治法】快速排序
1、未优化的快速排序 快速排序的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 程序清单如下://2d8-1 未优化的快速排序#include "stdafx.h"#include usi
2013-01-07 21:37:10 7238 2
原创 0004算法笔记——【分治法】合并排序
合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序,合并排序也叫归并排序。
2013-01-07 20:16:51 9911 1
原创 0003算法笔记——【分治法】分治法与二分搜索,棋盘覆盖问题
1、分治法分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归的解这些子问题,然后将各子问题的解合并得到原问题的解。 分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出
2013-01-07 19:51:13 18415 1
原创 0002算法笔记——【递归】排列问题,整数划分问题,Hanoi问题
递归的概念想必大家都清楚,概念神马的直接略过。这里介绍递归相关的几个问题。 1、排列问题 设R={r1,r2,...,rn}是要进行排列的n个元素,Ri=R-{ri}。集合x中元素的全排列记为Perm(X)。(ri)Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri得到的排列。R的全排列可归纳如下: 当n=1时,Perm(R)=(r),其中r是集合中唯
2013-01-07 15:00:19 9637 3
转载 最简单的WIN7内核PE系统
绝对PE工具箱是一款可安装在硬盘、U盘、光盘使用的Windows PE工具集合,它可以快速为你实现一个独立于本地操作系统的临时win7操作系统,含有GHOST、硬盘分区、密码破解、数据恢复、修复引导等工具。其完全在内存中运行的特性可以帮助你以极高的权限访问硬盘,但为此你可能会付出惨痛的误操作代价。作为一个应急维护工具箱、最后的救命稻草,我相信它是你最好的选择!它是久经考验的通用PE工具箱的升级版本
2013-01-07 12:06:35 5224
原创 0001算法笔记——NP完全理论
说来遗憾,在CSDN这么久,一直都是转载和收藏同行精英门写的好文章。这也许就是自己编程水平久久上不去的原因吧,是该改改东一榔头西一棒子的坏习惯了。耶稣说的对,“好记性不如烂笔头”,哥从现在开始要写原创文章了。这篇文章作为算法学习笔记开篇,本人学习算法是看的王晓东的《计算机算法设计与分析》。一开始是买了本《算法导论》,书到的时候翻了翻,砖头啊,那个难度恐怕乔帮主在世也未必能琢磨得透吧。还是看国产的书
2013-01-07 11:16:19 24612 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人