算法网上很多,这里只是我手写的可执行的代码,备份用。#include<iostream>
#include<vector>
#include<queue>
usingnamespacestd;
structnode{
charelement;
structnode*left;
structnode*right;
//structnode*parent;
node(chara){
element=a;
}..
分类:
其他好文 时间:
2014-09-22 12:28:43
阅读次数:
229
实验目的1. 掌握图的各种存储结构,特别要熟练掌握邻接矩阵和邻接表存储结构。2.遍历是图各种应用的算法的基础,要熟练掌握图的深度优先遍历和广度优先遍历算法,复习栈和队列的应用。实验内容程序1/* 定义邻接矩阵类型 */typedef int adjmatrix[n+1][n+1]; /* 建立图.....
分类:
其他好文 时间:
2014-09-09 10:55:58
阅读次数:
448
问题:
1. 一个由N个整数元素的一维数组,求其所有子数组中元素和的最大值。
2. 如果数组首尾相邻,也就是允许子数组A[i],...,A[n-1],A[0],...,A[j]存在,求其所有子数组总元素和的最大值。
解法1:
/* O(n^2) 遍历算法 */
static int maxSubarraySum1(int *a,int a_len){
int max_su...
分类:
其他好文 时间:
2014-09-05 18:13:51
阅读次数:
227
网格路径问题,中文翻译如下:
从 22的格子的左上角开始,只允许向右和向下移动,一共有六种路径可以抵达右下角
那么在2020的路径中一共有多少条这样的路径?
原题如下:
Starting in the top left corner of a 22 grid,
and only being able to move to the right and down...
分类:
编程语言 时间:
2014-08-18 16:33:02
阅读次数:
232
首先来看看set集合容器:
set集合容器实现了红黑树的平衡二叉树数据结构,在插入元素时它会自动调整二叉树的排列,把该元素放到适当的位置,并且
保证左右子树平衡。平衡二叉检索树采用中序遍历算法。
对于set,vector,map等等,它们的前向迭代器定义是这样的(以set为例):
set::iterator it;
for(it=s.be...
分类:
其他好文 时间:
2014-08-07 19:01:10
阅读次数:
269
题目:对于一颗完全二叉树,要求给所有节点加上一个pNext指针,指向同一层的相邻节点;如果当前节点已经是该层的最后一个节点,则将pNext指针指向NULL;给出程序实现,并分析时间复杂度和空间复杂度。
运用队列,按层遍历,每次遍历一层时,添加新指针,由于每个节点只需要进队一次出队一次,时间复杂度为O(n),空间复杂度为O(n),具体代码如下:
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-06 19:10:42
阅读次数:
184
在网上看到的算法,跟之前自己写的一个非遍历算法类似,先记录下来。非递归:import java.io.File;import java.util.LinkedList;public class FileSystem { public static void main(String[] args...
分类:
编程语言 时间:
2014-07-24 17:31:15
阅读次数:
421
递归算法大家都不陌生,当需要重复计算相同问题时,一般可以选择递归和循环两种算法。又因为递归实现起来代码比较简洁,所以通常都会使用递归来解决上述问题。比如斐波那契数列,再比如树的前序、中序、后续遍历算法。
递归算法虽然是有代码简洁这个优点,但是其缺点显著。因为递归函数是在执行过程中调用其自身,所以会占用大量的栈上空间,并且压栈和出栈都是有时间消耗的。所以从这一点上来看,递归的效率是不如循环。除...
分类:
其他好文 时间:
2014-07-24 12:24:15
阅读次数:
438