- 博客(3)
- 收藏
- 关注
原创 最长公共递增子序列(C++实现)
典型的动态规划题目,可以吧题目转化为最长公共子序列问题,输入一个序列,然后将其排序,储存在另一个数组中。然后求两个数组的最长公共子序列,求出的最长公共子序列即为输入序列的最长递增子序列。本文还有一个关键部分就是输出所有的最长递增子序列,代码中使用了一个path[N+1][N+1]数组记录过程,并用回溯的方法输出。#include #includeusing namespac
2012-03-25 12:29:14 3422 1
原创 迪杰斯特拉求最短路径(JAVA实现)
Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。求最短路径步骤 算法步骤如下: 1. 初使时令 S={V0},T={其余顶点},T中顶点对应的距离值 若存在,d(V0,Vi)为弧上的权值 若不存在,d(V0,Vi)为∝ 2. 从T中选取一个
2012-03-25 12:01:30 12103 1
原创 图的深度、广度优先搜索(JAVA实现)
深度优先遍历:顾名思义,就是一条路走到黑,走到最深的地方。当无路可走时,就返回上一步向其他路走,若没有其他路,则在返回一层,本方法可以通过递归来实现,但这次我是使用栈来实现的,把每一层的数据存储在栈中,用boolean型的vis[MAXN][MAXN]数组记录是否访问过,其中通过使用栈来实现记录访问路径过程,以便于回溯:import java.util.*;public class DFS
2012-03-25 11:53:07 11392 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人