广度优先遍历广度优先遍历是非常常见和普遍的一种图的遍历方法了,除了BFS还有DFS也就是深度优先遍历方法,我在我下一篇博客里面会写。遍历过程相信每个看这篇博客的人,都能看懂邻接链表存储图。
不懂的人,请先学下图的存储方法。在我的之前博客里。
传送门:图表示方法然后我们假设有一个图如下:
节点1->3->NULL
节点2->NULL
节点3->2->4->NULL
节点4->...
分类:
编程语言 时间:
2015-04-01 07:07:28
阅读次数:
173
贪心法:贪?算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪?心策略的选择,选择的贪?策略必须具备?后效性,即某个状态以后的过程不会影响以前的状态,只...
分类:
编程语言 时间:
2015-03-31 22:11:10
阅读次数:
244
在吴学长的代码上做了一点简化修改,本质一样。在外面铺了一圈0,让代码更简单一点,不用考虑边界情况了。题目: http://acm.sjtu.edu.cn/OnlineJudge/problem/1002#include #include using namespace std;int main(in...
分类:
编程语言 时间:
2015-03-31 19:59:29
阅读次数:
140
递归调用非递归调用
运行时间比较
结论
位运算与乘除法
结论递归调用/非递归调用我们都知道,很多算法,都是用递归实现的。当然它们同时也是可以用非递归来实现。一般我们在对二叉树进行遍历的时候,还有求斐波那契数的时候,递归是非常简单的。代码容易懂,好实现。但是递归的时候,有一个问题,就是需要压栈。为什么要压栈呢?因为当我在函数内部调用自身的时候,要中断当前的操作继续跳转到下一次的实现,而当前运行的状态要...
分类:
编程语言 时间:
2015-03-28 21:52:18
阅读次数:
229
欧几里得算法欧几里得算法也叫辗转相除法,是求两个整数最大公约数的算法。当然也可以求最小公倍数。算法实现其实算法的实现原理就是,有整数a b两个,每次求的一个数字r = a % b,然后把b放到a的位置,把r放到b的位置,递归调用。就是gcd(a, b) { return gcd(b, a%b); }这个样子的。结束条件是当 a%b == 0的时候停止。最大公约数//
// main.cpp
//...
分类:
编程语言 时间:
2015-03-28 01:13:58
阅读次数:
243
也有好几天没记录算法学习情况了,这两天看了《算法导论》的第二部分,排序和顺序统计学,记录一下,也顺便增强记忆1.堆排序 就是最大堆和最小堆,用一维数组存储,数据结构是完全二叉树。主要过程分为构建最大/最小堆,插入操作,弹出最大值,取最大/最小值,改变堆中的权值。 构建堆就是从第一个非叶子节点...
分类:
编程语言 时间:
2015-03-21 22:50:14
阅读次数:
215
首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使用到一 个SSH Secure Shell Cilent的工具,本文也是基于此工具加密原...
分类:
编程语言 时间:
2015-03-18 18:45:01
阅读次数:
175
压缩图像超分辨率重建算法学习
超分辨率重建是由一幅或多幅的低分辨率图像重构高分辨率图像,如由4幅1m分辨率的遥感图像重构分辨率0.25m分辨率图像,在军用/民用上都有很大应用。目前的超分辨率重建方法主要分为3类:基于插值、基于学习、基于重建的方法,如今已经研究得比较多。但是大多数算法都是对普通图像进行研究,针对压缩图像/视频超分辨率重建的研究比较少。最近查阅部分文献,进行了学习,在...
分类:
编程语言 时间:
2015-03-18 10:42:36
阅读次数:
118
题目这个题目是我在写 LeetCode Largest Number 的时候看到的题目.题目意思是给你一组数字,例如:
[3, 30, 34, 5, 9]
那么所能拼成的最大数字应该是:
9534330
解题思路其实这个题目我们很容易发现,就是把数字按照我们想要的大小排序就好了。先看如何比较,通常我们的想法应该是直接比较,或者按照位比较。可是那样情况就太多了,例如:a=3; b=4很容易得出...
分类:
编程语言 时间:
2015-03-17 21:55:16
阅读次数:
284
bubblesort.c这是维基百科上的说明,很详细 #include?<stdio.h>
#include?<stdlib.h>
#include?<time.h> int?main(int?argc,?char?*argv[])
{
????int?arr[10];
????srand(time(NULL));
????...
分类:
编程语言 时间:
2015-03-17 14:27:37
阅读次数:
215