۰
subtitle
ارسال: #۱
  
سوال در مورد آرایه (ساختمان داده)
سلام
کسی میتونه راهنمایی کنه سوال زیر با چه روش و فرمولی به دست میاد
یک آرایه ی سه بعدی با اندازه دلخواه تعریف کنید و برای آن مشخص کنید که اندیس یک عنصر خاص به شکل خطی چند خواهد بود؟
آرایه و عنصری که در نظر میگیریم دلخواهه
حالا اگه بخوایم ذخیره اش کنیم اندیس اون خونه توی حافظه که عنصر مورد نظرمون در اون ذخیره میشه چنده؟
و بر عکسش رو هم باید حساب کنیم
یعنی اگر اندیس اون خونه توی حافظه رو داشته باشیم چه جوری باید i و j و k رو حساب کنیم
کسی میتونه راهنمایی کنه سوال زیر با چه روش و فرمولی به دست میاد
یک آرایه ی سه بعدی با اندازه دلخواه تعریف کنید و برای آن مشخص کنید که اندیس یک عنصر خاص به شکل خطی چند خواهد بود؟
آرایه و عنصری که در نظر میگیریم دلخواهه
حالا اگه بخوایم ذخیره اش کنیم اندیس اون خونه توی حافظه که عنصر مورد نظرمون در اون ذخیره میشه چنده؟
و بر عکسش رو هم باید حساب کنیم
یعنی اگر اندیس اون خونه توی حافظه رو داشته باشیم چه جوری باید i و j و k رو حساب کنیم
۰
ارسال: #۲
  
RE: سوال در مورد آرایه (ساختمان داده)
تا حالا همچین سوالی ندیده بودم ولی خوب اگه یک آرایه سه بعدی برا خودتون میکشید و اندیس چندتا خونه رو می نوشتید به یه رابطه جالب برخورد میکردید...
فرضا آرایه سه بعدی را با سه صفحه و سه سط و سه ستون در نظر بگیرید مانند :
int[][][] a = new int[3][3][3] ; حالا به طور مثال a000 یا a001 یا a333 رو مجسم کنید :
۲۷ تا خونه خواهد داشت آرایه ای که تعریف کردیم (خانه های ۰ تا ۲۶) شما بعلاوه یک آنها را در نظر بگیرید یعنی ۱ تا ۲۷ :
خونه ۲۷ --> a333 --> که ۲ + ۷ = ۳ + ۳ + ۳
خونه ۲۶ --> a332 --> که ۲ + ۶ = ۲ + ۳ + ۳
الی آخر ...
از همین سر نخ برا حالت اول استفاده کنید .
در این مثالی که زدم هر صفحه ۹ تا عنصر هر سطر ۳ تا عنصر و هر ستون ۳ تا عنصر داره :
۲۵ مثلا ۹ + ۹ + ۷ که یعنی دو تا صفحه رو پر کرده رفته صفحه سوم عنصر ۷ ، باز ۷ هم میشه ۳ + ۳ + ۱ که یعنی دو تا سطر رو پر کرده رفته سطر سوم ۱ هم که میشه ستون اول
از همین سرنخی که گفتم هم برا حالت دوم استفاده کنید ...
فرضا آرایه سه بعدی را با سه صفحه و سه سط و سه ستون در نظر بگیرید مانند :
int[][][] a = new int[3][3][3] ; حالا به طور مثال a000 یا a001 یا a333 رو مجسم کنید :
۲۷ تا خونه خواهد داشت آرایه ای که تعریف کردیم (خانه های ۰ تا ۲۶) شما بعلاوه یک آنها را در نظر بگیرید یعنی ۱ تا ۲۷ :
خونه ۲۷ --> a333 --> که ۲ + ۷ = ۳ + ۳ + ۳
خونه ۲۶ --> a332 --> که ۲ + ۶ = ۲ + ۳ + ۳
الی آخر ...
از همین سر نخ برا حالت اول استفاده کنید .
در این مثالی که زدم هر صفحه ۹ تا عنصر هر سطر ۳ تا عنصر و هر ستون ۳ تا عنصر داره :
۲۵ مثلا ۹ + ۹ + ۷ که یعنی دو تا صفحه رو پر کرده رفته صفحه سوم عنصر ۷ ، باز ۷ هم میشه ۳ + ۳ + ۱ که یعنی دو تا سطر رو پر کرده رفته سطر سوم ۱ هم که میشه ستون اول
از همین سرنخی که گفتم هم برا حالت دوم استفاده کنید ...
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close