- 博客(89)
- 资源 (20)
- 收藏
- 关注
原创 android -- 启程
不知不觉间,已经在百度呆了两年了,从毕业找到工作那会开始,就把博客落在一边。现在要换新工作了,趁着有空,把这两年所学的Android知识都好好整理整理吧,想想内容真是太多太多,能整理多少算多少吧!同时也反省一下,期间有想起要写博客的时候,但是总觉得要写的东西技术含量不够为借口,一直没动,时间长了,该懂的东西也忘记了得不偿失。出发吧。。哈哈,心里挺害怕的,说了出发,结果只憋了一篇文章出来。。
2017-05-12 14:07:45
364
1
转载 TCP坚持定时器,TCP保活定时器
TCP一共有四个主要的定时器,前面已经讲到了超时定时器,2MSL定时器,(MSL是指任何报文段被丢弃前在网络内的最长存活时间)另外的两个是:坚持定时器1, 坚持定时器的意义;在TCP连接双方,均有一个接收缓存,当接收缓存满时,接收端会回复发送端一个窗口大小为0的报文,当接收端的接收缓存可用时,接收端会再次回复一个报告窗口大小的报文,但由于ACK报文的传递是不可靠的,如若该窗口大
2014-06-25 15:01:10
1044
转载 TCP的超时与重传
超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。1.超时超时时间的计算是超时的核心部分,TCP要求这个算法能大致估计出当前的网络状况,虽然这确实很困难。要求精确的原因有两个:(1)定时长久会造成网络利用率不高。(2)定时太短会造成多次重传,使得网络阻塞。所以,书
2014-06-24 16:53:38
639
转载 chapter19_20_TCP的交互数据流和块数据流
目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率。
2014-06-24 15:02:05
606
原创 Chapter19_TCP连接的建立与终止
TCP三次握手建立连接TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入
2014-06-23 17:06:36
650
原创 Chapter06-FatMouse‘s Speed(ZOJ 1108)
FatMouse's SpeedTimeLimit: 2Seconds Memory Limit: 65536KB Special Judge FatMousebelieves that the fatter a mouse is, the faster it runs. To disprove this, youwant to take t
2014-04-23 22:50:17
767
原创 Chapter06-FatMouse and Cheese(ZOJ 1107)(搜索记忆DP)
FatMouse and CheeseTime Limit: 10 Seconds Memory Limit: 32768 KB FatMouse has stored some cheese in a city. The citycan be considered as a square grid of dimension n: each grid
2014-04-23 22:47:04
661
原创 Chapter06-Phylogenetic Trees Inherited(POJ 2414)(状态压缩DP)
Phylogenetic Trees InheritedTime Limit: 3000MSMemory Limit: 65536KTotal Submissions: 480Accepted: 297Special JudgeDescriptionAmong other things,Co
2014-04-23 00:33:49
1151
原创 Chapter06-Mondriaan's Dream(POJ 2411)(状态压缩DP)
Mondriaan'sDreamTime Limit: 3000MSMemory Limit: 65536KTotal Submissions: 10821Accepted: 6294DescriptionSquares and rectangles fascinated the famous Dutc
2014-04-22 20:46:47
810
原创 状态压缩DP-Most Powerful(POJ 3471)
Most PowerfulTime Limit: 2 Seconds Memory Limit: 65536 KBRecently, researchers on Mars havediscovered N powerful atoms. All of them are different. These atoms have someproperties.
2014-04-21 20:25:28
978
原创 状态压缩DP-Islandsand Bridges(POJ 2288)
Islandsand BridgesTime Limit: 4000MSMemory Limit: 65536KTotal Submissions: 8493Accepted: 2190DescriptionGivena map of islands and bridges that connect t
2014-04-21 19:25:16
802
原创 状态压缩DP-Hie With the Pie(POJ 3311)
Hiewith the PieTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 3571Accepted: 1859DescriptionThe Pizazz Pizzeria prides itself in delivering piz
2014-04-21 14:16:53
832
转载 最短路径—Dijkstra算法和Floyd算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假
2014-04-18 10:07:04
644
转载 Java中byte与16进制字符串的互相转换
Java中byte与16进制字符串的互相转换 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H)
2014-04-17 15:37:45
619
原创 状态压缩DP-炮兵阵地(POJ 1185)
炮兵阵地Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 17597 Accepted: 6752Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也
2014-04-16 22:53:52
654
原创 状态压缩DP-Corn Fields(POJ 3254)
Corn FieldsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6384 Accepted: 3391DescriptionFarmer John has purchased a lush new rectangular pasture comp
2014-04-16 22:50:16
627
转载 什么是状态压缩动态规划
引入 首先来说说“状态压缩动态规划”这个名称,顾名思义,状态压缩动态规划这个算法包括两个特点,第一是“状态压缩”,第二是“动态规划”。 状态压缩: 从状态压缩的特点来看,这个算法适用的题目符合以下的条件: 1.解法需要保存一定的状态数据(表示一种状态的一个数据值),每个状态数据通常情况下是可以通过2进制来表示的。这就要求状态数据的每个单元只有两种状态,比如说棋盘上的格子,放
2014-04-16 22:43:14
1037
原创 Chapter06-Monkey and Banana(EOJ 1093)
Monkey and BananaTime Limit: 2 Seconds Memory Limit: 65536 KBA group of researchers are designing anexperiment to test the IQ of a monkey. They will hang a banana at the roof of a
2014-04-15 12:51:05
806
原创 Chapter05-The Game(POJ 1101)
TheGameTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 8767Accepted: 2674DescriptionOne morning, you wake up and think: "I am such a goodprogra
2014-04-13 22:17:15
907
原创 Chapter05-Multiple(POJ 1465)
MultipleTime Limit: 1000MSMemory Limit: 32768KTotal Submissions: 5911Accepted: 1284Descriptiona program that, given anatural number N between 0 and 4999
2014-04-13 16:44:49
810
原创 算法-分支限界法
(以下一些概念性的东西,抄袭网上的介绍!)1、分支限界法 (1)描述:采用广度优先产生状态空间树的结点,并使用剪枝函数的方法称为分枝限界法。 所谓“分支”是采用广度优先的策略,依次生成扩展结点的所有分支(即:儿子结点)。 所谓“限界”是在结点扩展过程中,计算结点的上界(或下界),边搜索边减掉搜索树的某些分支,从而提高搜索效率。 (2)原理:按照广度优先
2014-04-13 00:21:47
4115
原创 Chapter05-Erdos Numbers(POJ 1391)
Erdos NumbersTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 1142Accepted: 384DescriptionThe Hungarian Paul Erdos (1913-1996, pronounced as"Ar-
2014-04-12 11:32:48
1204
原创 chapter05-Hike on a Graph(POJ 2415)
Hike on a GraphTime Limit: 2 Seconds Memory Limit: 65536 KB "Hike on a Graph" is a game that is playedon a board on which an undirected graph is drawn. The graph is complete and
2014-04-10 20:07:20
969
原创 chapter05-Gamblers(ZOJ 1101)
GamblersA group of n gamblers decide to play a game: At the beginning of the game each of them will coverup his wager on the table and the assitant must make sure that there are no twogamblers hav
2014-04-10 14:58:12
1055
原创 chapter05-Knight Moves(Poj 1915)
DescriptionBackground Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him canmove knights from one position to another so fast. Can you beat him?The Problem Your task
2014-04-10 01:24:17
848
原创 chapter05—Alien Security(POJ 1130)
java Alien Security(POJ 1130)Youare in charge of security at a top-secret government research facility.Recently your government has captured a live extra-terrestrial (ET) life form,and is hosting an open day for fell
2014-04-09 23:56:05
1182
原创 chapter05—Channel Allocation(POJ 1129)
Channel Allocation Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 10300 Accepted: 5245Description When a radio station is broadcasting over avery large area, repeaters are use
2014-04-09 19:39:14
597
原创 启程
研一下学期我上了算法设计这门算法课,收获很大,那时算是真正的开始入门学习算法吧,后来也断断续续的看算法书,博客,但是由于当时项目紧,很少自己动手花时间写一些代码,这么一年下来,感觉也没学到啥东西,之前明明懂的东西也忘记的差不多了;当时也没有太注重写博客,总是想着等资料都整理好了再放到博客上来,时间长了也渐渐的忘了哈。。还好后来买了本《ACM国际大学生程序设计竞赛题解(2)》,确实都是些很有价值的练
2014-04-08 22:46:55
469
原创 算法-动态规划之最长子序列(二)
最长公共子序列问题是一道的动态规划算法的常见问题,问题为求两个字符序列的最长公共字符子序列:子序列概念:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。假如令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,那么存在X的一个严格递增下标序列,使得对所有的j=0,1,…,k-1,有xij
2014-04-08 22:27:52
851
转载 java 正则表达式
1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。首先一个Pattern
2014-04-03 16:04:29
532
原创 Java图算法之基础
基础:图结构接触的也是比较多的,基础部分网上到处都是,这里就长话短说,存储图的两种方式,一种是邻接表,一种是邻接矩阵;举例说明吧,如下图,我们该怎么构建邻接表和邻接矩阵;(抄袭网上的图)邻接表:邻接矩阵基于邻接表的图的构造如下所示:顶点类:(其实无论是顶点类,边类,还是图类,他们含有的成员变量,成员方法都是不固定,根据需要可以适当的添加,现在我以
2014-04-02 23:10:59
894
原创 java容器之Set接口
HashSet简单介绍:HashSet类是基于HashMap实现的,它利用定义HashMap成员来存储数据,同时定义一个finalstatic Object PRESENT 来与每一个E配对;接下来看下源代码:类的成员:private transient HashMap map;private static final Object PRESENT = new Obj
2014-04-02 10:06:03
484
原创 java容器之Map接口
HashMap类在介绍hashMap之前,有必要介绍下关于散列表的知识。(太久没用到散列表,没想到一时竟然忘记了它的存在的意义了,看来不多做笔记真不行)散列表:支持以常数时间对任何命名项的检索或删除。为什么能够这么会有这种效果呢?原理是:定义一个空的tablesize大小数组,每个要插入元素根据散列函数取得数组的下标,所以要能根据元素进行线性的检索;冲突:就是不同的项通过散列函数取得相
2014-04-01 15:55:09
514
原创 java容器之List接口
List:有序的序列。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set不同,列表通常允许重复的元素。本文主要介绍4个常用的list接口的子类:Vector,ArrayList,LikedList,StackVector与ArrayList类Vector 类提供了实现可增长数组的功能,随着更多元素加
2014-03-31 13:53:56
537
原创 java排序算法之冒泡排序
冒泡排序是相对简单的排序算法;冒泡排序算法如下所示:1, 比较相邻的两个元素,如果第一个比第二个大,就交换它们;2, 对每一对相邻元素作同样的工作,从开始第一对到结尾最后一对。(一遍冒泡会将最大的值抓出来放在最后);3, 继续1,2步骤;(但是最后一个元素不需要);直到需要遍历的元素为1; 运行时间为:O(N^2)//代码
2014-03-18 22:00:16
532
原创 java排序算法之堆排序
在博客http://blog.youkuaiyun.com/haizi8888/article/details/21414635中,已经分析了二叉堆进行了比较全面的分析; 所谓的堆排序,就是对N个数存储为最大(小)堆的形式,每次deleteMin取出一项,运行N次,就可以获得有序的序列;步骤如下:1, 将每一项存入数组中;(花费O(N)时间)2, 调
2014-03-18 21:32:10
490
转载 Java实用经验总结--Swing篇
Java实用经验总结--Swing篇前言本文前言部分为我的一些感想,如果你只对本文介绍的Java实用技巧感兴趣,可以跳过前言直接看正文的内容。本文的写作动机来源于最近接给人家帮忙写的一个小程序,主要用于管理分期付款的货款的一系列管理,包括过期款的纪录,过期款利息的计算,为提前付款的用户提供一些返款奖励等等,这些与本文无关自不必细说。为了尽快完成任务,我自然选择了我用得最多的Java来实
2014-03-18 20:20:48
553
原创 优先级队列(java.util.PriorityQueue<E>)
1, 用链表实现,插入数据以常数时间,但是访问最小(大)项要对链表进行线性扫描。若保持链表的有序性,访问访问最小(大)项以常数时间,但是插入确实线性时间。2, 用二叉堆实现,具有这些优点(1)通过简单的数组实现,(2)最坏的情况,以O(logN)时间inser和deleteMin,(3)常数平均时间insert,最坏情况下常数时间findMin; 二叉堆:是一颗完全二叉树,可以用数
2014-03-17 23:09:05
1295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人