Tôi đã lập trình được 8 năm và bây giờ tôi đã tự hỏi rằng nếu có bất kỳ cách sử dụng thực tế nào của mảng N-Dimensional, trong đó N> 3. Tôi chỉ có thể hình dung của một cấu trúc dữ liệu đó là ít hơn hoặc bằng 3 dimension.Has bất kỳ một trong những sử dụng nhiều hơn 3 chiều trong bất kỳ chương trình? Có bất kỳ sử dụng thực tế của một mảng ND mà là ngoài 3d? Nếu vậy xin vui lòng gửi một số mẫu .Sử dụng thực tế các mảng N-Dimensional, trong đó (N> 3)
Trả lời
Các chỉ dụ phong nha tôi nhớ lại là trong văn bản 1982 Oh! Pascal! mang đến cho bạn một số ý tưởng về sự hiếm có trong trải nghiệm của tôi.
Ví dụ là một hệ thống chứng khoán lưu giữ nơi quần jean có thể được lập chỉ mục bởi
inventory[sex][size][length][color][fit] = number_received
mà chỉ hơi giả tạo. Bạn sẽ không có vấn đề với một cơ sở dữ liệu có cấu trúc theo cách như vậy nhưng nó trông buồn cười như mã.
Lấy hầu hết mọi thứ từ vật lý, nơi mà các tensors là phổ biến, ví dụ: thuyết tương đối rộng, hóa học tính toán, vật lý lượng tử.
http://en.wikipedia.org/wiki/Tensor#Applications
Tensor với xếp hạng 4 là phổ biến chẳng hạn.
http://www.oonumerics.org/FTensor/FTensor.pdf
333 double
334 LMP2::compute_ecorr_lmp2()
335 {
336 Timer tim("ecorr");
337
338 sma2::Index r("r"), s("s");
339 sma2::Array<0> ecorr;
340 double ecorr_lmp2 = 0.0;
341 for (my_occ_pairs_t::const_iterator iter = my_occ_pairs_.begin();
342 iter != my_occ_pairs_.end();
343 iter++) {
344 sma2::Index i(iter->first-nfzc_);
345 sma2::Index j(iter->second-nfzc_);
346 if (j.value() > i.value()) continue;
347 double f;
348 if (i.value() != j.value()) f = 2.0;
349 else f = 1.0;
350 ecorr.zero();
351 ecorr() += f * 2.0 * K_2occ_(i,j,r,s) * T_local_(i,j,r,s);
352 ecorr() -= f * K_2occ_(i,j,s,r) * T_local_(i,j,r,s);
353 ecorr_lmp2 += ecorr.value();
354 }
355
356 msg_->sum(ecorr_lmp2);
357
358 return ecorr_lmp2;
359 }
Bạn có thể gửi mẫu mã (bất kỳ ngôn ngữ nào) không? – Emil
Ví dụ rõ ràng nhất là một danh sách các không gian voxel ... 3 + 1 = 4 kích thước :)
Một mảng chứa tất cả các dungeon trong Ultima III sẽ hợp lý là một mảng 4 chiều. Mỗi dungeon là một lưới ô ba chiều, và chúng đều có cùng kích cỡ.
- 1. Hiệu ứng thực tế của viewPager.setOffscreenPageLimit (3) ;?
- 2. Việc sử dụng các trường ẩn có thực tế không?
- 3. Chữ ký thực tế sử dụng Reflection
- 4. Sử dụng thực tế các sự kiện giao diện
- 5. Sử dụng thực tế các chức năng đã kết hôn?
- 6. Thực tế Sử dụng Traversal Cấp bậc
- 7. Sử dụng thực tế từ khóa `stackalloc`
- 8. Sử dụng thực tế của System.WeakReference
- 9. jQuery .each() - Sử dụng thực tế?
- 10. Sử dụng thực tế cây biểu thức
- 11. Sử dụng thực tế từ khóa một phần trong C#
- 12. Sử dụng thực tế cờ bit trong .NET framework
- 13. Sử dụng trong mua hàng cho hàng hóa thực tế
- 14. sử dụng thực tế của IdentityHashMap trong Java 6
- 15. Bất kỳ ai sử dụng loại nguyên thủy ngắn và byte, trong ứng dụng thực tế?
- 16. Thực tế tăng cường - Chỉ sử dụng GPS
- 17. Sử dụng thực tế các cấu trúc dữ liệu khác nhau
- 18. Java Multi Threading - trường hợp sử dụng thực tế
- 19. Việc sử dụng biến số thực tế là gì?
- 20. iphone camerOverlay để sử dụng với các ứng dụng Thực tế thay thế
- 21. Đặt ActiveRecord/Rails sử dụng cột mysql TIMESTAMP thực tế
- 22. Cà ri JavaScript: các ứng dụng thực tế là gì?
- 23. Ma trận ba chiều: sử dụng thực tế
- 24. Sử dụng FileStream mà không cần tệp thực tế
- 25. Ví dụ thực tế về sử dụng NLTK
- 26. Việc sử dụng GADT thực tế trên thế giới
- 27. Sử dụng các mảng với các mảng khác trong Python
- 28. Cách sử dụng thực tế của Virtual Memory
- 29. Preallocation của mảng tế bào trong MATLAB
- 30. Có cách nào thực tế để sử dụng kiểu dữ liệu phân cấp trong khung thực thể 4 không?
Thông thường bạn sẽ sử dụng một số cấu trúc dữ liệu khác, vì dữ liệu chiều cao có xu hướng thưa thớt và phần lớn mảng sẽ bị lãng phí. – starblue