คำถามติดแท็ก data-structures

5
การคำนวณเพื่อนบ้านที่ใกล้เคียงที่สุดซ้ำสำหรับจุดข้อมูลนับล้านช้าเกินไป
ฉันมีชุดข้อมูลที่ใช้เป็นล้านจุดข้อมูลในแบบ 3 มิติ สำหรับการคำนวณที่ฉันทำฉันจำเป็นต้องคำนวณเพื่อนบ้าน (ค้นหาช่วง) ไปยังจุดข้อมูลแต่ละจุดในรัศมีลองปรับฟังก์ชั่นคำนวณข้อผิดพลาดสำหรับการพอดีทำซ้ำสำหรับ datapoint ต่อไปและอื่น ๆ รหัสของฉันทำงานอย่างถูกต้อง แต่ใช้เวลานานในการรันประมาณ 1 วินาทีต่อดาต้าพอยท์! อาจเป็นเพราะในแต่ละจุดจะต้องค้นหาทั้งชุดข้อมูล มีวิธีที่ฉันสามารถทำให้กระบวนการรวดเร็ว ฉันมีความคิดว่าถ้าฉันสามารถสร้างความสัมพันธ์แบบ adjacency บางอย่างระหว่างเพื่อนบ้านแรกแล้วนี่อาจช้าน้อยลง ถ้าช่วยได้ฉันพยายามค้นหาความกว้างของหน้าต่าง Parzen ที่เหมาะสมในแบบ 3 มิติ

2
มีชนิดข้อมูลที่ดีอะไรบ้างสำหรับรหัส FVM CFD ที่ไม่มีโครงสร้างของเซลล์
ฉันสนใจคำแนะนำสำหรับโครงสร้างข้อมูลที่มีประสิทธิภาพสำหรับการเรียกดูเซลล์ใน CFD ปริมาณ จำกัด บนพื้นฐานของเซลล์ ตัวอย่างหนึ่งที่ฉันพบ (ในรหัสdolfyn cfd ) เป็นเช่นนี้ (ฉันจะแสดงเซ็กเมนต์ที่เกี่ยวข้อง) ดังนั้นเราจึงมีอาร์เรย์ NFaces ซึ่งจำนวนใบหน้าสำหรับแต่ละเซลล์ถูกเก็บไว้ จากนั้น CFace array ซึ่งจับคู่หมายเลขโลคอลโลคอลกับหมายเลขใบหน้าทั่วโลก\begin{listing}do ip=1,Ncel ... do j=1,NFaces(ip) k = CFace(ip,j) ipp = Face(k)%cell1 inn = Face(k)%cell2 if( inn > 0 )then ! internal\end{listing}\begin{listing}do ip=1,Ncel ... do j=1,NFaces(ip) k = CFace(ip,j) ipp = Face(k)%cell1 inn = …

2
โครงสร้างข้อมูลสำหรับรหัสปริมาณ จำกัด : Array กับ Classes
ฉันต้องเขียนรหัสปริมาณ จำกัด สำหรับ Magnetohydrodynamics (MHD) ฉันเขียนโค้ดตัวเลขมาก่อน แต่ไม่ถึงระดับนี้ ฉันแค่อยากจะถามว่าจะเป็นทางเลือกที่ดีใช้โครงสร้างข้อมูล (object orientated approach) กับคลาสหรือใช้หลายอาร์เรย์สำหรับคุณสมบัติที่แตกต่างกันในแง่ของความเร็วความสามารถในการปรับขยายได้ ฯลฯ ฉันวางแผนที่จะเขียนโค้ดในไพ ธ อน ใช้ fortran สำหรับส่วนที่ต้องใช้ตัวเลข ตัวอย่างของคลาสในไพ ธ อนจะเป็น class Cell: def __init__(self, x, y, z, U): อาร์เรย์สามารถนิยามได้ง่ายๆว่า x[nx][ny][nz] y[nx][ny][nz] z[nx][ny][nz] U[nx][ny][nz] เป็นต้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.