自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

转载 SwingConsole

Java的Swing默认不是线程安全的,类的调度应该由线程分派器来安排。如果每个类都各个各的调度,有可能造成线程紊乱,带来一些难以检测的错误。 对于编写实验性代码(每次都只有一个JFrame),如果每次都要编写重复的main函数,显然太浪费精力。利用Java的反射机制,可以编写一个通用的“Swing控制台”用作调度其他类。另外,将代码做一些简单的修改就可以应...

2014-05-13 08:41:00 401

转载 背包

背包是一种不支持从中删除元素的数据集合。它的目的是帮助用例收集元素并迭代遍历所有收集到的元素。迭代遍历的顺序没有要求(实现代码中是后进先出)。使用链表以及泛型机制来实现可以达到最优设计目标:  (1)可以处理任意类型的数据;  (2)所需的空间总是和集合的大小成正比;  (3)操作所需的时间总是和集合的大小无关。 1 import java.util.Iterat...

2014-05-09 08:51:00 166

转载 队列

队列是一种基于先进先出策略的数据集合。使用链表以及泛型机制来实现可以达到最优设计目标:  (1)可以处理任意类型的数据;  (2)所需的空间总是和集合的大小成正比;  (3)操作所需的时间总是和集合的大小无关。 1 import java.util.Scanner; 2 import java.util.Iterator; 3 4 public cl...

2014-05-09 08:50:00 179

转载

栈是一种基于后进先出的数据集合。用链表实现比数组实现更加高效。使用链表以及泛型机制来实现可以达到最优设计目标:  (1)可以处理任意类型的数据;  (2)所需的空间总是和集合的大小成正比;  (3)操作所需的时间总是和集合的大小无关。××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××...

2014-05-09 08:47:00 138

转载 有理数类

1 public class Rational { 2 3 private int numerator; 4 private int denominator; 5 6 public Rational(int aNumerator, int aDenominator){ 7 int r = gcd(aDenomina...

2014-05-07 21:33:00 116

转载 POJ 2376 贪心

题意:FJ希望它的牛做一些清洁工作。有N只牛和T个时间段,每只牛可以承担一段时间内的工作。FJ希望让最小数量的牛覆盖整个T,求出其数量。若无法覆盖整个T,则输出-1.分析:首先要注意T表示T个时间段,也就是说1就是一个时间段,而[1, 2]是两个时间段。在这个问题上,我们要做到的是用最小的牛覆盖整个区间。比较容易想到的是先将牛按开始时间排序,因为如果一开始就覆盖不了那么后续就没有意义...

2014-03-18 08:48:00 71

转载 AOJ 0525 穷举

题意:有一个烤饼器可以烤r行c列的煎饼,煎饼可以正面朝上(用1表示)也可以背面朝上(用0表示)。一次可将同一行或同一列的煎饼全部翻转。现在需要把尽可能多的煎饼翻成正面朝上,问最多能使多少煎饼正面朝上? 输入:多组输入,每组第一行为二整数r, c (1 ≤ r ≤ 10, 1 ≤ c ≤ 10 000),剩下r行c列表示煎饼初始状态。r=c=0表示输入结束。 输出:对于每组输入,输出最多能...

2014-03-17 16:22:00 83

转载 POJ 3050 穷举

题意:给定一个5*5的地图,每个格子上有一个数字。从一个格子出发(上下左右4个方向),走5步将数字连起来可以构造出一个6位数。问该地图可以构造出多少个不同的6位数。分析:可以对每个格子做深度优先遍历,构造出所有数字,但要注意不要重复计数。在这里,我使用了set来保存已构造出的数字,结果就是set中的元素个数。 1 #include <cstdio> 2 #in...

2014-03-16 19:18:00 123

转载 《腾云:云计算和大数据时代网络技术揭秘》1+2读书笔记

  SDN的基础理论部分学得差不多,剩下就是搭建环境来做了。暂时还不想做,忽然想看看什么是云计算,所以买了这本书。  第一章主要是简介,没有什么理论知识,但可以对云计算有一个初步概念。  首先要说的是CSA(Cloud Security Alliance)提出的云计算定义:云计算的本质是一种服务提供模型,通过这种模型可以随时、随地、按需地通过网络访问共享资源池的 资源,这个资源池...

2014-03-15 11:18:00 202

转载 POJ 3187 穷举

题意:已知有N个数分别为1-N,如下图为4个数。相邻两两相加直至只剩下一个数,下图的结果就是16。     3  1   2   4      4   3   6        7   9         16  现在反过来看,告诉你数的个数N和最终结果,问这N个数的初始序列是什么。求出字典序最小的初始序列。上图的初始序列也可以是3 2 1 4,但这不是字...

2014-03-15 09:54:00 68

转载 POJ 2718 穷举

题意:给定一组数字,如0, 1, 2, 4, 6, 7,用这些数字组成两个数,并使这两个数之差最小。求这个最小差。在这个例子上,就是204和176,差为28。分析:首先可以想到,这两个数必定是用各一半数量的数字组成的数,如给出6个数,把这6个数分为两组,每组3个,这样组成的数字的差必定比其他方式小。接下来的任务就是穷举所有可能出现的组合,并求出最小差。在这里可以使用STL的next_...

2014-03-14 10:11:00 82

转载 《鸟哥Linux私房菜基础学习篇》命令索引

  在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找。这包括了前两部分。主要是按页码顺序。P118  date:显示日期与时间  cal:显示日历  bc:计算器P121  [Tab]:命令补全或文件补全  [Ctrl]-c:强制中断  [Ctrl]-d:EOF或exitP123  man:操作说明P127  info:...

2014-03-13 16:05:00 85

转载 博文流

  近期尝试将一些东西写成博文发出来,新的旧的也写写,整理一下思路。另外,将不会再更新《SDN核心技术剖析和实战指南》的读书笔记,基础部分也写得差不多了。  大三下学期了,努力做点事情。转载于:https://www.cnblogs.com/7hat/p/3597829.html...

2014-03-13 09:27:00 84

转载 《SDN核心技术剖析和实战指南》3.3读书笔记

  这一节主要是介绍几种开源的SDN控制器。  NOX/POX。最初的NOX混合了C++和Python两种编程语言,现在演变为两个版本。NOX版本主要面向Linux平台,利用C++开发,目标是提供快速的控制平台;POX版本面向Windows、Mac OS、Linux等多种平台,利用Python开发,目标是提供控制器部署的便利性。两者可以看作是同一种控制器。  NOX采用了组件化的...

2014-03-13 09:23:00 129

转载 AOJ 0121 广度优先搜索

题意:7数码问题。在2×4的棋盘上,摆有7个棋子,每个棋子上标有1至7的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格(用0表示),与空格相邻(上下左右)的棋子可以移到空格中,该棋子原先位置成为空格。给出一个初始状态(保证可以转移到最终状态),找出一种从初始状态转变成给定最终状态的移动棋子步数最少的移动步骤。输入:多组输入,每组8个数,表示初始状态前四个数为第一行从左到右,后...

2014-03-13 08:33:00 108

转载 《SDN核心技术剖析和实战指南》3.1控制器核心技术读书笔记

  在SDN的架构中,控制器可以说是SDN的核心,它负责对底层转发设备的控制以及向上层应用提供可编程性的北向接口。从实现上看,主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力。下面逐一描述。  南向网络控制技术主要包括通过南向接口协议进行链路发现、拓扑管理、策略制定、表项下发等。链路发现和拓扑管理主要是控制器利用交换机上报的信息进行同一管理(上行),而策略制定...

2014-03-12 11:18:00 143

转载 POJ 3669 广度优先搜索

题意:巨大流星雨即将袭来。每个流星会对击中的地方以及周围(上下左右四格)造成破坏。Bessie开始时位于(0, 0)位置,并希望逃到一处不会被袭击到的地方(在第一象限内)。已知每移动一格需要1个时间单位,被流星破坏后的地方不能再进入。给出M个流星在T时刻击中的地方(X, Y),问Bessie能否逃到安全的地方,若能输出最短时间,否则输出-1。分析:依旧是迷宫问题。不同的是,需要自己构...

2014-03-12 09:37:00 190

转载 《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结

  Open vSwitch(OVS)是一款基于软件实现的开源交换机。它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境。特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开源的虚拟化平台相整合。  (参考Open vSwitch官网:http://openvswitch.org/)  如上图所示。OVS两端连接着一块物理网卡和多块虚拟网卡(虚拟机中...

2014-03-11 16:33:00 159

转载 《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结

  OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持。如下图所示,OF-CONFIG在OpenFlow原来的框架上,新增了OpenFlow配置点对交换机进行配置和管理。(图摘自《SDN核心技术剖析和实战指南》)  OF-CONFIG对一些交换机的基本...

2014-03-11 16:07:00 202

转载 AOJ 0558 广度优先搜索

题意:在 H * W 的地图里有 N 个工厂,每个工厂分别生产硬度为1-N 的奶酪,有一只老鼠准备把所有奶酪都吃完。老鼠的初始体力值为1,每吃一个奶酪体力值加 1。已知老鼠不能吃硬度大于当前体力值的奶酪,老鼠只能向上下左右四个方向走,求吃完所有奶酪老鼠需要经过的最小步数。分析:简单迷宫问题。不同的是,老鼠需要按1-N 的顺序把奶酪吃完。用广度优先搜索很容易求出起点到终点的最小步数。初...

2014-03-11 15:37:00 201

转载 《SDN核心技术剖析和实战指南》2.2OpenFlow交换机规范小结

  这节的内容相当多,主要是介绍OpenFlow标准特别是流表的相关特性。  典型的OpenFlow标准由三部分组成:安全通道,流表和OpenFlow协议。注意这个标准是一份设备标准,并不单指OpenFlow协议。后来引入了流水线式的多流表以及组表(Group Tabel)。  (图摘自SDNAP的文章)  安全通道是交换机与控制器进行通讯的接口,在实现上推荐使用(在缺省...

2014-03-10 17:55:00 122

转载 POJ 3009 深度优先搜索

问题:打冰球。冰球可以往上下左右4个方向走,只有当冰球撞到墙时才会停下来,而墙会消失。当冰球紧贴墙时,不能将冰球往那个方向打。冰球出界就当输,超过10次还没将冰球打到目标位置也当输。求用最小次数将冰球打到目标位置,或输出-1表示输了。分析:一般来说,求最小步数之类的迷宫问题都是用BFS解决的,但这题涉及到迷宫状态的变化(墙),BFS要不断记录状态的变化很复杂,不过网上好像也有人用BF...

2014-03-10 16:33:00 95

转载 《SDN核心技术剖析和实战指南》2.1交换机核心技术小结

对于SDN交换机的技术,其实也适用于传统的交换机,只不过控制部分被分离出来而已。传统交换机的控制面主要是转发表的管理以及网络状态之类的各种表,现在这些都由控制器来担心。转发面主要由转发决策、背板和输出链路调度组成。 转发决策是指数据包从输入端口进入交换机后,接下来怎么办。在SDN架构上,就是查询流表。 背板是指作出决策后数据包到达输出端口所经...

2014-03-09 20:40:00 189

转载 AOJ 0033 深度优先搜索

题意:按给定顺序从A口放标号位1-10的10个球,利用挡板可以使球落到B或C,问能否使B和C里的球标号从下往上递增。分析:对于第 i 个球,若a[i]大于B口上方的球,则可放入B口;若a[i]大于C口上方的球,则可放入C口。利用深度优先搜索,选取合适的操作,若能按要求放完10个球,则成功。若所有情况都不能,则失败。C++代码:/*input:23 1 4 2 ...

2014-03-09 20:17:00 107

转载 AOJ 0118 深度优先搜索

日文题。。。题意:一个面积为H*W的果园,种了苹果,梨和蜜柑。相邻(上下左右)的果树属于同一个区域,问果园共有多少个区域。分析:迷宫问题。对于每一个格子,可以用深度优先搜索把相同果树的格子遍历并标记。也就是说,每做一次DFS,消灭掉一个区域。只需要遍历果园,对每一个未被标记的格子做DFS,做DFS的次数就是果园的区域数。这里不需要另外用其他数组标记格子已访问,只需要将格子的元素改...

2014-03-07 10:36:00 142

转载 《SDN核心技术剖析和实战指南》第一章小结

第一章主要是概况。新技术有一个特点是,每家都有不同的说法。这里我只说说我比较认同的部分。 SDN的核心概念大概有两个:转发面与控制面分离、开发可编程化。书里还说逻辑上集中控制,其实这个就可以从转发与控制分离推出;至于说到网络虚拟化,我看这只是其中一个结果吧。 ONF的SDN架构分为三层:应用层、控制层和基础设施层。与其他架构不同的是,它的南向接口规...

2014-03-07 10:20:00 131

转载 POJ 1979 深度优先搜索

题意:有红色和黑色的格子,只能走黑色的,问从起始位置出发,最多能走到达多少块黑色格子。分析:相当于走迷宫,黑色格子是路,红色格子是墙,每次到达一个未到达过的格子时计数,原点也算是一个。每次可以走上下左右四个方向,用深度优先遍历从原点起始,一直到遍历所有能到达的格子。需要注意的是,不要重复走同一个格子,可以采取数组标记已走过的格子,但这里只需简单将已走过的格子标记为红色就可以达到目的,...

2014-03-06 08:24:00 85

转载 《深度解析SDN》学习小结

SDN(软件定义网络),顾名思义,通过软件来控制或驱动整个网络。SDN的核心概念有两个,第一是转发面与控制面的分离;第二是开放的可编程接口。另外,SDN强调集中式控制,通过软件来控制整个网络,但这并不意味着只有一个Controller,在大型网络中,更多是使用分布式Controller的架构来管理,如Onix。 SDN是一个部署网络的框架,并不是具体的某个技...

2014-03-06 08:08:00 194

转载 资源分配问题

描述:某厂根据计划安排,拟将n 台相同的设备分配给m 个车间,各车间获得这种设备后,可以为国家提供盈利Cij(j 台设备提供给i 号车间将得到的利润,1≤i≤m,1≤j≤n) 。问如何分配,才使国家得到最大的盈利?算法基本思路:1.求最大利润输入:c[i][j] = 将 j+1 台设备分配给 i+1 号车间得到的利润。定义:将 j 台设备分配给前 i 个车间的最大利...

2013-12-09 12:28:00 583

转载 数字三角形问题

描述:给定一个由n 行数字组成的数字三角形(例如下图)。输出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。(红色路径表示最优路径,结果为9+3+8+7+5 = 32)算法基本思路:显然用一个二维数组rec[0..n-1][0..n-1]可以保存该三角形作为输入(用二维数组对角线以下的位置保存三角形)。对于任意rec[i][j],我们可以定义一个表m[i][...

2013-12-08 18:52:00 66

转载 硬币兑换问题

描述:给定总金额为A 的一张纸币,现要兑换成面额分别为a1, a2,…, an 的硬币。硬币兑换问题是用最少枚数的硬币来兑换总金额为A 的纸币。如 a = {1, 2, 5},兑换6元则要2枚硬币(1和5)。根据特定的a,有可能可以直接用贪心算法每次都选取可用的最大硬币值。但对于一些例子,会出现错误情况。如 a = {1, 4, 5},兑换8元。若直接选取最大值,则需要4枚(1个...

2013-12-07 16:38:00 406

转载 装配线调度

问题:一个工厂有两条装配线a1, a2,每条装配线有n个装配站,每个编号对等的装配站功能相同。机器只要依次通过编号为1,2,...,n的装配站即可加工完成。已知两条装配线各个装配站装配所需的时间即a1,1,a1,2,...,a1,n, a2,1,a2,2,...,a2,n, 进入装配线所需时间e1,e2,离开装配线所需时间x1,x2。有时候为了加快装配进度,可以将部分完成的机器从一条装...

2013-12-05 08:49:00 154

转载 最长非降子序列

定义:一个包含n个数的序列a0, a1, ... , an-1,求序列的最长非降(>=)子序列及其长度。如:序列5, 3, 4, 9, 6, 8,此最大非降子序列长度为4,子序列为3,4,6,8.(子序列也可能不唯一)运用动态规划,可以构造时间复杂度为O(n2)的算法。算法基本思路:1.打表,获取最长非降子序列的长度;要构造最长非降子序列,可知此序列...

2013-11-27 16:31:00 420

转载 0-1背包问题

背包问题:n种物品,每种物品有重量w和价值v,背包所能承受的最大重量为c。如何挑选物品可以使总物品的价值最大。0-1背包问题:限定每种物品的个数只能是0或1.如:5个物品,质量分别为3,5,7,8,9,价值分别为4,6,7,9,10。背包所能承受重量为22.给物品从0开始编号,挑选物品1,3,4(价值分别为6,9,10)时,总价值最大为25,此时重量为22.运用动态...

2013-11-27 15:44:00 177

转载 所有点对的最短路径问题

定义:设G是一个有向图,其中每条边(i, j)都有一个非负的长度L[i, j],若点i 到点j 没有边相连,则设L[i, j] =∞. 要找出每个顶点到其他所有顶点的最短路径所对应的长度。如:则,L: 0  2  9    8  0  6    1  ∞  0运用Floyd-Warshall算法,时间复杂度为O(n3),空间复杂度为O(n2)....

2013-11-19 09:01:00 418

转载 矩阵链相乘

问题:n个矩阵M1M2……Mn链乘法的耗费,取决于n-1个乘法执行的顺序。现在要找到其最小次数的乘法执行顺序。如,n = 4,有以下可能的顺序:(M1(M2(M3M4)))(M1((M2M3)M4))((M1M2)(M3M4))(((M1M2)M3)M4)((M1(M2M3))M4)如果使用暴力算法枚举,时间复杂度为O(2n)。运用动态规划技术,可以将时间复杂...

2013-11-17 20:16:00 155

转载 最长公共子序列

问题:给定两个字符串,求出它们的最长公共子序列的长度。如:a = "xzyzzyx", b = "zxyyzxz",则其最长公共子序列的长度为4,"zyyx".注意:最长公共子序列不一定要连续(连续的叫最长公共子串),最长公共子序列也可能不唯一。如上面也可以是:"xyyx".穷举一般都能解决问题,但效率过低(指数时间),这个在密码学上叫计算上不可行。我们可以运用动态规划的思...

2013-11-14 09:51:00 1666

转载 最近点对问题

问题:设S是平面上n个点的集合,考虑在S种找到一个点对p和q,使其距离最短。求出其最短距离。暴力检查每个点对并记录距离后可以选出最短距离,但时间复杂度是O(n2)。这里可以运用一种分治的算法,使得时间复杂度降为O(nlogn)。算法基本思路:1.将所有点排序,优先考虑x,若x相等,则考虑y;2.找到中间位置,将集合一分为二,在左边范围内求出最短距离L,在右...

2013-11-12 20:04:00 80

转载 寻找多数元素

定义:序列中的多数元素是指在一个元素个数为n的序列中,多数元素出现次数大于[n/2].寻找元素方法很多:1.可以暴力搜索,将每个元素都与其他元素作比较,然后统计该元素出现的次数,时间复杂度为O(n2);2.可以先排序,然后再统计每个元素出现的次数,时间复杂度为O(nlogn);3.可以寻找中间值元素,因为多数元素在序列中必为中间值元素,时间复杂度是O(n);(寻找中间值元...

2013-11-10 09:28:00 198

转载 寻找第K小元素

要在一个序列里找出第K小元素,可以用排序算法,然后再找。可以证明,排序算法的上界为O(nlogn)。在这里,给出两种可以在线性时间内找出第K小元素的方法。方法1:(1) 选定一个比较小的阈值(如44),当序列元素小于阈值时,直接用排序算法来做;(2) 当序列元素大于阈值时,把元素划分为以5个元素为一组,每一组元素自身作排序,然后挑出每一组元素的中间值,再在所有的中间值中,...

2013-11-07 09:22:00 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除