C++ এ ডেটা স্ট্রাকচার কি?

C E Deta Strakacara Ki



উপাত্ত কাঠামো কম্পিউটার বিজ্ঞানের একটি মৌলিক ধারণা, এবং C++ বিল্ট-ইন এবং ব্যবহারকারী-সংজ্ঞায়িত ডেটা স্ট্রাকচারের একটি বিস্তৃত পরিসর প্রদান করে যা দক্ষতার সাথে ডেটা সংগঠিত, ম্যানিপুলেট এবং সংরক্ষণের জন্য অপরিহার্য। আপনি একজন শিক্ষানবিস বা একজন অভিজ্ঞ প্রোগ্রামার হোন না কেন, অপ্টিমাইজড অ্যালগরিদম তৈরি এবং জটিল সমস্যা সমাধানের জন্য C++-এ ডেটা স্ট্রাকচার বোঝা অত্যন্ত গুরুত্বপূর্ণ।

এই নিবন্ধে, আমরা এর গুরুত্ব অন্বেষণ করব উপাত্ত কাঠামো , বিভিন্ন ধরনের উপাত্ত কাঠামো C++ এ উপলব্ধ, এবং কিভাবে আপনার প্রোগ্রামগুলিতে কার্যকরভাবে ব্যবহার করবেন।

C++ এ ডেটা স্ট্রাকচার কি?

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







C++ এ, উপাত্ত কাঠামো নিম্নলিখিত সিনট্যাক্স আছে:



গঠন গঠন_নাম {

datatype1 name1 ;

datatype2 name2 ;

datatype3 name3 ;

datatype4 name4 ;

..

..

..

} obj_name ;

উপরের সিনট্যাক্সে, the struct কীওয়ার্ড গঠন সংজ্ঞায়িত করার জন্য ব্যবহৃত হয় এবং গঠন_নাম কাঠামোর ব্যবহারকারী-সংজ্ঞায়িত নাম এবং এটি পরিবর্তিত হতে পারে। দ্য ডেটাটাইপ 1 কাঠামোর সদস্যের ডেটা টাইপ এবং নাম1 কাঠামোর সদস্যের নাম এবং obj_name বস্তুর নাম যার জন্য গঠন সংজ্ঞায়িত করা হয়েছে।



উদাহরণ

নীচের উদাহরণে, গঠন তথ্য তিন সদস্য নিয়ে গঠিত: নাম বয়স, এবং নাগরিকত্ব





গঠন তথ্য

{

চর নাম [ পঞ্চাশ ] ;

int নাগরিকত্ব ;

int বয়স ;

}

আসুন এই কোডটি C++ এ রান করি, আমরা এই সমস্ত সদস্যকে স্ট্রাকচার পার্সনে সংজ্ঞায়িত করেছি এবং কোনো স্থান বরাদ্দ করিনি। মূল ফাংশনে, আমরা এই সদস্যদের নির্দিষ্ট মান দিয়ে শুরু করেছি এবং তাদের মুদ্রণ করেছি:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

গঠন তথ্য

{

স্ট্রিং নাম ;

int বয়স ;



} ;

int প্রধান ( অকার্যকর ) {

গঠন তথ্য পৃ ;

পি. নাম = 'জয়নব' ;

পি. বয়স = 23 ;

cout << 'ব্যক্তির নাম:' << পি. নাম << endl ;

cout << 'ব্যক্তির বয়স:' << পি. বয়স << endl ;

ফিরে 0 ;

}

কোড নামের একটি struct সংজ্ঞায়িত করে তথ্য দুটি বৈশিষ্ট্য সহ: নাম এবং বয়স। প্রধান ফাংশন, একটি নতুন তথ্য বস্তু তৈরি করা হয় এবং এর নাম এবং বয়স নির্ধারণ করা হয়। অবশেষে, এই ক্ষেত্রগুলির মানগুলি cout ব্যবহার করে কনসোলে প্রিন্ট করা হয়।



C++ এ ডেটা স্ট্রাকচারের শ্রেণীবিভাগ

C++ এ তথ্য কাঠামো দুটি বিস্তৃত বিভাগে বিভক্ত: লিনিয়ার এবং ননলাইনার ডেটা স্ট্রাকচার . নিম্নলিখিত বৈশিষ্ট্যগুলির উপর ভিত্তি করে ডেটা স্ট্রাকচারগুলিকে ভাগ করা হয়েছে:

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

C++ এ ডেটা স্ট্রাকচারের বিভাগগুলি হল:

1: অ্যারে

অ্যারে হল C++ এর সবচেয়ে মৌলিক ডেটা স্ট্রাকচার। অ্যারে হল একই ডেটা টাইপের উপাদানগুলির গ্রুপ। অ্যারেগুলি সম্পূর্ণ ডেটা সেটে ক্রিয়াকলাপ সম্পাদন করা সহজ করে তোলে। অ্যারেতে সংরক্ষিত মানগুলি উপাদান হিসাবে পরিচিত।

2: লিঙ্ক করা তালিকা

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

3: স্ট্যাক

স্ট্যাক হল বিমূর্ত ডেটা টাইপ যা LIFO (লাস্ট ইন ফার্স্ট আউট) নীতি অনুসরণ করে। এই নিয়মের অর্থ হল শেষ পর্যন্ত ঢোকানো উপাদানটি প্রথমে মুছে ফেলা হবে। এগুলি পুনরাবৃত্ত ব্যাকট্র্যাকিং অ্যালগরিদমের সাথে ব্যবহার করা হয়।

4: লেজ

সারিগুলিও বিমূর্ত ডেটা টাইপ এবং FIFO (ফার্স্ট ইন এবং ফার্স্ট আউট) নিয়ম অনুসরণ করে। এই নিয়মের অর্থ হল যে উপাদানটি প্রথমে ঢোকানো হয়েছে তা প্রথমে মুছে ফেলা হবে। রিয়েল-টাইম সিস্টেম ব্যাখ্যা পরিচালনা করার সময় তারা সহায়ক।

5: গাছ

গাছগুলি হল একাধিক নোড সহ ননলিনিয়ার ডেটা স্ট্রাকচারের একটি সেট। এটি দুটি শীর্ষবিন্দু সহ শুধুমাত্র একটি প্রান্তের অনুমতি দেয়।

6: গ্রাফ

একটি গ্রাফে, প্রতিটি নোড একটি শীর্ষ এবং প্রতিটি শীর্ষবিন্দু একটি প্রান্তের মাধ্যমে অন্য শীর্ষের সাথে সংযুক্ত থাকে। গোলকগুলি শীর্ষবিন্দু এবং তীরগুলি প্রান্তগুলি, এগুলি বাস্তব-জীবনের পরিস্থিতি বা নিউরাল নেটওয়ার্কগুলি বাস্তবায়নের জন্য ব্যবহৃত হয়৷ গ্রাফগুলির তিনটি ভিন্ন প্রকার রয়েছে: অনির্দেশিত গ্রাফ, দ্বি-নির্দেশিত গ্রাফ এবং ওজনযুক্ত গ্রাফ।

ডাটা স্ট্রাকচারের উপর অপারেশন করে

আমরা C++ এ ডেটা স্ট্রাকচারে নিম্নলিখিত ফাংশনগুলি সম্পাদন করতে পারি:

  • ডেটা স্ট্রাকচারে নতুন ডেটা উপাদান সন্নিবেশ।
  • ডেটা স্ট্রাকচার থেকে বিদ্যমান ডেটা উপাদানগুলি সরানো।
  • ডেটা স্ট্রাকচারের সমস্ত ডেটা উপাদানগুলি প্রদর্শন করুন।
  • ডেটা স্ট্রাকচারে নির্দিষ্ট উপাদানের জন্য অনুসন্ধান করুন।
  • সমস্ত উপাদানকে আরোহী বা অবরোহ ক্রমে সাজান।
  • দুটি ডেটা স্ট্রাকচার থেকে উপাদান একত্রিত করুন এবং নতুন একটি তৈরি করুন।

শেষের সারি

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