由买买提看人间百态

topics

全部话题 - 话题: 数组
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
g*****g
发帖数: 34805
1
来自主题: Programming版 - java在数组上的问题:作茧自缚
就是装逼的,你要说卫星图像,2G的数组不够大我还信,医学图像绝对够了。
t***a
发帖数: 416
2
来自主题: Programming版 - java在数组上的问题:作茧自缚
楼主是要多维数组, 就算二维的,就是2G*2G了。。。这是多少?我算不出来了。。当
然64位jvm可能一下子掏不出这么多空间。。。
k**********g
发帖数: 989
3

It doesn't require a new class library.
语法上新定义一个 [ row, col ] 就可以了
编译时生成row * width + col 的 byte code
C++ 的多维数组编程也就是 row * width + col
g****t
发帖数: 31659
4
没你想的那么简单.

It doesn't require a new class library.
语法上新定义一个 [ row, col ] 就可以了
编译时生成row * width + col 的 byte code
C++ 的多维数组编程也就是 row * width + col
y**********n
发帖数: 37
5
来自主题: Programming版 - 数组分配问题,求教
要把数据文件稍微处理一下,想写个简单的C程序弄一下。但编译不通过,真心求问。
很久没怎么碰过编程了,大侠不要笑话 :)
目的就是要申请一个三维数组 data_storage[125][125][200]

short signed int*** data_storage = NULL;
data_storage = (short signed int***)malloc(sizeof(short signed int)*125);
int i=0, k=0;
for(i=0; i<125;i++)
{
data_storage[i] = (short signed int**)malloc(sizeof(short
signed int)*125);
for(k=0; k<125; k++)
{
data_storage[i][k] = (short signed int*)malloc(sizeof(
short signed int)*200); ... 阅读全帖
k****e
发帖数: 126
6
来自主题: Programming版 - 数组分配问题,求教
typedef signed short (*data_storeage_t)[125][200];
data_storage_t data_storage;
data_storage = (data_storage_t)malloc(125 * 125 * 200 * sizeof(signed short)
);
然后就可以用三维数组的index比如data_storage[x][y][z]访问了。
d***a
发帖数: 13752
7
来自主题: Programming版 - FORTRAN数组越界问题
到底是多大的数组呢?
J********9
发帖数: 36508
8
来自主题: Programming版 - FORTRAN数组越界问题
要根据输入的raw文件定啊

到底是多大的数组呢?
J********9
发帖数: 36508
9
来自主题: Programming版 - FORTRAN数组越界问题
计算其实很简单的 真不需要啥算法
主要过程是把raw文件(一个或多个)处理成(x,y,c) 这一步要么是把x,y,c写入
direct access binary文件;要么是写入数组。然后根据输入的(x,y)寻找相应的c (
简单的插值)
写入binary文件 永远不会有问题,就是慢
如果直接用循环从raw文件里面找相应的x,y,然后得到c 更加慢

intel fortan有讨论组,你可以问问。另外数据大了,需要搞算法,不能完全依赖硬件
。难道是有限元/有限差分?
x*******a
发帖数: 11067
10
来自主题: Programming版 - FORTRAN数组越界问题
io不可能的。直接定义静态数组可不可以?
J********9
发帖数: 36508
11
来自主题: Programming版 - FORTRAN数组越界问题
静态数据可定不成啊 动态的现在都有问题

io不可能的。直接定义静态数组可不可以?
J********9
发帖数: 36508
12
来自主题: Programming版 - FORTRAN数组越界问题
其实我现在用的就是MPICH2
貌似 用MPICH2用的内存更多 比方说我用8线程做会出现VirtrualMemory问题 4线程就
没有
我现在要考虑的问题是:内存问题 (数据上限);速度问题
1.数据写入文件:多线程同时读取同一个文件 很慢很慢
2. 数据写入数组:可以多线程同时处理 但是有内存问题;如果一个线程处理,另外线
程读取,线程间交互也慢

还是应该考虑算法的改进。
另外,数据量太大时, 可以考虑利用多线程处理建立一个缓冲, 分块处理数据。一个
线程处理当前数据时,另外的线程去读取将要处理的数据到内存。
a******1
发帖数: 47
13
来自主题: Programming版 - FORTRAN数组越界问题
你的出错信息是啥?难道是因为编译的时候不支持>2G的数组?

样4
memory?
J********9
发帖数: 36508
14
来自主题: Programming版 - FORTRAN数组越界问题
编译没有问题
运行的时候显示 insuffient virtual memory
debug的时候 发现是动态数据allocate时出的错

你的出错信息是啥?难道是因为编译的时候不支持>2G的数组?
样4
memory?
J********9
发帖数: 36508
15
来自主题: Programming版 - FORTRAN数组越界问题
谢谢楼上各位
我先尝试一下64-bit编译器 记录并读取动态数组
然后研究一下多线程记录数据到临时binary文件 多线程读取
最后要是再不行 再弄弄数据库
J********9
发帖数: 36508
16
来自主题: Programming版 - FORTRAN数组越界问题
不是CS科班出身的 google+自己啃 没办法啊
其实无论是用动态数组还是临时文件 每一个数据我都会记录一个index以方便查找
这个不知道是不是类似你说的排序呢

能排序先排序吧。老师没讲过?
J********9
发帖数: 36508
17
来自主题: Programming版 - FORTRAN数组越界问题
update一下
32-bit的Fortran编译器最多用4G内存 (还是2G?)
今天用了64-bit Fortran编译(可用内存up to 2 T) +增加RAM+增加Virtual Memory
解决了问题

不是CS科班出身的 google+自己啃 没办法啊
其实无论是用动态数组还是临时文件 每一个数据我都会记录一个index以方便查找
这个不知道是不是类似你说的排序呢
能排序先排序吧。老师没讲过?
N******K
发帖数: 10202
18
watch窗口太弱了
如果是matlab 直接用一张表格显示出来数组的各个数据
msvs c++ 怎么搞?
r*g
发帖数: 3159
19
我是对数组overload运算符>>,然后打印到屏幕或者csv随意。
b*******s
发帖数: 5216
20
另外不建议你从数组开始搞,这个思路还是c的,直接从最常见的2维容器开始考虑会更
接近你的应用场景,优化也主要针对二维容器搞吧,如果你真准备build from scratch
b*******s
发帖数: 5216
21
我的感觉是,图像处理里比较常用邻域相关性,所以你在这方面要多花点力气优化,一
些传统的基于一维大数组,然后用指向指针的指针这种方法来实现更高维度的办法,不
一定是cache友好的,而cache友好,对于性能是关键的

m**********e
发帖数: 12525
22
这个N年前我老人家就实现了.变量X,Y可以是浮点数,数组,矩阵...,X*Y自动变为
浮点数乘,矩阵乘...
我老人家当年的目标是实现对用矩阵为变量的偏微分方程组直接进行运算,这样前台
整个运算简洁明了,每次矩阵运算直接写X*Y就行,复杂的全在后台
妈的最后发现事情比我想象得要复杂多了,上千个头文件看得眼睛都花了.花了
我整整一年时间才交差.
后来发现这纯粹是吃饱撑的,matlab里面改改就能用了.

G***G
发帖数: 16778
23
比如一个类
class customer
{
int salary;
int bonus;
int rewards;
}
然后定义个基于这个类的list
var customers = List ;
这种方法比下面这个直接c里面用数组方法更快吗?
int [] salary;
int [] bonus;
int [] rewards;
在内存使用方面,哪个更好?假设数值有30000个。
g*******t
发帖数: 7704
24
数组简单,内存消耗小,class肯定代码多,
不过都不是问题, 维护性,可读性最重要,
b*******s
发帖数: 5216
25
"数组简单,内存消耗小,class肯定代码多"
sure ?
how about this class
class foo
{
foo() = delete;
foo(const foo&) = delete;
foo& operator=(const foo&) = delete;
foo(const foo&&) = delete;
foo& operator=(const foo&&) = delete;
};
l******s
发帖数: 3045
26
来自主题: Programming版 - 求教:根据给定数组创建二叉树
这要看你怎么定义你的数组了,leetcode上的test case不用考虑每一层的2^n个可能性
节点,而只列出定义上一层可能的子节点就行了。
l****r
发帖数: 105
27
来自主题: Programming版 - 求教:根据给定数组创建二叉树
谢谢回复,不过我完全没看懂后半句
我的数组定义方式是
new int[] { 5, 4, 8, 11, -1, 13, 4, 7, 2, -1, -1, -1, -1, 5, 1 }
生成下面的二叉树
5
/
4 8
/ /
11 13 4
/ /
7 2 5 1
l******s
发帖数: 3045
28
来自主题: Programming版 - 求教:根据给定数组创建二叉树
我的意思跟你的方法一样。
不过你的数组似乎应该生成下面的树才对
| 5
| / \
| 4 8
| / / \
| 11 13 4
| / \
| 7 2
| / \
|5 1
那么碰到-1就不赋那个相应的指针的值就好了。
b***i
发帖数: 3043
29
来自主题: Programming版 - Java/C++的对象数组?
Java是不是
class Node{
private int value;
Node(int a){value=a;}
Node(){}
public void setValue(int a){value = a;}
}
Node[] all=new Node[size];
for(int i=0;i all[i]=new Node(i);
C++是不是不能这么做?是不是得如下,即必须使用默认的构造函数,无法像Java那样
可以先不构造
Node* all=new Node[size];
for(int i=0;i all[i]->setValue(i);
以上是微软的,因为没有实现可变大小的数组,这好像和C99有关?
a*****n
发帖数: 574
30
求牛人帮忙看一看如何用java数组实现输入0-50地任意整数并计算每项输入数据出现
次数。 多谢了
v**t
发帖数: 25
31
来自主题: Unix版 - 数组大小问题请教
我主要想做一些测试.
如果我用C的方式写的话,数组可以定得很大。以下是这个程序,我
同样用g++编译,能正常运行。但如果用我以前贴出来的Class方式的
C++程序的话,就不能超过800。我不明白差别为什么会这么大。
而且还有一个很奇怪的现象,就是同样用Class方式写的程序,有一次
我无意中运行了一下,可以超过1000。但后来加大以后,出现了segment
fault(core dump)错误以后,即使我把core删掉,还是不能超过800。
#include
#include
#define matrix_size 11000
int main(void)
{
static int a[matrix_size][matrix_size];
static int b[matrix_size][matrix_size];
static int c[matrix_size][matrix_size];
static int d[matrix_size][matrix_size];
//int i,j,v;
register
g******s
发帖数: 733
32
次序搞不定。
d = 8 10 4
16 20 8
24 30 12
想复制成
e(:,:,1) =
8 8 8
16 16 16
24 24 24
e(:,:,2) =
10 10 10
20 20 20
30 30 30
e(:,:,3) =
4 4 4
8 8 8
12 12 12
三维数组有什么命令可以操作次序的吗?
先谢了!
j**u
发帖数: 6059
33
来自主题: Computation版 - [合集] 有关fortran返回数组的问题!
☆─────────────────────────────────────☆
lzmaths (飞刀) 于 (Sat Mar 17 11:14:24 2007) 提到:
我想用子函数,但是子函数返回是 数组,要用Interface,
但是我写的程序老有错误,不知道能不能指点一下,很简单的一个程序,是求单位矩阵
的子程序。
谢谢!
program test
implicit none
interface
function eye(n)
implicit none
integer :: n
real :: eye(n,n)
end function
end interface
integer, parameter :: n=5
real :: A(n,n)
A=eye(n)
write(*,*) A
end
real function eye(n)
implicit none
integer :: n
real :: B(n,n)
integer :: i
B=0
forall(i=1:n) B(i,i)=1
eye=B
return
end
错误是:Err
q***z
发帖数: 543
34
来自主题: Computation版 - 一个单元数组赋值的问题
有一个结构的元素使用数组来表示,如:structure.index1={a,b,c,A} 其中a,b,c 都
是numberic,A 也是N个numberic,而且知道 A=B(:),如果直接写成第一行的格式,A就变
成了一个cell,与a,b,c 不对等。因为N太大了,不可能手工输入,请教如何赋值进去
呢?谢谢!!!
d*******2
发帖数: 340
35
通过函数传递单个变量没有问题,不知道怎么传递一个4个数的小数组
double forpoly(double)
int main()
{
double dddn[4];
forpoly(dddn);
}
double forpoly(double dddn)
{}
怎么就不行呢?
先谢了!
改成
double forpoly(double)
int main()
{
double dddn[4];
forpoly(dddn[4]);
}
double forpoly(double dddn[4])
{}
好像也不行。
l*********i
发帖数: 483
36
我的理解,如果纯追求计算速度的话,一般来说用数组在速度上肯定是大
于等于指针的,因为指针需要求地址。一般的我都是用
double function(double matrix1[length],...)
用指针的好处是create general-purpose routines。

单纯从提高运算速度上来说,算法和compiler的影响比较大,试试icc,
然后打开那个vec-report看看是否尽可能的把loop都vectorize了。
c*******h
发帖数: 1096
37
传数组比传指针要快??
c*******n
发帖数: 112
38
在一个n位数组中找最小值的复杂度到底是多少
如体,
看到很多Paper上都说是O(log n)。但是我认为是O(n)。原因如下:
如果有计算机可以并行处理,当然我们可以认为运算时间是O(log n)。而实际上
总的比较次数还是n次,因此算法复杂度仍然是O(n)
b***k
发帖数: 2673
39
来自主题: Quant版 - [合集] 一个题(数组编程类)
☆─────────────────────────────────────☆
geome (珍惜生命远离bbs) 于 (Tue Feb 12 12:18:43 2008) 提到:
1到1000个数,一个数组里面,未排序。
现在把其中i改成j,于是少了一个数,重复了一个数,找出来是哪两个。
答案我过几天来公布。
☆─────────────────────────────────────☆
minxolee (色立子) 于 (Tue Feb 12 12:27:29 2008) 提到:
add them and subtract sum(1:1000) you get j-i
multiply them and divide product(1:1000) you get j/i
solve for i and j, done.
☆─────────────────────────────────────☆
kosine (仰视星辰) 于 (Tue Feb 12 12:37:00 2008) 提到:
哥们?1000的阶乘什么量级啊?难道用mathematic
a********e
发帖数: 78
40
在R中开一个多大的数组会出现 内存的问题?
o****o
发帖数: 8077
41
据说数组index受32位限制,所以不能大于2^32-1=。。。。。
换成方阵就把上面数值开方。实际操作中还受别的因素影响
k*****u
发帖数: 1688
42
来自主题: Statistics版 - sas有没有办法创建动态数组?
比如说建立矩阵存贮data,不知道维数,想建立动态数组,可以么?
m**********r
发帖数: 122
43
来自主题: Statistics版 - 关于在R中对字符数组进行比较
谢谢。
对一个从csv文件中读入的字符数组,好象可以有两种方法,
matrix = as.character(read.csv("test.csv",sep=","))
matrix = as.vector(read.csv("test.csv",sep=","))
但它们之间的区别是什么呢?

ncol

发帖数: 1
44
来自主题: JobHunting版 - Re: leetcode第829题最优解
问题:输入一个整数N,请问有多少种不同的方法把若干个连续的整数相加使得它们的
和为N?例如输入N=9,由于9 = 9、9 = 4 + 5、9 = 2 + 3 + 4,因此正确的输出是3。
分析:这是LeetCode第829题。
解法一:时间复杂度O(n)
我们可以想象有一个整数数组,数组里的第一个数字是1,第二个数字是2,以后的数字
以此类推。再假设有两个指针,第一个指针初始化指向数组的第一个数字,第二个指针
初始化指向数组的第二个数字。这两个指针就定位了一个子数组,该子数组由两个指针
之间的所有数字(包括两个指针指向的数字)组成。由于数组里的数字是连续递增的,
那么两个指针之间的任意子数组的数字也是连续递增的。
如果两个指针之间的子数组的所有数字之和小于输入的整数N,我们希望这个子数组包
含更多的数字,于是把第二个指针向右移动。每把第二个指针向右移动一位,相当于往
子数组的最右边添加一个新的数字,子数组的数字之和也会相应变大。如果此时子数组
的和仍然小于N,我们继续向右移动第二个指针。
如果子数组的和等于N,我们就找到了一个符合条件的子数组。接下来可以继续向右移
动第二个指针去寻找其... 阅读全帖
P****d
发帖数: 137
45
来自主题: JobHunting版 - 问个G家面试题
输入是一个字符串数组,一个int数组,输入的字符串数组是另外一个字符串数组通过
int数组变换得到的,int数组的值代表的是原来这位置上的字符串经过变换后的坐标,
然后输出是求变换之前的字符串数组,要求用线性时间,o(1)额外空间
打个比方,比如一个字符串数组是"cat", "rabbit","dog", "mouse",int数组给的2,0
,3,1,意思是string数组第0个词是cat,它本来的位置是在哪呢,我们要看int数组,
int数组的0在index 1上,所以说cat之前应该是1号位的,同理rabbit在string数组的1
号位,而index数组3号位的值是1,说明rabbit这个词之前应该在3号位上的,依次类推
,所以变换前的字符串数组应该是 dog, cat, mouse, rabbit
再打个比方,如果输入是Cat mouse dog rabbit和2,0,1,3,输出也会是dog, cat,
mouse, rabbit
再打个比方,如果输入是Cat mouse dog rabbit, tiger, lion和2,0,1,3,5,4,输出会
是dog, cat ,... 阅读全帖
S**I
发帖数: 15689
46
☆─────────────────────────────────────☆
gzou (gzou) 于 (Thu May 12 02:26:35 2011, 美东) 提到:
马上就要G on site了,
求祝福。
下面是从本版收集到的Google的试题,便于大家查询。
申明:有的附带有解释说明的,也来自于本版或者网络,大家自己看, 不保证真确
http://www.mitbbs.com/article_t1/JobHunting/31847453_0_1.html
本人ECE fresh PhD,背景是电路/EDA,跟G业务基本没什么关系
同学内部推荐的,很简单的一次电面就给了onsite
题都不难,但是自己没把握好机会,出了一些小bug。
总的感觉,出错就是硬伤,宁可从最简单的算法写起,也不能出错。
电面:
1,Skip list, http://en.wikipedia.org/wiki/Skip_list
写code实现struct skip_list * find(struct skip_list *head, int value)
2,sorted array... 阅读全帖
S**I
发帖数: 15689
47
☆─────────────────────────────────────☆
gzou (gzou) 于 (Thu May 12 02:26:35 2011, 美东) 提到:
马上就要G on site了,
求祝福。
下面是从本版收集到的Google的试题,便于大家查询。
申明:有的附带有解释说明的,也来自于本版或者网络,大家自己看, 不保证真确
http://www.mitbbs.com/article_t1/JobHunting/31847453_0_1.html
本人ECE fresh PhD,背景是电路/EDA,跟G业务基本没什么关系
同学内部推荐的,很简单的一次电面就给了onsite
题都不难,但是自己没把握好机会,出了一些小bug。
总的感觉,出错就是硬伤,宁可从最简单的算法写起,也不能出错。
电面:
1,Skip list, http://en.wikipedia.org/wiki/Skip_list
写code实现struct skip_list * find(struct skip_list *head, int value)
2,sorted array... 阅读全帖
r******r
发帖数: 700
48
来自主题: JobHunting版 - 如何秒杀99%的海量数据处理面试题
海量数据处理:十道面试题与十个海量数据处理方法总结
作者:July、youwang、yanxionglu。
时间:二零一一年三月二十六日
说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量
数据处理的方法总结。
本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随
时交流、指正。
出处:http://blog.csdn.net/v_JULY_v
------------------------------------------
第一部分、十道海量数据处理面试题
1、海量日志数据,提取出某日访问百度次数最多的那个IP。
首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中
。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把
整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash
_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最
大的IP中,找出那个频率最大的IP,即为所求。
或者如下阐述(雪... 阅读全帖
r******r
发帖数: 700
49
来自主题: JobHunting版 - 如何秒杀99%的海量数据处理面试题
海量数据处理:十道面试题与十个海量数据处理方法总结
作者:July、youwang、yanxionglu。
时间:二零一一年三月二十六日
说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量
数据处理的方法总结。
本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随
时交流、指正。
出处:http://blog.csdn.net/v_JULY_v
------------------------------------------
第一部分、十道海量数据处理面试题
1、海量日志数据,提取出某日访问百度次数最多的那个IP。
首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中
。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把
整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash
_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最
大的IP中,找出那个频率最大的IP,即为所求。
或者如下阐述(雪... 阅读全帖
w*******s
发帖数: 138
50
这道题有两种理解方式。当输入是[1, 1]的时候,有两个sequence满足条件,可是他们
都是[1],所以根据理解的不同,答案可以是1,或者是2。有一种O(nlogn)的方法,不过
是针对答案是2的情形。
首先得将数组中的元素排序,并按数值大小编号,此时我们将原数组变换为新数组,新
数组中的元素值是原数组中数值大小的编号,新数组中的值是从1到n(n为原数组中不同
数值的个数),长度与原数组相同,对于新数组求解等同与对于原数组求解。
举例,原数组是[9,3,6,3],变换为新数组为[3,1,2,1]
此变换需要排序,故时间复杂度为O(nlogn)
对于此数组(设为A),我们可以用等同与求LIS的方法来计算个数(DP),此方法的复杂度
为O(n^2),DP的状态是对于每一个数组中的元素,我们记录以其为结尾的不同的subseq
uence的个数,设此数组为D。
在求D中每一个元素D[i]的过程中,我们需要对每一个在此元素之前 j < i,并且A[j]
< A[i]的D[j]求和,此操作可以用树状数组(或类似结构)优化为log n,故总时间复杂
度为O(n log n),空间复杂度为O(n)... 阅读全帖
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)