این درس روشهایی را که ما میتوانیم با ساختارهای داده کار کنیم، بررسی میکند. ساختارهای داده مانند سازمان دهندگان خاصی هستند که به ما کمک می کنند تا چیزها را مرتب کنیم. آنها در کامپیوتر و در زندگی روزمره استفاده می شوند. درست همانطور که اسباببازیها، کتابها یا لباسهای خود را مرتب میکنید، ساختارهای داده به ما کمک میکنند تا اطلاعات را بهگونهای ترتیب دهیم که بتوانیم آنها را به راحتی پیدا کرده و استفاده کنیم.
ساختار داده راهی برای ذخیره و ترتیب داده ها است. به آن مانند یک جعبه اسباب بازی، یک قفسه یا یک کیف مدرسه فکر کنید. در هر کدام از اینها هر چیزی جایگاه خاص خود را دارد. وقتی به دنبال اسباب بازی مورد علاقه خود می گردید، دقیقاً می دانید کجا آن را پیدا کنید. به همین ترتیب، ساختارهای داده، تمام داده ها را مرتب نگه می دارند تا رایانه ها و افراد بتوانند به سرعت و به درستی با آنها کار کنند.
به عنوان مثال، اگر یک جعبه برای مداد رنگی خود و جعبه دیگری برای پاک کن خود دارید، از یک سیستم استفاده می کنید. یک ساختار داده همان کار را انجام می دهد اما با اطلاعات. این اطمینان حاصل می کند که همه چیز مرتب و منظم است.
عملیات روی ساختارهای داده، مراحلی هستند که به ما کمک می کنند تا داده های سازمان یافته را به درستی تغییر دهیم یا بخوانیم. آنها مانند اقداماتی هستند که هنگام افزودن، حذف یا بررسی موارد در اتاق خود انجام می دهید. تصور کنید اتاق شما به هم ریخته است. ممکن است اسباببازیهای جدید اضافه کنید، اسباببازیهای شکسته را بردارید و گاهی اوقات هنگام تمیز کردن آنها را با هم مخلوط کنید. عملیات روی ساختارهای داده به ما کمک می کند تا این تغییرات را به روشی سازمان یافته انجام دهیم.
با استفاده از عملیات، می توانیم اطلاعات خود را به روز کنیم. رایانه ها از این عملیات برای اضافه کردن سریع یک دوست جدید به لیست، حذف یک پیام قدیمی یا یافتن یک فایل در یک پوشه استفاده می کنند. هر عملیات کار خاصی دارد که کار با داده ها را ساده و واضح می کند.
عملیات های زیادی وجود دارد که می توانیم روی ساختارهای داده انجام دهیم. ما در مورد پنج عملیات رایج صحبت خواهیم کرد: درج، حذف، جستجو، پیمایش و به روز رسانی. هر یک از این عملیات ها کار مشخصی دارند. اجازه دهید در مورد هر یک بیشتر بدانیم.
Insertion به معنای افزودن یک آیتم جدید به یک ساختار داده است. به کتاب برچسب مورد علاقه خود فکر کنید. هر بار که برچسب جدیدی دریافت می کنید، آن را به کتاب اضافه می کنید. این درج است.
مثال ساده: اگر لیستی از میوه هایی مانند سیب، موز، انگور دارید و میوه جدیدی دریافت می کنید، مثلاً انبه ، انبه را در لیست قرار می دهید. اکنون لیست سیب، موز، انگور، انبه است. به این ترتیب، فهرست یکبار طولانیتر میشود و همه موارد موجود هستند.
درج بسیار مفید است. اگر چیزهایی مانند ستاره، برچسب یا کارت جمع آوری می کنید، هر مورد جدید با یک مرحله ساده اضافه می شود. هنگامی که داده های جدید ظاهر می شوند، رایانه ها نیز همین کار را انجام می دهند.
حذف به معنای حذف یک آیتم از ساختار داده است. به تمیز کردن اتاق خود فکر کنید—ممکن است اسباببازیای را که شکسته است یا دیگر بازی با آن لذتبخش نیست، بردارید. یعنی حذف.
مثال ساده: با لیست میوه سیب، موز، انگور، انبه ، اگر تصمیم گرفتید که دیگر موز را نمیخواهید، آن را بیرون میآورید و لیست تبدیل به سیب، انگور، انبه میشود.
حذف به تمیز نگه داشتن داده ها کمک می کند. درست همانطور که کاغذهای قدیمی یا اسباب بازی های شکسته را دور می اندازید، رایانه داده های ناخواسته را حذف می کند تا همه چیز مرتب بماند.
جستجو به معنای جستجوی یک آیتم خاص در ساختار داده است. مثل این است که در سینه اسباب بازی خود به دنبال اسباب بازی مورد علاقه خود باشید. شاید لازم باشد آن را در میان بسیاری دیگر پیدا کنید.
مثال ساده: تصور کنید فهرستی از میوه ها دارید: سیب، انگور، انبه . اگر می خواهید ببینید که انگور در لیست است یا خیر، به هر میوه نگاه می کنید تا آن را پیدا کنید. جستجو به شما کمک می کند تا تصمیم بگیرید که آیا مورد وجود دارد یا خیر و در کجا قرار می گیرد.
جستجو مهم است. هنگامی که می خواهید بررسی کنید که آیا رنگ خاصی دارید یا کارت خاصی، در کل مجموعه خود را با دقت جستجو می کنید، هر بار یک مورد. در بسیاری از برنامه های کامپیوتری نیز همین اتفاق می افتد.
پیمایش به معنای مرور هر آیتم در ساختار داده یک به یک است. این درست مانند این است که تمام جیب های کت خود را چک کنید تا ببینید چه چیزی در داخل آن پیدا می کنید.
مثال ساده: اگر میخواهید همه میوههای فهرست خود را بشمارید سیب، انگور، انبه ، با اولین میوه شروع میکنید، به میوه بعدی میروید و به همین ترتیب تا زمانی که همه آنها را بشمارید ادامه دهید. به این فرآیند پیمایش می گویند.
پیمایش به شما کمک می کند کل تصویر را ببینید. درست مانند جمع کردن دوستان خود یکی یکی در صف، رایانه ها از پیمایش برای جابجایی داده ها و بررسی دقیق همه موارد استفاده می کنند.
به روز رسانی به معنای تغییر یک عنصر در ساختار داده است. زمانی که یک اسباب بازی را دوباره رنگ می کنید یا لباس آن را عوض می کنید، فکر کنید. به روز رسانی راهی به شما می دهد تا چیزی را بدون شروع دوباره، جدید جلوه دهید.
مثال ساده: اگر لیست میوه های شما سیب، انگور، انبه است و تصمیم دارید انگور را به نارنجی تغییر دهید، لیست را به روز می کنید و تبدیل به سیب، پرتقال، انبه می شود.
به روز رسانی مانند تغییر دادن چیزی است. رایانه ها از این عملیات برای تغییر جزئیات در داده ها استفاده می کنند. این یک راه سریع برای رفع تغییرات بدون از دست دادن سایر قسمت های لیست است.
ساختارهای داده به اشکال مختلفی وجود دارد. امروز، ما به سه نوع ساده که از این عملیات استفاده می کنند نگاه خواهیم کرد: لیست ها، پشته ها و صف ها. هر نوع دارای عملیاتی است که بهترین عملکرد را با سبک سازمانی منحصر به فرد خود دارد.
فهرست مجموعه ای ساده و مرتب از اقلام است. مانند یک لیست خرید یا لیستی از کارتون های مورد علاقه شماست. در لیست ها، هر آیتم دارای موقعیتی است و می توان از آن به طرق مختلف استفاده کرد.
در اینجا برخی از عملیات رایج در لیست ها آورده شده است:
لیست ها ساده و مفید هستند. شما هر روز لیست هایی می نویسید تا چیزها را به خاطر بسپارید. این لیست ها درست مانند لیست های کامپیوتری کار می کنند. آنها به شما کمک می کنند بسیاری از موارد را پیگیری کنید و به شما اطلاع می دهند که همه چیز دقیقاً کجاست.
پشته نوع خاصی از ساختار داده است. تصور کنید بشقاب ها روی یک میز چیده می شوند. قانون ساده است: آخرین بشقابی که روی پشته می گذارید اولین بشقابی است که برمی دارید. این قانون با نام Last-In-First-Out یا LIFO شناخته می شود.
در پشته ها، عملیات اصلی عبارتند از:
مثال ساده: تصور کنید کتاب های داستان مورد علاقه خود را روی هم می چینید. هر بار که کتاب داستان دیگری به دست می آورید، آن را بالا می برید. وقتی دوستتان می خواهد بخواند، شما کتاب داستان برتر را بیرون می آورید و به او می دهید. پشته ها به سازماندهی چیزها در یک نظم دقیق کمک می کنند.
صف یکی دیگر از ساختارهای داده رایج است. مانند صفی از مردم که در کامیون بستنی منتظر هستند کار می کند. اولین کسی که در صف می ایستد اولین کسی است که بستنی می گیرد. این قانون با نام First-In-First-Out یا FIFO شناخته می شود.
در صف ها، عملیات اصلی عبارتند از:
مثال ساده: به این فکر کنید که منتظر نوبت شما برای سوار شدن بر سرسره باشید. به انتهای خط میپیوندید و وقتی نوبت شما میشود، جلو میروید و از سواری لذت میبرید. صفها به همین ترتیب کار میکنند—همه بر اساس اینکه چه کسی اول وارد شده است، نوبت منصفانه ای دارد.
عملیات ساختار داده تنها در رایانه ها استفاده نمی شود. آنها در زندگی روزمره بسیار مفید هستند. در اینجا چند نمونه آورده شده است:
این عملیات اطمینان حاصل می کند که تمام اطلاعات ایمن، سازماندهی شده و آماده استفاده نگهداری می شوند. آنها به معلمان، کتابداران و مغازه داران کمک می کنند تا همه چیز را به خوبی پیش ببرند.
به برگزاری جشن تولد فکر کنید. یک لیست مهمان وجود دارد که نام ها را به آن اضافه می کنید (درج). اگر کسی نمی تواند بیاید، نام او را حذف می کنید (حذف). می توانید با مهمانان تماس بگیرید تا به آنها یادآوری کنید (در حال جستجو) و بررسی کنید که همه وارد شده اند (پیمایش). اگر یک مهمان صندلی خود را تغییر دهد، شما برنامه صندلی را به روز می کنید (در حال به روز رسانی). با تمرین این عملیات، می بینید که چگونه مدیریت داده ها بخشی از زندگی روزمره است.
همین مراحل به برنامه ریزی یک مهمانی کلاس یا سازماندهی تکالیف شما کمک می کند. هنگامی که منابع هنری خود را مرتب می کنید یا تصمیم می گیرید که کدام بازی را انجام دهید، از ایده های عملیات ساختار داده استفاده می کنید. مدیریت چیزهای خود را میتوان با انجام این کارهای ساده آسانتر کرد: افزودن، حذف، یافتن، نگاه کردن و تغییر.
حتی اگر عملیات اصلی مشابه هستند، نحوه عملکرد آنها بسته به ساختار داده تغییر می کند. در یک لیست، تقریباً در هر موقعیتی می توانید موارد را اضافه یا حذف کنید. در یک پشته، فقط می توانید موارد را از بالا اضافه یا حذف کنید. در یک صف، آیتم ها در یک سر اضافه شده و از سر دیگر حذف می شوند.
این تنوع به رایانه ها کمک می کند تا بهترین روش را برای یک کار انتخاب کنند. برای مثال، اگر کامپیوتری نیاز به پردازش وظایف به ترتیب داشته باشد، ممکن است از یک صف استفاده کند. اگر رایانه نیاز به ذخیره موقت موارد داشته باشد، ممکن است از پشته استفاده کند. درک این تفاوت ها به ما کمک می کند تا ببینیم چرا انتخاب های زیادی در سازماندهی داده ها وجود دارد.
دانستن این تغییرات را می توان با انتخاب جعبه های ذخیره سازی مختلف برای اهداف مختلف مقایسه کرد. برخی از جعبهها ممکن است فقط درپوشی داشته باشند که در آن موارد را اضافه یا حذف میکنید، در حالی که برخی دیگر دارای محفظههایی هستند که به شما امکان میدهند چیزها را به هر ترتیبی قرار دهید.
یادگیری در مورد عملیات ساختار داده مانند یادگیری یک بازی جدید است. بازی ها قوانین و مراحل مشخصی دارند. هر حرکتی که در بازی انجام می دهید یک نتیجه و راهی برای بازی مجدد دارد. عملیات ساختار داده مراحل روشنی را دنبال می کند که به شما در درک نظم و سازمان کمک می کند.
یک بازی تخته ای را تصور کنید که در آن کارت جمع می کنید. هر بار که کارتی را جمع آوری می کنید، آن را به مجموعه خود اضافه می کنید (درج). وقتی تصمیم می گیرید کارتی را با یکی از دوستانتان معامله کنید، آن را حذف می کنید (حذف). برای پیدا کردن کارت مورد علاقه خود، در عرشه خود جستجو می کنید (جستجو). هنگامی که زمان مرتب کردن کارت های خود برای بازی است، به هر کارت (پیمایش) نگاه می کنید. و اگر نسخه جدیدی از کارت دریافت کنید، عرشه خود را به روز می کنید (در حال به روز رسانی). هر عملیات مرحله ای است که بازی را سرگرم کننده تر و منظم تر می کند.
این طرز تفکر می تواند یادگیری را سرگرم کننده کند. با استفاده از مثال های روزمره، شما شروع به دیدن ارتباط بین کارهای روزانه خود و کار کامپیوتر می کنید. هر دو شامل مرتب نگه داشتن چیزها هستند که هم برای زمان بازی و هم برای زمان کار مهم است.
اجازه دهید از یک مثال اسباب بازی برای درک بهتر این عملیات استفاده کنیم. تصور کنید جعبه ای دارید که اسباب بازی های مورد علاقه شما را در خود جای می دهد. در اینجا نحوه فکر کردن در مورد هر عملیات آمده است:
این مثال ساده نشان می دهد که چگونه هر عملیات یک گام کوچک است. این مراحل با هم به مدیریت اسباببازیهای شما کمک میکنند، همانطور که به رایانهها در مدیریت اطلاعات کمک میکنند.
کامپیوترها همیشه از عملیات ساختار داده استفاده می کنند. وقتی یک بازی ویدیویی انجام میدهید، موتور بازی از لیستهایی برای پیگیری نمرات، بازیکنان و آیتمهای بازی استفاده میکند. وقتی در یک آلبوم عکس روی رایانه لوحی پیمایش می کنید، رایانه از پیمایش برای نمایش هر عکس یکی پس از دیگری استفاده می کند.
تصور کنید در حال ساخت یک آلبوم دیجیتال ساده از تصاویر مورد علاقه خود هستید. در اینجا نحوه انجام عملیات رایانه به شرح زیر است:
درک این عملکردها می تواند به شما کمک کند تا ببینید که چگونه اقدامات روزمره در رایانه لوحی شما بسیار شبیه مراحل ساده ای است که در اتاق خود انجام می دهید. هر دو مطمئن می شوند که کارها به روشی واضح و منظم کار می کنند.
امروز، ما یاد گرفتیم که ساختار داده یک راه ساده برای سازماندهی اطلاعات است، درست مانند سازماندهی اسباب بازی ها یا کتاب های خود. ما کشف کردیم که پنج عملیات اساسی در ساختارهای داده استفاده می شود:
ما همچنین در مورد انواع مختلف ساختار داده مانند لیست ها، پشته ها و صف ها آشنا شدیم. لیست ها به شما امکان می دهند به راحتی موارد را در هر جایی اضافه، حذف و تغییر دهید. پشته ها مطمئن شوید که آخرین موردی که اضافه می کنید اولین موردی است که حذف می کنید. صف ها مانند خطوط کار می کنند، جایی که اولین آیتم وارد شده، اولین آیتم خارج می شود.
این عملیات به رایانهها و افراد کمک میکند تا چیزها را سازماندهی کنند و پیدا کردن موارد مورد نیاز را آسانتر کنند. در زندگی روزمره، سازماندهی اسباببازیها، کتابها و حتی برنامهریزی روزتان شامل مراحل مشابهی است.
به یاد داشته باشید که عملیات ساختار داده فقط برای رایانه ها نیست. آنها ایده هایی هستند که ما هر روز از آنها استفاده می کنیم. با یادگیری این عملیات، می توانید درک واضح تری از نظم و ترتیب به دست آورید. این درس به شما نشان داد که گامهای کوچک و ساده میتوانند تفاوت بزرگی در مرتب و کارآمد نگه داشتن چیزها ایجاد کنند.
همانطور که به رشد و یادگیری ادامه می دهید، به نحوه سازماندهی وسایل خود در خانه فکر کنید. توجه داشته باشید که چگونه موارد جدید را اضافه می کنید، موارد قدیمی را حذف می کنید و به دقت نگاه می کنید تا چیزهای مورد علاقه خود را پیدا کنید. این مراحل همان مراحلی است که در ساختار داده استفاده می شود. با تمرین خواهید دید که همین مهارت ها هم در مدرسه و هم هنگام استفاده از کامپیوتر به شما کمک می کند.
با درک عملیات اساسی در ساختارهای داده - درج، حذف، جستجو، پیمایش و به روز رسانی - شما در حال ایجاد یک پایه قوی در نحوه مدیریت اطلاعات هستید. این نه تنها به شما در مطالعات کامپیوتری بعداً کمک می کند، بلکه شما را در سازماندهی جهان خود راهنمایی می کند.
این ایده های کلیدی را در ذهن خود نگه دارید: هر بخش از اطلاعات جایگاه خاص خود را دارد و استفاده از عملیات مناسب در زمان مناسب زندگی را آسان تر می کند. چه در حال مرتب کردن اتاق خود یا مدیریت فایل ها در رایانه باشید، این مراحل را به خاطر بسپارید و در حین انجام آن از آن لذت ببرید.