জাভা - কেন আমরা একটি অ্যারেটিকে "ভেক্টর" বলি?


20

আমি জাভা প্রোগ্রামিংয়ের একটি বই পড়ছি, এবং নিশ্চিত করতে চাই যে আমি "ভেক্টর" শব্দের সংজ্ঞাটি বুঝি। উইকিপিডিয়া বলছে ভেক্টর হ'ল "এক-মাত্রিক অ্যারে", উত্স http://en.wikedia.org/wiki/Vector

এটি অ্যারে কেবল একটি অ্যারে কল করা কি সহজ হবে? আমাদের "ভেক্টর" এর মতো অভিনব ভাষা ব্যবহার করার কোনও কারণ আছে কি? একটি অ্যারে এবং ভেক্টর মধ্যে পার্থক্য আছে?


এখানে চিত্র বর্ণনা লিখুন

উত্স: কোডিং ইন্টারভিউ ক্র্যাকিং, চতুর্থ সংস্করণ, গেইল ম্যাকডোভেল, পৃষ্ঠা 47।

এফএকিউ
প্রশ্ন - আপনি কেন এটি ইংরেজী.স্ট্যাকেক্সেঞ্জ.কম এ পোস্ট করেন নি?
এ - কারণ আমি মনে করি কেবল কম্পিউটার বিজ্ঞানমুখী লোকেরই ভাল উত্তর হবে।


1
ভেক্টরগুলি অ্যারেলিস্টগুলির মতো নয়, কারণ বিল্ট-ইন সিঙ্ক্রোনাইজেশনের কারণে। আরো এখানে তথ্য: stackoverflow.com/questions/2986296/...
Jeroen Vannevel

অফ-বিষয়: "ভেক্টর" শব্দটি কেবল জাভাতে ব্যবহৃত হয় না। 1. সি ++ লাইব্রেরিতে রয়েছে std::vector<…>(গতিশীল আকারের "অ্যারে")। ২. সিএলআর (। নেট রানটাইম) "অ্যারে" এবং "ভেক্টর" এর মধ্যেও পার্থক্য করে, দ্বিতীয়টি পূর্বের, বিশেষত এক-মাত্রিক, শূন্য-ভিত্তিক একটি বিশেষ ক্ষেত্রে)। এই পার্থক্যটি গুরুত্বপূর্ণ কারণ ভেক্টরগুলির জন্য বিশেষ অপ্টিমাইজেশন রয়েছে। 3. গণিত, একটি এন বাস্তব সংখ্যার -tuple এছাড়াও মাঝে মাঝে "ভেক্টর" বলা হয়।
stakx

1
@ জিরোয়ানভেনভেল আমি মনে করি আপনি ভেক্টর শ্রেণি এবং ভেক্টরের ধারণার মধ্যে বিভ্রান্তি তৈরি করেছেন যা একটি ইউনিফিমেনশনাল অ্যারে হিসাবে বিবেচনা করা যেতে পারে।
সি.চ্যাম্পাগেন

ওটি, আপনি যদি কম্পিউটার বিজ্ঞানের লোকদের কাছ থেকে উত্তর চান তবে কেন এখানে সিএস.স্ট্যাকেক্সেঞ্জারে পোস্ট করবেন না? আর জাভা পতাকা কেন? আমার প্রোগ্রামিং ক্লাস থেকে আমি যা মনে করি তা থেকে অ্যারে রয়েছে এবং তারপরে লিঙ্কযুক্ত তালিকা রয়েছে। অ্যারে বাদে, পাত্রে (ভেক্টর, তালিকা, মানচিত্র, হিপ ইত্যাদি) সংযুক্ত-তালিকা হিসাবে প্রয়োগ করা হয়।
imel96

2
কেন আমরা কোনও ভেক্টরকে অ্যারে বলি?
m3th0dman

উত্তর:


35

সাধারণ ব্যবহারে, একটি "অ্যারে" অর্থ একক মাত্রিক অ্যারে বা বহুমাত্রিক অ্যারে হতে পারে। এছাড়াও, গণিতে, একটি ম্যাট্রিক্স একটি 2-মাত্রিক অ্যারে হয় তবে ভেক্টর 1-মাত্রিক অ্যারে হয়।


8
অফ-বিষয়: গণিতে, একটি "স্কেলার" 0-মাত্রিক অ্যারে?
স্টাকেক্স

6
@ স্টাকেক্স: হ্যাঁ, এটা ঠিক। সাধারণত একটি স্কেলার কেবল একটি স্কেলার হয়, আসলে কেউ এটিকে "0-মাত্রিক অ্যারে" বলবে না। তবে ধারণাটি সঠিক।
গ্রেগ হিউগিল

2
এগুলি আরও বেশি সঠিক যে তারা সমস্ত টেনসর say ওল্ফ্রাম ম্যাথওয়ার্ল্ড থেকে: "টেনারগুলি হল স্কেলারগুলির সাধারণীকরণ (যার কোনও সূচক নেই), ভেক্টর (যার ঠিক একটি সূচক থাকে) এবং ম্যাট্রিকেস (যা ঠিক দুটি সূচক রয়েছে) একটি নির্বিচার সংখ্যক সূচকগুলিতে।" (রোল্যান্ড, টড এবং ওয়েইস্টেইন, এরিক ডব্লিউ। "টেনসর।" ম্যাথওয়ার্ল্ড থেকে - একটি ওল্ফ্রাম ওয়েব রিসোর্স ma mathworld.wolfram.com/Tensor.html )
সোফ

যেটি মূল্যবান তা হল, গণিতে কোনও ভেক্টর 1-মাত্রিক অ্যারে নয়। একটি ভেক্টর একটি ভেক্টর স্পেসের একটি উপাদান, এটি এমন একটি সেট যা উপাদানগুলি স্ক্যালারগুলি দ্বারা যুক্ত এবং গুণিত করা যায়।
mlainz

সর্বাধিক বিখ্যাত ভেক্টর স্পেস হ'ল R ^ n, উপাদান অনুসারে সংযোজন এবং গুণণের সাথে সংখ্যার "অ্যারে" সেট। আসল ফাংশনগুলির সেটটিও একটি ভেক্টর স্পেস, তবে সাধারণত লোকেরা ফাংশনগুলি অ্যারে হিসাবে ভাবেন না। অক্ষরগুলির একটি অ্যারে একটি ভেক্টর স্থান হবে না, যেহেতু সংযোজন এবং গুণনের কোনও সুস্পষ্ট পছন্দ নেই। গণিতের জারগনে, একটি অ্যারে হ'ল টিউপল বা সীমাবদ্ধ ক্রম। ভেক্টর নয় এমন টিউপসগুলির আরও উদাহরণের জন্য en.wikedia.org/wiki/Vector_(mathematics_and_physics) দেখুন ।
mlainz

10

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

অ্যারেলিস্টগুলি ভেক্টরগুলির থেকে পৃথক হয়ে থাকে যে ভেক্টরগুলি পৃথক ক্রিয়াকলাপগুলি সিঙ্ক্রোনাইজ করে যা এমন কিছু যা আপনি বিশেষত জোন স্কিটের সমঝোতার উদ্দেশ্যে করতে চান না । সুতরাং ভেক্টরকে অ্যারেলিস্টের পক্ষে অবজ্ঞা করা হয়েছে তবে কিছু এখনও এটিকে ভেক্টর হিসাবে ডাকে।

নাম মূলত একটি 1 মাত্রিক ম্যাট্রিক্স জন্য গাণিতিক শব্দ থেকে প্রাপ্ত করা হয়। এটি কাঠামোটি আসলে একটি এন-টিপল হওয়া সত্ত্বেও ।


2
আমি মনে করি আপনি ভেক্টর শ্রেণি এবং ভেক্টরের ধারণার মধ্যে বিভ্রান্তি তৈরি করেছেন যা একটি একক মাত্রার অ্যারে এবং আইএল নোট নির্দিষ্ট জাভা হিসাবে বিবেচনা করা যেতে পারে।
সি.চ্যাম্পাগেন

@ সিচ্যাম্পাগেন তিনি একটি জাভা উদাহরণ ব্যবহার করেছিলেন যাতে আমি তাকে দিয়েছি। আমি গাণিতিক নির্মাণের সংজ্ঞা যুক্ত করেছি, যা ঘটনাক্রমে প্রযুক্তিগতভাবে কোনও "ভেক্টর" নয়।
বিশ্ব প্রকৌশলী

2
আমি @ সি চ্যাম্পাগেনের সাথে আছি। যদি তারা ভেক্টর (শ্রেণি) বোঝায় তবে পাঠ্যটিতে একটি ক্যাপ ভি ব্যবহার করা হত They তারা একটি লোয়ারকেস ভি ব্যবহার করেছিল যা কোনও ভেক্টরের ক্লাসিকাল (শ্রেণি নয়) সংজ্ঞা নির্দেশ করে।
ig

ওম, ভেক্টরগুলিকে গণিতে ভেক্টর বলা হয় । আপনার অর্থ কী, "প্রযুক্তিগতভাবে 'ভেক্টরও নয়"?
অ্যান্ড্রেস এফ।

@AndresF। অ্যারে বা "ভেক্টর" এর মতো সংখ্যার একটি সেট একটি এন-টুপল হবে এটি আমার বোধগম্য কারণ এটি মানগুলির একটি পৃথক সংগ্রহ।
ওয়ার্ল্ড ইঞ্জিনিয়ার 21

4

সাধারণত, ভেক্টর এবং অ্যারে একই জিনিস হয় এবং প্রোগ্রামিংয়ের সময় আন্তঃ বিনিময়যোগ্য হিসাবে ব্যবহৃত হয়। এটি বেশিরভাগ জায়গায় রয়েছে তাই বেশিরভাগ সময় আপনার এটি নিয়ে খুব বেশি চিন্তা করা উচিত নয়।

এটি বলেছিল, ভাষাটি অপ্রচলিত এবং আমাদের মাঝে মাঝে বিভিন্ন শব্দগুলির বিভিন্ন অর্থ রয়েছে যা একই জিনিসটির অর্থ হয় বা একটি শব্দ যার দুটি বা তার বেশি অর্থ হয়।

সি-তে একটি অ্যারে হ'ল একই ধরণের ডেটা উপাদানগুলির একটি সিরিজ যা স্বচ্ছন্দে স্মৃতিতে সঞ্চয় করা হয়। জাভা উত্তরাধিকার সূত্রে এই অর্থ। এটি তালিকা বা ভেক্টরের মতো নয়, কারণ অ্যারেগুলির তুলনায় এটি আরও বেসিক।

একটি ভেক্টর একটি গাণিতিক কনস্ট্রাক্ট একটি বস্তু যে একই ধরণের অন্য বস্তুর যোগ করা যেতে পারে, অথবা একই ধরণের আরেকটি ভেক্টর ফলে কোনো বাস্তব (অথবা জটিল) সংখ্যা দ্বারা গুন করতে হিসাবে সংজ্ঞায়িত করা হয়। এটিতে আরও কয়েকটি বৈশিষ্ট্য রয়েছে যা খুব কার্যকর।

একটি ভেক্টরের মাত্রা রয়েছে । এটি বিভিন্ন ভেক্টরের ন্যূনতম সংখ্যা যা এই ধরণের প্রতিটি সম্ভাব্য ভেক্টর পেতে মিলিত হতে হবে। বেগ এবং ত্বরণ ত্রিমাত্রিক ভেক্টর কারণ স্পেসের 3 টি বেস দিক রয়েছে এবং এই তিনটি ভিত্তিক দিকের গুণক যুক্ত করে আপনি স্থানটিতে যে কোনও অবস্থান পেতে পারেন। একটি প্লেনে অবস্থান একটি দ্বিমাত্রিক ভেক্টর এবং স্বতন্ত্র সংখ্যাগুলি 1-মাত্রিক ভেক্টর।

মাত্রা n এর একটি ভেক্টরকে উপস্থাপন করার একটি উপায় হ'ল এন উপাদানগুলির একটি অ্যারে ব্যবহার করে প্রত্যেকটি প্রতিনিধিত্ব করে যে আপনার ভেক্টরে উঠতে প্রতিটি বেস ভেক্টরকে কতটা যুক্ত করতে হবে।

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

অন্য একটি ক্ষেত্রে যেখানে একটি শব্দের দুটি পৃথক অর্থ রয়েছে, উদাহরণস্বরূপ, মাত্রা । 1-মাত্রিক অ্যারে হিসাবে কোনও ভেক্টরের উইকিপিডিয়া সংজ্ঞা একটি উদাহরণ। আপনি এখানে ভেক্টর মাত্রা নিয়ে কথা বলছেন না। আপনি ডেটা স্ট্রাকচারের কম্পিউটার উপস্থাপনের কথা বলছেন। একটি 3-মাত্রিক ভেক্টর আকারের "1-মাত্রিক" অ্যারে দ্বারা প্রতিনিধিত্ব করা যেতে পারে 3. লাইন 3 সংখ্যা। একটি 3x3 ম্যাট্রিক্সকে "2-মাত্রিক" অ্যারে দ্বারা প্রতিনিধিত্ব করা যেতে পারে, যা প্রোগ্রামাররা অ্যারের অ্যারে বলে। তবুও একটি 3x3 ম্যাট্রিক্স 9 মাপের একটি গাণিতিক ভেক্টর (যেহেতু এটিতে একটি ভেক্টরের সমস্ত বৈশিষ্ট্য রয়েছে) এবং 9 টি সংখ্যা রয়েছে। বিভ্রান্ত, হাহ?

যাইহোক, আমি মনে করি উত্তরটি কেবল সহজ: চিন্তা করবেন না। এটি সব প্রসঙ্গে নির্ভর করে। দুটি শব্দ বিভিন্ন উত্স আছে, কিন্তু ডাটা স্ট্রাকচার প্রেক্ষাপটে, যখন তারা বলে ভেক্টর তারা ঠিক মানে অ্যারের


আমি এটা সত্য মনে করি না। অ্যারে জুড়ে প্রায় সমস্ত নথিতে আমি স্থির আকারের বোঝায়, ভেক্টর সূচিত করে কাঠামোটি গতিযুক্ত আকারের হতে পারে (তবে প্রয়োজনীয় নয়)। পদগুলির গাণিতিক সংজ্ঞাগুলি প্রোগ্রামিংয়ের প্রসঙ্গে অবিশ্বাস্যভাবে বিভ্রান্তিকর।
চুউ

-1

উপরের উত্তরগুলি বর্ণনা করে যে কেন এই শ্রেণিটি একটি "অ্যারে" থেকে পৃথক - এবং আমি সন্দেহ করি যে একটি আলাদা নাম ব্যবহার করার কারণটি হ'ল প্রোগ্রামাররা একটি সুসংহত নামকরণের সাহায্যে সহায়তা করে - অন্য কথায় আপনি যদি "ভেক্টর" সম্পর্কে কথা বলেন তবে আপনার ক্লাসটি কী বলতে চাইছেন তা স্পষ্টভাবে পরিষ্কার করুন, যদি সমস্ত অনুরূপ শ্রেণিগুলি কেবল অ্যারে হয় তবে এটি সম্পূর্ণ পরিষ্কার হবে না।


-1

আমি মনে করি "ভেক্টর" শব্দটি সি ++ এর এসটিডি :: ভেক্টর থেকে এসেছে। এটি জাভা এবং সি # এর আগে উপস্থিত হয়েছিল।


3
দয়া করে (দৃ strongly়ভাবে) আপনার মতামতের ব্যাক আপ করার জন্য একটি বাহ্যিক রেফারেন্স যুক্ত করার বিষয়টি বিবেচনা করুন।

-1

এটি স্লোপী সম্পাদনা মাত্র

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

আমি আপনাকে "দশ মিনিটের মধ্যে এটি শিখুন" বইয়ের এই ধরণের এড়াতে পরামর্শ দিই। সাধারণত এগুলি দ্রুত এবং opালুভাবে লেখা হয়। জ্ঞানের এই স্তরটি আপনাকে কোনও গুরুতর দোকানে কাজ দেবে না।

পরিবর্তে কভার করা প্রযুক্তির স্বীকৃত ব্যবহারকারীদের দ্বারা ভাল-পর্যালোচিত বইগুলি সন্ধান করুন এবং বোঝার জন্য পড়ুন।


1
"প্রাথমিক সংস্করণ ... ছিল"? আর কী java.util.Vector?
মনিকা পুনরায় ইনস্টল করুন - এম শ্র্র্ডার

1
Java.util.Vector যা হ'ল তা হ'ল। :-)
ব্রায়ান নোব্লাচ

-1

ভেক্টর শব্দটি ইঞ্জিনিয়ারিং / পদার্থবিজ্ঞান থেকে এসেছে। ভেক্টরগুলি 2 এবং 3 টি মাত্রিক লাইনের প্রতিনিধিত্ব করে যার একটি দিক রয়েছে। উদাহরণস্বরূপ, আসুন বলি যে একটি অনুমানের 20 মি / সেকেন্ডার অনুভূমিক বেগ এবং 10 মি / সেকেন্ডের একটি উল্লম্ব গতিবেগ থাকে। সুতরাং আপনি এটিকে (20,10) হিসাবে উপস্থাপন করবেন। এটি একধরনের ডায়াগোনাল ডানদিকে উড়ছে, সুতরাং এখন দেখুন গণিতের গতিবেগের ভেক্টরগুলি কীভাবে অ্যারে ওরফে ভেক্টর হয়ে যায়।


-2

আমরা অ্যারে ভেক্টর বলি না, হয় আপনি আপনার উত্সকে ভুল বুঝেছেন বা উত্সটি জাভাকে ভুল বোঝে, বা উভয়ই।
একটি অ্যারে ভেক্টরের থেকে একেবারে আলাদা ডেটাস্ট্রাকচার যা আবার কোনও তালিকার চেয়ে আলাদা (যা আপনার আটকানো কোড ব্যবহার করে)।

অবশ্যই জাভাতে একটি গাণিতিক ভেক্টর তিনটি প্রক্রিয়া ব্যবহার করে প্রয়োগ করা যেতে পারে, এবং হুডের অধীনে বা ভেক্টর এবং তালিকা উভয় অ্যারে ব্যবহার করে প্রয়োগ করা যেতে পারে।

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