数据流(datastream)最初是通信领域使用的概念,代表传输中所使用的信息的数字编码信号序列。然而,我们所提到的数据流概念与此不同。这个概念最初在1998年由Henzinger在文献87中提出,他将数据流定义为"只能以事先规定好的顺序被读取一次的数据的一个序列"。
数据的性质、格式不同,则对流的处理方法也不同,因此,在java的输入/输出类库中,有不同的流类来对应不同性质的输入/输出流。在java.io包中,基本输入/输出流类可按其读写数据的类型之不同分为两种:字节流和字符流。
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。
//排序的数组
constarr=[]
functionInsert(num)
{
//writecodehere
arr.push(num)
for(leti=arr.length-2;arr[i]>num;i--){
[arr[i],arr[i+1]]=[arr[i+1],arr[i]]
}
}
functionGetMedian(){
//writecodehere
if(arr.length&1===1){
returnarr[(arr.length-1)/2]
}
returnarr[arr.length/2]/2+arr[arr.length/2-1]/2
}
数据流分为输入流(InputStream)和输出流(OutputStream)两类。输入流只能读不能写,而输出流只能写不能读。通常程序中使用输入流读出数据,输出流写入数据,就好像数据流入到程序并从程序中流出。采用数据流使程序的输入输出操作独立与相关设备。
输入流可从键盘或文件中获得数据,输出流可向显示器、打印机或文件中传输数据。
数据流模型(datastreammodel)在数据流模型中,从某个特定时间开始至今的所有数据都要被纳入计算范围。此时,s=0,即在时刻0,Α是0向量。即这是数据流最初和最普遍的模型。