অ্যারে দিয়ে কীভাবে "চতুর্থ মাত্রা" কাজ করে?


30

সারাংশ:

সুতরাং, আমি যেমন এটি বুঝতে পারি (যদিও আমার খুব সীমাবদ্ধ বোঝাপড়া আছে), সেখানে তিনটি মাত্রা রয়েছে যা আমরা (সাধারণত) শারীরিকভাবে নিয়ে কাজ করি:

1 ম একটি লাইন দ্বারা প্রতিনিধিত্ব করা হবে।
2 য় একটি বর্গ দ্বারা প্রতিনিধিত্ব করা হবে।
3 য় একটি কিউব দ্বারা প্রতিনিধিত্ব করা হবে।

আমরা ৪ র্থ স্থানে না আসা পর্যন্ত যথেষ্ট সহজ - 3 ডি স্পেসে আঁকানো খুব কষ্টকর, যদি আপনি বুঝতে চান আমার অর্থ কী ... কিছু লোক বলে যে এটির সময়ের সাথে কিছু করার আছে ।

প্রশ্নটি:

এখন, যদিও এটি সমস্ত কিছু বোঝায় না, এটি আমার কাছে দুর্দান্ত। আমার প্রশ্নটি এ সম্পর্কে নয়, বা আমি এটি ম্যাথসো বা ফিজিক্সসোতে জিজ্ঞাসা করব। আমার প্রশ্ন: কম্পিউটার কীভাবে অ্যারে দিয়ে এটি পরিচালনা করে?

আমি জানি যে আপনি 4D, 5D, 6D, ইত্যাদি তৈরি করতে পারেন ... বিভিন্ন বিভিন্ন প্রোগ্রামিং ভাষায় অ্যারে তৈরি করতে পারেন, তবে আমি কীভাবে এটি কাজ করে তা জানতে চাই।


66
যদি 3 টি মাত্রা ঘনক্ষেত্র হিসাবে ভিজ্যুয়ালাইজ করা যায়, তবে 4 মাত্রা একটি লাইনে কিউবের গুচ্ছ হিসাবে ভিজ্যুয়ালাইজ করা যায়। 5 টি মাত্রা একটি গ্রিড হিসাবে ভিজ্যুয়ালাইজ করা যায় যেখানে গ্রিডের প্রতিটি কক্ষ থাকে ... একটি ঘনক্ষেত্র! এবং তাই উপর ... "চতুর্থ মাত্রা" (যাই হোক না কেন সময়ের সাথে সাথে না কিছুই আছে যে হয়), যদি না আপনি আপনার প্রোগ্রাম শব্দার্থবিদ্যা প্রেক্ষাপটে যেমন এটা নির্ধারণ করুন।
হতাশ

14
সাধারণভাবে, আপনি কঠোরভাবে শারীরিক গঠন হিসাবে মাত্রা সম্পর্কে চিন্তা এড়ানোর চেষ্টা করে এই ধারণাগত কুঁচকে উঠতে পারেন। উদাহরণস্বরূপ, কিছু মেশিন লার্নিং সমস্যা কয়েক সহস্রের মধ্যে একটি মাত্রিকতা থাকতে পারে, যেখানে প্রতিটি মাত্রা ডেটাসেটের বৈশিষ্ট্য।
স্টিভেন ইভার্স 0


6
স্টিভ ইভার্সের মন্তব্যে আরও একটি সাধারণ ডাটা টাইপ: একটি আরজিবি রঙের কথা ভাবেন। এর তিনটি মাত্রা রয়েছে, সুতরাং আপনি আরজিবি "রঙের স্থান" বিবেচনা করতে পারেন। এবার একটি আলফা উপাদান যুক্ত করুন। আপনার চারটি মাত্রা রয়েছে।
জোশ ক্যাসওয়েল

25
মনে রাখবেন যে কম্পিউটার জ্যামিতিক মাত্রাগুলির ধারণা সম্পর্কে চিন্তা করে না - সেগুলি কেবল মানুষের সুবিধার জন্য একটি ডিভাইস। যদি আপনি একটি 5x5x5x5 অ্যারে বরাদ্দ করেন তবে কম্পিউটারটি কেবল 625 উপাদানগুলির একটি অ্যারে বরাদ্দ করে এবং সেই অনুসারে আপনার সূচকগুলি দিয়ে গণিত করে।
ডেভিড জাং

উত্তর:


77

ভাগ্যক্রমে, প্রোগ্রামগুলি বাস্তব বিশ্বের শারীরিক বাধা দ্বারা সীমাবদ্ধ নয়। অ্যারেগুলি শারীরিক জায়গাতে সঞ্চয় করা হয় না, তাই অ্যারের মাত্রার সংখ্যা কোনও বিষয় নয়। এগুলি লিনিয়ার স্মৃতিতে সমতল হয়। উদাহরণস্বরূপ, দুটি উপাদান সহ একটি একক মাত্রিক অ্যারে হিসাবে রাখা যেতে পারে:

(0) (1)

একটি 2x2 মাত্রিক অ্যারে তখন হতে পারে:

(0,0) (0,1) (1,0) (1,1)

একটি ত্রি মাত্রিক 2x2x2 অ্যারে হতে পারে:

(0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) (1,0,1) (1,1,0) (1,1,1)

আপনি কোথায় আশাবাদী তা দেখতে পাচ্ছেন। চারটি মাত্রা হতে পারে:

(0,0,0,0) (0,0,0,1) (0,0,1,0) (0,0,1,1) (0,1,0,0) (0,1,0,1) (0,1,1,0) (0,1,1,1)
(1,0,0,0) (1,0,0,1) (1,0,1,0) (1,0,1,1) (1,1,0,0) (1,1,0,1) (1,1,1,0) (1,1,1,1)

10
কম্পিউটার অ্যারেগুলি মানুষের বোধগম্যতা বা দৃশ্য দ্বারা সীমাবদ্ধ নয়, তবে তারা শারীরিক প্রতিবন্ধকতা দ্বারা সীমাবদ্ধ, যেমন প্রতিটি দৈর্ঘ্যের n দৈর্ঘ্যের একটি অ্যারে n ^ d নেবে, বা আরও সাধারণভাবে বিভিন্ন দৈর্ঘ্যের মাত্রা, n1 × n2 ×… × য়।
মার্চ

6
@ কলটন অ্যালেন: আপনি কী উল্লেখ করছেন তা আমি নিশ্চিত নই। মাত্রা সংজ্ঞা বলে "সাধারণভাবে বলতে গেলে, এটা বস্তুর উপর একটি বিন্দু উল্লেখ করা প্রয়োজন স্থানাঙ্ক সংখ্যা।" সি হিসাবে ঘোষিত একটি অ্যারে int a[2][2][2];একটি ত্রি-মাত্রিক অ্যারে হবে।
গ্রেগ হিউগিল

4
"ভাগ্যক্রমে, প্রোগ্রামগুলি আসল বিশ্বের শারীরিক প্রতিবন্ধকতা দ্বারা সীমাবদ্ধ নয়" সুতরাং আমাদের কেন 4.5.5zz তে প্রসেসর রয়েছে এবং মেমরির শ্রেণিবিন্যাস সম্পর্কে কেউ যত্ন করে না, তাই না? এটি আমি পড়েছি এটি সবচেয়ে মজার উত্তর ....
Manu343726

24
@ মনু 343726 তিনি এই বিষয়টি উল্লেখ করছেন যে আমরা স্থান এবং সময়ের সীমিত মাত্রায় (তাত্ত্বিকভাবে) বাস করি, তবে কম্পিউটার মেমোরিতে অ্যারেগুলির "ভান" মাত্রা রয়েছে - এটি সমস্ত স্মৃতিতে রৈখিক স্থিতিশীল জায়গায় সংরক্ষণ করা হয় - তাই এগুলি কেবল সীমাবদ্ধ নয় আমরা যে মাত্রাতিরিক্ত বাস করি তার সংখ্যা tr ট্রল করবেন না> :(
ব্ল্যাকহক

15
@ মনু 343726: আমি সাবধানতার সাথে কম্পিউটারগুলি নয় প্রোগ্রামগুলি বলেছি । এটি সফ্টওয়্যার সম্পর্কে দুর্দান্ত জিনিসগুলির মধ্যে একটি।
গ্রেগ হিউগিল

49

আপনাকে উচ্চ স্থানিক মাত্রায় কল্পনা করার দরকার নেই, এটিকে কেবল ফার্ন পাতা হিসাবে ভাবুন। ফার্ন পাতা

প্রধান ডাঁটা হ'ল আপনার প্রথম অ্যারে, প্রতিটি শাখা একটি আইটেম যা এটি সংরক্ষণ করে। আমরা যদি কোনও শাখার দিকে তাকাই তবে এটি আপনার দ্বিতীয় মাত্রা। এটিতে এটির মতো ছোট ছোট শাখাগুলির সমান কাঠামো রয়েছে যা এর ডেটা উপস্থাপন করে। এগুলির পরিবর্তে তাদের নিজস্ব ছোট ছোট শাখা থাকে যা আমরা অভ্যন্তরের সর্বাধিক বা সর্বোচ্চ মাত্রিক অ্যারের ডেটার প্রতিনিধিত্বকারী ক্ষুদ্র পাতাগুলি না পাওয়া পর্যন্ত অব্যাহত থাকে।

আপনি যদি প্রতিটি স্তরটির নিজস্ব নাম দিয়ে ঘোষণা করেন তবে আপনি এই বিল্ডিংটি দেখতে পাচ্ছেন। কোডটি হ্রাস করতে আমি প্রতিটি স্তরের পরিবর্তনশীল পুনরায় ব্যবহার করছি:

leaf = 2;
tinyBranch = [leaf, leaf, leaf];
middleBranch = [tinyBranch, tinyBranch, tinyBranch];
bigBranch = [middleBranch, middleBranch, middleBranch];
mainBranch = [bigBranch, bigBranch, bigBranch];

1
এই ভিজ্যুয়ালাইজেশন কি আরও ঘনিষ্ঠভাবে একটি দাগযুক্ত অ্যারে উপস্থাপন করবে না?
ম্যাট জনসন-পিন্ট

2
@ ম্যাটজহানসন প্রথাগতভাবে হ্যাঁ, তবে এই উদাহরণটি বহুমাত্রিক অ্যারেগুলিও ব্যাখ্যা / ভিজ্যুয়ালাইজ করে না।
এমএমপ্পেন

4
+1 এটি কেবল একটি ঝরঝরে দৃষ্টিভঙ্গিই নয়, অনেক অ্যারে বাস্তবায়নের ক্ষেত্রে লিনিয়ার ব্যাখ্যার চেয়ে সত্যের কাছাকাছি। এখানে বেশিরভাগ লোকেরা "অ্যারে" শব্দটিকে সামঞ্জস্যপূর্ণ স্মৃতিতে সীমাবদ্ধ রাখবেন বা না করুক, "বহু-মাত্রিক অ্যারে " অবশ্যই অনেক ভাষার সাহিত্যে এই জাতীয় ব্যবস্থার জন্য ব্যবহৃত শব্দটি।
বিকাশকারী ডেভেলপমেন্ট 21

46

মাত্রাগুলি আপনি যা চান তা হ'ল, চতুর্থ মাত্রাটি সময় হওয়ার দরকার নেই। আপনি যদি ঘনক্ষেত্র হিসাবে তিনটি মাত্রা ভাবেন, তবে আপনি 4 টি মাত্রাকে কিউবের সারি হিসাবে ভাবতে পারেন। 5 টি মাত্রা, কিউবগুলির একটি গ্রিড এবং আরও অনেক কিছু।

আপনার চতুর্থ মাত্রা রঙ, বা ঘনত্ব বা অন্য কোনও সম্পত্তি হিসাবে ভক্সেলের 3 ডি সংগ্রহ থাকতে পারে।

আপনি যখন আপনার বহুমাত্রিক অ্যারের জন্য মেমরি বরাদ্দ করেন, এটি কেবল আপনার ডাটা টাইপের জন্য প্রতিটি মাত্রার পণ্য সর্বাধিক বরাদ্দ করে। আপনার যদি প্রতিটি মাত্রায় 10 টি উপাদানের 3 ডি অ্যারে বা 'কিউব' থাকে তবে আপনার কাছে 1000 টি উপাদান বরাদ্দ থাকবে। আপনি যদি চতুর্থ মাত্রায় 10 টি উপাদান দিয়ে একটি 4 ডি অ্যারে করেন তবে কম্পিউটারটি কেবল 10,000 ডলার বরাদ্দ করবে। এটি 5 টি মাত্রা পর্যন্ত গাঁটান এবং এটি 100,000 বরাদ্দ করবে।

কম্পিউটার প্রতিটি মাত্রাটি কী উপস্থাপন করে তা কোনও ধরণের অর্থের বিষয়ে চিন্তা করে না। উপাদানগুলির তালিকায় একক পয়েন্ট কোথায় রয়েছে তা নির্বাচন করতে কোনও মেমরি ঠিকানা নির্বাচন করা কেবলমাত্র গুণ।


26

কিছু নতুন চিকিত্সা ডিভাইসে আর অ্যান্ড ডি করার কল্পনা করুন, এমন একটি সেন্সর যা আপনি রোগীর বাহুতে রেখেছিলেন series আপনার পরীক্ষার জন্য সাত জন স্বেচ্ছাসেবক সরে আছেন। প্রতিটি সেন্সর কম-ফ্রিকোয়েন্সি, মধ্য-ফ্রিকোয়েন্সি এবং উচ্চ-ফ্রিকোয়েন্সি রিডিংয়ের প্রতিবেদন করে, যা আপনি প্রতি 100 মিমি প্রায় এক মিনিটের জন্য একবার নেন।

বিশ্লেষণ এবং প্লট করার জন্য কীভাবে সেই সমস্ত ডেটা মেমরিতে সংরক্ষণ করবেন?

একটি অ্যারে, স্পষ্টতই। এটি দেখতে দেখতে (মেক-আপ জেনেরিক সিউডোকোড ব্যবহার করে):

npatients = 7
nsensors = 4     // number of sensors on an arm
nchannels = 3
nsamples = 60.0 / 0.1
sensordata = Array[ npatients, nsensors, 2, nchannels, nsamples ]

এটি একটি পাঁচ মাত্রিক অ্যারে, এবং এ সম্পর্কে কৌতুকপূর্ণ, রহস্যময় বা অবাক হবার কিছুই নেই। এটি 5-মাত্রিক ইউক্লিডিয়ান স্পেসের সাথে সংযুক্ত করার চেষ্টা করার কোনও কারণ নেই। যে কোনও একটি ডেটা মান পেতে, আমরা একটি অভিব্যক্তি ব্যবহার করি

x = sensordata[6, 5, 1, 2, 338)

এটি ঠিক যেমন একটি রিলেশনাল ডাটাবেসকে জিজ্ঞাসা করার মতো যেখানে প্রতিটি ডাটা মানের জন্য আপনার কাছে একটি রেকর্ড রয়েছে, যেখানে পাঁচটি কলাম ধারণ করে রোগীর আইডি, সেন্সর আইডি এবং এই জাতীয় মান রয়েছে। একটি ডেটা পয়েন্ট পেতে আপনি যেখানে পাঁচটি শর্তাদি ব্যবহার করেছেন: সেন্সরডাটা WHERE থেকে প্যানিট নির্বাচন করুন (পেন্টিয়েন্টড = 6) এবং (সেন্সরিড = 5) এবং (আর্ম = "বাম") এবং (চ্যানেল = "মিডফ্রেইক") এবং (নমুনা সূচক = 338) )।

পাঁচ বা ততোধিক কলাম সহ একটি ডাটাবেস টেবিল সম্পর্কে রহস্যময় কিছুই নেই, আছে কি?

(আমি 1-ভিত্তিক সূচক ব্যবহার করছি যদিও বাস্তব জীবনে, 0-ভিত্তিক আরও সাধারণ।

মনে রাখবেন আমি অস্ত্রের সংখ্যা কঠোরভাবে কোড করার কারণে একটি খারাপ ছেলে। যদি আমাকে কখনও কোনও অক্টোপাসে এই সেন্সরগুলি তদন্তের জন্য তহবিল দেওয়া হয় তবে আমি সমস্যায় আছি!


3
+1 দুর্দান্ত উদাহরণ যা প্রমাণ করে যে আপনার প্রয়োজনীয় কোনও ডেটা হতে পারে demonst
মাইক

20

একটি অ্যারে কেবল ক্রমাগত স্মৃতির ব্লক block স্মৃতি সম্বোধন এক মাত্রিক, আপনি হয় এগিয়ে বা পিছনে যেতে পারেন। সুতরাং ধরে নিলাম আপনার কাছে 5 টি উপাদান সহ একটি অ্যারে রয়েছে, 5 টি মেমরি ব্লক সংরক্ষণ করা হবে। আপনার যদি প্রতিটি মাত্রায় 5 টি উপাদান সহ একটি 2-মাত্রিক অ্যারে থাকে তবে 25 মেমরি ব্লক সংরক্ষণ করা হবে।


5
হ্যাঁ, আপনি আপনার অ্যারেগুলিতে আরও মাত্রা যুক্ত করার কারণে এটি মনে রাখবেন। মেমরির ব্যবহার তুচ্ছ নয়।
ডেভিডাসকিন্স 21

18

... বা আমি ম্যাথসোতে এটি জিজ্ঞাসা করব ...

ঠিক আছে, গণিতবিদরা কখনই (বা কমপক্ষে সাধারণত না) সময়ের মতো কোনও কিছুর সাথে চতুর্থ মাত্রা যুক্ত করেন না। তাছাড়াও তারা ভালো কিছু স্থান সঙ্গে প্রথম তিন বেশী শরীক হবে: গণিতবিদ কেবল সংজ্ঞায়িত একজন বিমূর্ত সম্পত্তি হিসেবে মাত্রা, সাধারণত, একটি ভেক্টর স্থান (প্রায়ই এই সাধারণ হবে manifolds বা এমনকি মেট্রিক স্পেস )। এবং এই বিমূর্ত সংজ্ঞাটি আমাদের যে শারীরিক স্থানটি স্থানান্তরিত করতে পারে তার কতগুলি মাত্রা থাকে তা নিয়ে চিন্তা করে না। মাত্রাগুলির ধারণা এমন জায়গাগুলিতে প্রযোজ্য যা এমনকি শারীরিক স্থানের মতো হয় না। আসলে গণিতবিদরা (এবং প্রকৃতপক্ষে পদার্থবিজ্ঞানীরা) প্রায়শই অসীম মাত্রিক ব্যবহার করেন স্পেস যেমন কোয়ান্টাম মেকানিক্সের হিলবার্ট স্পেস।

এটি স্পষ্ট করে, আসুন অ্যারেগুলিতে কথা বলুন - আপনাকে ভেক্টর স্পেসগুলি বোঝার দরকার নেই, কারণ বিমূর্ত সংজ্ঞাটি এখানে আসলে অনেক সহজ much

একটি ( 0 × 1 × 2 × ... × n −1 )-আকারযুক্ত অ্যারে (অর্থাত্ মাত্রা n এর ) কেবল 01 ⋅ ... ⋅ n −1 সংখ্যার সংগ্রহ ( অথবা যেকোন ধরণের অবজেক্ট অ্যারেকে জনপ্রিয় করে তোলে)। এই দৈর্ঘ্যের এক-মাত্রিক অ্যারের সাথে একমাত্র পার্থক্য হ'ল আপনার কাছে নির্দিষ্ট মাত্রাগুলিকে পৃথকভাবে সূচিকরণের জন্য একটি দরকারী দরকারী উপায় আছে, যথা

আমি লিন = আমি এন −1 + n −1 ⋅ ( আমি এন −2 + n −1 ⋅ (... 2 ⋅ ( আমি 1 + 1আমি 0 ) ...))


পরিষ্কার হওয়ার জন্য, আপনার কেবলমাত্র 3 টি মাত্রা বিশিষ্ট 3 টি উপাদান সহ একটি অ্যারে প্রয়োজন এবং একটি এন এলিমেন্ট অ্যারে N মাত্রাগুলি বর্ণনা করে। তবে প্রতিটি ভেক্টরের বিশদ বিবরণ আলাদা গল্প। প্রায়শই, এটি একটি চিত্র ( imshowপাইথনে) দেখিয়ে সম্পন্ন হয় - এটি দুটি স্থানিক মাত্রার পাশাপাশি তৃতীয় রঙের মাত্রা প্রদর্শন করতে পারে।
স্কট

@ স্কট: আমি "অ্যারের মাত্রা" ধারণাটি দুর্ভাগ্যজনক বলে সম্মত করছি কারণ এর অর্থ হল এমন একটি জায়গার মাত্রিকতার সাথে সম্পর্কিত কিছু নয় যার ভেক্টররা আপনাকে অ্যারে দ্বারা প্রতিনিধিত্ব করতে পারে। (তবে আমি এটিও মনে করি যে প্রথম স্থানে সরল, নিরবচ্ছিন্ন অ্যারে দ্বারা ভেক্টরগুলিকে উপস্থাপন করা এত ভাল ধারণা নয়)) আরও ভাল নাম টেনারদের সাথে সাদৃশ্য অনুসারে একটি অ্যারের পদমর্যাদার হতে পারে ।
বাম দিকের বাইরে

13

প্রোগ্রামিংয়ে, অ্যারেগুলি প্রয়োগ করা বেশ সহজ, তবে সম্ভবত বুঝতে পারা যায় না।

সাধারণত, প্রতিটি স্তরের অ্যারের অর্থ সামগ্রী- nভাঁজ থাকা। এর মানে

  • int x[4]4 টি ব্লক, তাদের প্রত্যেকটিতে একটি রয়েছে int
  • int x[5][4]5 টি ব্লক, তাদের প্রত্যেকটিতে একটি রয়েছে int[4]
  • int x[3][5][4]3 টি ব্লক, তাদের প্রত্যেকটিতে একটি রয়েছে int[5][4]
  • int x[2][3][5][4]2 টি ব্লক, তাদের প্রত্যেকটিতে একটি রয়েছে int[3][5][4]

আপনি কীভাবে তাদের উল্লেখ করছেন তা আপনার উপর নির্ভর করে তবে আরও ভাল বোঝার জন্য আপনার মতো কিছু রয়েছে

  • COLUMN শেষের জন্য
  • ROW দ্বিতীয় শেষের জন্য
  • PAGE তৃতীয় শেষের জন্য

এখানে অবধি, আমি এটি কোথাও পড়েছি। এখানে থাকার জন্য, আমরা পাশাপাশি সংজ্ঞা দিতে পারি

  • BOOK চতুর্থ শেষ এক জন্য
  • এবং সম্ভবত SHELFপঞ্চম শেষের জন্য। (বা আপনি যদি পছন্দ করেন তবে SHELFROWআমরা চালিয়ে যেতে পারি))

এটি বলেছিল, আমি "বন্যজীবন" তে 4 বা তার বেশি 5 মাত্রার বেশি অ্যারে কখনও দেখিনি।

এইভাবে, আপনি int x[6][2][3][5][4]6 "তাক" এর সংকলন হিসাবে সংজ্ঞায়িত করতে এবং কল্পনা করতে পারেন , প্রতিটিতে 2 টি বই রয়েছে, প্রত্যেকের 3 টি পৃষ্ঠা রয়েছে, প্রতিটিতে 5 টি সারি রয়েছে, যার প্রত্যেকটিতে 4 টি কলাম রয়েছে।


13

ড্রয়ারের বুকের মতো এক-মাত্রিক অ্যারে সম্পর্কে চিন্তা করুন:

ড্রয়ারের বুক

প্রতিটি ড্রয়ার অ্যারের সূচক। আপনি প্রতিটি ড্রয়ারে যা খুশি তা রাখতে পারেন এবং অনেকগুলি উদ্দেশ্যে প্রতিটি ড্রয়ারে কেবল একটি একক আইটেম থাকবে (এটি একটি মাত্রিক অ্যারে)।

এই ড্রয়ারগুলির বুকটি যদিও মায়াবী, সুতরাং এটি দৈহিক স্থান দ্বারা সীমাবদ্ধ নয়। এর অর্থ হল যে আপনি ড্রয়ারের প্রথম বুকের প্রতিটি ড্রয়ারের মধ্যে ড্রয়ারের আরও একটি বুক লাগাতে পারেন । ড্রয়ারের অভ্যন্তরীণ বুকগুলি তারপরে আপনি যা চান তা ধারণ করতে পারে। এটি একটি দ্বিমাত্রিক অ্যারে।

সুতরাং আপনি "ড্রয়ারের প্রথম বুকের উপরের ড্রয়ারটি খুলুন, সেই ড্রয়ারটি থেকে ড্রয়ারের বুকটি বের করুন, তারপরে সেই দ্বিতীয় ড্রয়ারের বুকের নীচের ড্রয়ারটি খুলুন" এর মতো কিছু বলতে পারেন। এটি 2D অ্যারের সূচকটি অ্যাক্সেস করার মতো হবে: মাইআরাই [0] [3];

এবং অবশ্যই, বাইরের সর্বাধিক বুকের মধ্যে ড্রয়ারের বুকে নিজেরাই ড্রয়ারের বুক থাকতে পারে। এটি ত্রি-মাত্রিক অ্যারে

সুতরাং, আপনার প্রশ্নটি হল: চতুর্মাত্রিক অ্যারেটি কী? এটি অবশ্যই বুকের দানার বুকে আঁকার বুকে আঁকার বুকে ড্রয়ারের বুকে অবশ্যই!

এটি পুরোপুরি নিচে ড্রয়ার।


4
এটি দস্তাবেজদের বুকে পুরোভাবে নামছে, মানুষ।
থমাস এডিং

8
আর ড্রয়ারের শেষ বুকে? কচ্ছপ
কেভিন কর্মী

সামান্য পেডেন্টিক হচ্ছে। 4 টি নয়, প্রতিটি বুকে 3 টি ড্রয়ার রয়েছে (চিত্রের ভিত্তিতে), এবং আপনি বেস 0 সূচক ব্যবহার করছেন, নীচের ড্রয়ারটি 2 নয় 3 হবে So সুতরাং পরিবর্তে myArray[0][3]এটি হবে myArray[0][2]। তবে অন্যথায় ভাল ব্যাখ্যা।
টম হিয়ার্ড

@ টমহার্ড প্রথম ড্রয়ারের বুকের 3 টি ড্রয়ার রয়েছে তবে প্রথম ড্রয়ারের ভিতরে ড্রয়ারের বুকে 4 টি ড্রয়ার রয়েছে। Duh! : পি
কেভিন কর্মী

1
ওহ তাহলে ঠিক আছে। = ডি
টম হিয়ার্ড

5

এই প্রশ্নের বেশিরভাগ দিক ইতিমধ্যে বিবেচনা করা হয়েছে, তবে আমি মনে করি আপনি যদি একটি মাত্রার প্রকৃতি বিবেচনা করেন তবে এটি সাহায্য করবে। সমস্ত মাত্রা স্থানিক হয় না। একটি মাত্রা পরিমাপের জন্য একটি প্রসঙ্গ। এখানে কিছু উদাহরন:

  • ফ্রিকোয়েন্সি - রঙ বা পিচ
  • ভর
  • ঝালর
  • রঙ (উপরে কোয়ার্ক, ডাউন কোয়ার্ক, অদ্ভুত কোয়ার্ক, আকর্ষণীয় কোয়ার্ক ইত্যাদি)
  • দিক স্পিন
  • কোণ
  • loudness
  • উষ্ণতা (মরিচের)

"চতুর্থ" মাত্রাটি কেবল চতুর্থ কারণ তিনটি স্থানিক মাত্রা রয়েছে। স্থান এবং সময় তাঁত বড় কারণ, ভাল, তারা বড় তাঁত। আপনার মুখোমুখি। তবে কোনও পরিমানযোগ্য, পরিমাপযোগ্য গুণমান যদি আপনি এটি পরিমাপ করেন তবে একটি মাত্রা হতে পারে।

উদাহরণস্বরূপ, ব্রাসিয়ারগুলির তিনটি মাত্রা রয়েছে: কাপের আকার, বুকের আকার এবং আন্তঃস্থায়ী (আপনি জানেন না মেয়েরা কী তাকে ডাকেন তবে আমি কাপের মধ্যে দূরত্ব বোঝাতে চাইছি)।


1
"সমস্ত মাত্রা স্থানিক নয়" " অ্যারে জন্য, সব মাত্রা হয় স্থানিক।
রাইময়েড

2
@ রাইময়েড: অ্যারেগুলির জন্য, স্থান সম্পর্কে আমরা যেভাবে চিন্তা করি তাতে কোনও মাত্রা সহজাতভাবে স্থানিক নয়। : পি আমরা তাদের যা আমরা চাই প্রতিনিধিত্ব করতে সংজ্ঞায়িত।
সিএওও

@ সিএইচওও যদি তারা সঞ্চয় করা ডেটার শব্দার্থবিজ্ঞানের দিকে নজর দেয় তবে। তবে বিষয়গুলির উপস্থাপনামূলক / সিনট্যাকটিক / প্রয়োগের দিকে, সমস্ত অ্যারের মাত্রা সহজাতভাবে স্থানিক are অ্যালগরিদমের অংশ হিসাবে অ্যারেগুলি ব্যবহার করার সময় এটি নির্ভর করে।
রাইময়েড

@ রাইময়েড: এটি একই চিন্তার প্রক্রিয়া যার ফলে এই প্রশ্নটি প্রথম স্থানে জিজ্ঞাসা করা হয়েছিল। একটি মাত্রা গণনার মতো এটি স্থানিক করে তোলে না। বাস্তবায়নের দিক দিয়ে, কোনও স্থান নেই। কেবলমাত্র স্মৃতি রয়েছে এবং কোনও প্রোগ্রাম যতটা জানি / দেখায় / যত্ন করে ততক্ষণ স্মৃতি এক-মাত্রিক।
সিএওও

@ সিএইচও: বাস্তবায়নের দিক দিয়ে, জায়গা আছে, কারণ সময়ও আছে। 'স্পেস লিক' শব্দটি ('মেমরি ফুটো'র বিকল্প হিসাবে, হাস্কেল সম্প্রদায়ের মধ্যে পাওয়া যায়) কোনও কাকতালীয় ঘটনা নয়। স্মৃতিটিকে এক-মাত্রিক হিসাবে বর্ণনা করা হয়েছে তা বিসিপিএলের একটি heritageতিহ্য।
রাইময়েড

4

পদার্থবিজ্ঞানে আমরা প্রতিটি স্থানিক মাত্রা অসীম বলে ধরে নিই যা নতুন মাত্রার জন্য জায়গা খুঁজে পাওয়া বেশ কঠিন করে তোলে।

সীমাবদ্ধ অ্যারেগুলির সাথে কাজ করার সময়, জায়গা খুঁজে পাওয়া সহজ।

একটি গ্রিড মুদ্রিত কাগজের একটি শীট কল্পনা করুন; আপনি গ্রিডের প্রতিটি কক্ষে কিছু তথ্য লিখতে পারেন। এটি একটি 2 ডি অ্যারে: সারি এবং কলাম।

ফাইলের ফোল্ডারে সেই কয়েকটি কাগজের শীট রাখুন; এটি একটি 3D অ্যারে: পৃষ্ঠা, সারি এবং কলাম।

এই ফোল্ডারগুলির বেশ কয়েকটি ফাইল বাক্সে রাখুন। 4 ডি অ্যারে: ফোল্ডার, পৃষ্ঠা, সারি, কলাম।

একটি কাঠের প্যালেটে আয়তক্ষেত্রাকার গ্রিডে বাক্সগুলি সাজান। 6 ডি অ্যারে: বক্স-সারি, বক্স-কলাম, ফোল্ডার, পৃষ্ঠা, সারি, কলাম।

এগুলির উপরে বাক্সগুলির আরও গ্রিড স্ট্যাক করুন। 7 ডি অ্যারে: বাক্স-গভীরতা, বক্স-সারি, বক্স-কলাম, ফোল্ডার, পৃষ্ঠা, সারি, কলাম।

শিপিং পাত্রে প্যালেটগুলি ক্র্যামিং শুরু করুন: 9 ডি অ্যারে। (প্রতিটি স্ট্যাক ধারকটির অভ্যন্তরের অভ্যন্তরের মতোই লম্বা, সুতরাং আপনি এখানে কেবল আরও 2 টি মাত্রা পেতে পারেন))

ধারক জাহাজের ডেকে শিপিং পাত্রে স্ট্যাক আপ করুন: 12 ডি অ্যারে।

আপনার ধারক জাহাজের বহর এখন 13 ডি অ্যারে।


"আমরা প্রতিটি স্থানিক মাত্রাকে অসীম বলে ধরে নিয়েছি" অসীম এখানে আসলে সবচেয়ে বড় চুক্তি নয়, অবিচ্ছিন্ন হ'ল "আসল" সমস্যাটি (অর্থাত্ অতি-অগণিত অসীম, এবং আমাদের শারীরিকভাবে অর্থবহ তাই হোমোমোরফিক ম্যাপিং প্রয়োজন)।
বাম দিকের বাইরে

3

কার্টেসিয়ান স্থানাঙ্ক সিস্টেমে আপনার বিমানে এক্স এবং ওয়াই অক্ষ রয়েছে। আপনি বিমানের যে কোনও সংখ্যক (x, y) হিসাবে প্রতিনিধিত্ব করতে পারেন।

তিনটিতে- "স্পেস" (অন্যথায় কিউব হিসাবে পরিচিত), আপনি এক্স, y এবং z অক্ষ পেতে পারেন। আপনি কিউবার যে কোনও উপাদানকে (x, y, z) হিসাবে প্রতিনিধিত্ব করতে পারেন।

মাল্টিভাইয়ারেট স্পেসে আপনার এক্স, ওয়াই, জেড এবং ডাব্লু অক্ষ থাকতে পারে (যেখানে ডাব্লু অক্ষটি "কল্পিত")। আপনি সেই জায়গার যে কোনও উপাদানকে (x, y, z, w) হিসাবে উপস্থাপন করতে পারেন।

মহাকাশে এই সমস্ত পয়েন্ট ভেক্টর দ্বারা চিহ্নিত করা হয়। চার-স্পেসে আপনার দুটি ভেক্টর থাকতে পারে, যেখানে v1 = (x1, y1, z1, w1), এবং v2 = (x2, y2, z2, w2)। তারপরে আপনি এই ভেক্টরগুলিকে আপনার সংখ্যার হিসাবে চালিত করবেন। উদাহরণস্বরূপ, দুটি ভেক্টরের যোগফল, v1 + v2 হবে (x1, y1, z1, w1) + (x2, y2, z2, w2)। তারপরে আপনি এই ভেক্টরগুলি পদ হিসাবে সংখ্যার সাথে যুক্ত হিসাবে যুক্ত করবেন, পেতে: (x1 + x2, y1 + y2, z1 + z2, ডাব্লু 1 + ডাব্লু 2)।

আপনার প্রোগ্রামটি যথাযথ অ্যারে ব্যবহার করে ভেক্টরগুলি সংজ্ঞায়িত করবে এবং তারপরে উপযুক্ত ক্রমে তাদের গাণিতিক ক্রিয়াকলাপ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.