Google Play badge

massiv və əlaqəli siyahılar


Massivlər və əlaqəli siyahılar

Massivlər və əlaqəli siyahılar üzrə dərsimizə xoş gəlmisiniz. Bu dərsdə biz məlumatları saxlamaq və təşkil etmək üçün iki sadə üsul öyrənəcəyik. Təsəvvür edin ki, məktəbdə bir sıra oyuncaq qutuları və ya bir sıra şkaflar var. Massivlər və əlaqəli siyahılar oxşar şəkildə işləyir. Onlar bizə əşyaları səliqəli və asan tapmaqda kömək edir. Bu dərs bu fikirləri asanlıqla başa düşməyinizə kömək etmək üçün gündəlik nümunələrlə sadə dildə yazılmışdır.

Giriş

Məlumat strukturları kompüterlərə məlumatları saxlamağa və təşkil etməyə kömək edir. İki mühüm məlumat strukturu massivlər və əlaqəli siyahılardır. Massivi qutular cərgəsi, əlaqəli siyahı isə xəzinə axtarışında əlaqəli ipuçları zənciri kimi düşünə bilərsiniz. Bunların hər ikisi bizə oyuncaqlar, kitablar və ya hətta sevimli qəlyanaltılar kimi bir çox əşyaları izləməyə kömək edir.

Biz massivin nə olduğunu, əlaqəli siyahının nə olduğunu, necə işlədiyini və necə fərqli olduqlarını danışacağıq. Bu fikirləri mümkün qədər aydınlaşdıran real dünya nümunələrini də görəcəyik.

Massiv nədir?

Massiv sadəcə elementlərin toplusudur. Bu, hər qutuda bir əşyanın olduğu bir sıra qutulara bənzəyir. Məsələn, bir sıra düzülmüş beş qutudan ibarət dəsti təsəvvür edin. Sevimli oyuncaq və ya qəlyanaltı saxlamaq üçün hər qutudan istifadə edə bilərsiniz.

Massivdəki hər qutuda indeks adlanan nömrə var. Birinci qutu adətən 0 ilə nömrələnir, sonrakı 1, sonra 2 və s. Bu nömrələmə müəyyən bir elementi tez tapmağa kömək edir. Məsələn, üçüncü qutudakı elementi istəyirsinizsə, sadəcə indeks 2 olan qutuya baxın.

Massivdə bir elementi necə tapa biləcəyimizi izah etmək üçün sadə bir düstur. Əgər birinci xana başlanğıc nöqtəsindədirsə, onda hər hansı elementin ünvanı aşağıdakı kimi düşünülə bilər:

\( \textrm{Ünvan}(A(i)) = \textrm{Ünvan}(A(0)) + i \times \textrm{(bir maddənin ölçüsü)} \)

Bu, bizə deyir ki, birinci qutudan istədiyimiz qutuya keçmək üçün müəyyən sayda boşluqları saymalısan.

Massivlərin xassələri

Kiçik bir kinoteatrdakı oturacaqlar kimi bir sıra düşünün. Hər oturacağın bir nömrəsi var və onun nömrəsini bilirsinizsə, tez oturduğunuz yerə gedə bilərsiniz.

Massivin gündəlik nümunəsi

Təsəvvür edin ki, məktəbinizdə hər birinin unikal nömrəsi olan bir sıra şkaflar var. Çantanızı şkafınıza qoymağa gedəndə şkafdakı xüsusi nömrədən istifadə edirsiniz. Massivdə hər bir şkaf bir qutuya bənzəyir və nömrə sizə çantanızın və ya məlumatınızın saxlandığı dəqiq yeri bildirir.

Əlaqəli Siyahı nədir?

Əlaqəli siyahı elementləri saxlamağın başqa bir yoludur. O, massivdən fərqlidir, çünki uzun sıra sabit qutulardan istifadə etmir. Bunun əvəzinə qovşaqlar adlanan xüsusi qutulardan istifadə edir. Hər bir qovşaq bir elementə malikdir və həmçinin növbəti nodeun harada olduğunu bildirən bir göstəriciyə malikdir.

Təsəvvür edin ki, bir xəzinə axtarışındasınız. Tapdığınız hər bir ipucu sizə növbəti ipucunun harada gizləndiyini bildirir. Əlaqədar siyahıda hər bir qovşaq bu ipuçlarından birinə bənzəyir. İlk ipucu ilə başlayanda, sizə lazım olanı tapana qədər göstəricini bir qovşaqdan digərinə təqib edirsiniz.

Hər bir qovşağı kiçik bir zərf kimi düşünə bilərsiniz. Zərfdə bir kart (məlumat) və həmçinin qeyd (göstərici) var. Bu qeyd sizə hansı zərfin növbəti sırada gəldiyini bildirir.

Əlaqəli siyahı necə işləyir

Gəlin qovşağın nə olduğunu yazmağın sadə üsuluna baxaq:

Node = {data, göstərici)

Bir qovşaqdakı "məlumatlar" saxlanılan məlumatdır və "göstərici" sizi növbəti node istiqamətləndirən ox kimidir. Massivdən fərqli olaraq, əlaqəli siyahı bütün qovşaqların yaddaşda bir-birinin yanında olmasını tələb etmir; göstəricilər onları birləşdirdiyi müddətcə hər yerdə ola bilər.

Əlaqədar siyahıların növləri

Əlaqədar siyahıların müxtəlif üslubları var. Budur üç ümumi növ:

Əlaqəli Siyahının Real Dünya Nümunəsi

Təsəvvür edin ki, bir xəzinə xəritəsini izləyirsiniz. Xəritədəki hər bir addım sizə növbəti addımın harada olduğunu bildirir. Əlavə bir ipucu əlavə etsəniz və ya birini çıxarsanız belə, hər bir kartdakı ipucunu oxuyaraq davam edə bilərsiniz. Əlaqəli siyahı belə işləyir. Hər bir qovşaq (və ya ipucu) növbəti qovşaqla əlaqələndirilir ki, bu da sizə siyahıda bir addım keçməyə imkan verir.

Massivlər və əlaqəli siyahılar arasında müqayisə

Massivlər və əlaqəli siyahılar bizə elementləri saxlamağa kömək edir, lakin onlar bunu müxtəlif yollarla edirlər. Budur bəzi müqayisələr:

Üstünlüklər və Dezavantajlar

Hər bir məlumat strukturunun yaxşı hissələri və çətinlikləri var. Bunları başa düşmək istifadə etmək üçün ən yaxşısını seçməyə kömək edir.

Massivlər:

Üstünlüklər:

Dezavantajları:

Əlaqədar siyahılar:

Üstünlüklər:

Dezavantajları:

Massivlərlə işləmək

Gəlin görək massivdən sadə şəkildə necə istifadə edə bilərik. Tutaq ki, siz beş sevimli rənginizi saxlamaq istəyirsiniz. Beş qutudan ibarət massiv yaradırsınız. Sonra hər rəngi sıra ilə qutuya qoyursunuz. Məsələn:

İndi 2-ci Qutuda hansı rəngin olduğunu bilmək istəyirsinizsə, sadəcə olaraq həmin qutuya baxsanız, "Yaşıl"ı görəcəksiniz. Bu asan giriş massivdən istifadənin ən yaxşı hissələrindən biridir.

Əlaqəli Siyahılarla işləmək

İndi əlaqəli siyahıya baxaq. Bunu bir ipucu ilə başladığınız bir xəzinə ovu kimi düşünün və sonra növbətisini tapmaq üçün təlimatlara əməl edin. Əlaqədar siyahıda bəzi məlumatları ehtiva edən bir node ilə başlayırıq. Bu node hansı qovşağın sonra gəldiyini göstərən göstəriciyə malikdir.

Məsələn, əlaqəli siyahıda əyləncəli bir hekayə danışan üç qovşaqınız olduğunu təsəvvür edin:

Siz Node 1-dən başlayırsınız və göstəricini (ipucunu) Node 2-ə, sonra Node 3-ə aparırsınız. Bunlardan hər hansı biri arasında yeni bir ipucu əlavə etmək istəsəniz belə, yalnız bir neçə göstəricini dəyişdirməlisiniz. Bu, əlaqəli siyahıları çox çevik edir.

Massivlərin və əlaqəli siyahıların vizuallaşdırılması

Bu məlumat strukturlarını ağlınızda təsəvvür etmək faydalıdır. Massivi rəfdə uzun bir sıra aydın, etiketli qutular kimi təsəvvür edin. Hər qutu bir şey saxlayır və sabit bir yerə malikdir. İndi əlaqəli siyahını bir sıra kartlar kimi təsvir edin. Hər bir kartda növbəti kartın harada gizləndiyini göstərən qeyd var. Massivdə nömrəsinə görə birbaşa xüsusi qutuya keçə bilərsiniz. Əlaqədar siyahıda kartları ardıcıllıqla izləməlisiniz.

Gündəlik Proqramlar

Massivlər bir çox gündəlik işlərdə istifadə olunur. Məsələn, bir təqvim təsəvvür edin. Təqvimdə hər həftədə müəyyən günlər var və həmin günlər bir-birinin ardınca düzülür. Təqvimə baxanda hansı günün hansı nöqtədə olduğunu dəqiq bilirsən.

Əlaqəli siyahılar elementlərin sayı zamanla dəyişə bildikdə istifadə olunur. Dondurma maşınında gözləyən bir sıra insanları düşünün. Bəzən sıraya yeni insanlar qoşulur, bəzən də kimsə ayrılır. Xətt yeni sabit bir quruluş yaratmadan böyüyə və ya kiçilə bilər. Bu, əlaqəli siyahıları hadisələrin tez-tez dəyişdiyi ssenarilərdə çox faydalı edir.

Məlumat Yaddaşının Fərdiləşdirilməsi

Massivlər və əlaqəli siyahılar arasında seçim məlumatlarınızla nə etməli olduğunuzdan asılıdır. Əgər bilirsinizsə ki, hər zaman sabit sayda elementiniz olacaq, məsələn, həftədəki günlər, o zaman massiv çox uyğundur. Bununla belə, məlumatların miqdarı dəyişirsə və asanlıqla uyğunlaşa bilən bir quruluşa ehtiyacınız varsa, əlaqəli siyahı daha yaxşı seçim olacaq.

Məsələn, kompüter oyununda səviyyələrin sayı sabit olduğu üçün hər səviyyə üçün xalları saxlamaq üçün massivdən istifadə edilə bilər. Digər tərəfdən, əlaqəli siyahı oyun davam etdikcə böyüyə bilən oyunçu hərəkətlərinin və ya hərəkətlərinin siyahısını idarə etmək üçün istifadə edilə bilər.

Hansı istifadə edəcəyinə necə qərar vermək olar

Elementlərə mövqelərinə görə sürətli çıxışa ehtiyacınız olduqda, massivlər ən yaxşı seçimdir. Bunun səbəbi, onun nömrəsini bilsəniz, istənilən nöqtəyə birbaşa atlaya bilərsiniz. Bununla belə, tez-tez elementlər əlavə etmək və ya silmək lazım olduqda, əlaqəli siyahılar daha faydalı olur, çünki onlar sizə bir çox elementi köçürmədən siyahını dəyişməyə imkan verir.

Bu barədə belə düşünün: müəyyən sayda səhifələri olan stiker albomunuz varsa, massiv həmin alboma bənzəyir. Ancaq bülleten lövhəsinə əlavə etdiyiniz artan açıqcalar kolleksiyanız varsa, əlaqəli siyahı daha çox buna bənzəyir, çünki siz bütün lövhəni yenidən təşkil etmədən başqaları arasında asanlıqla yeni açıqca əlavə edə bilərsiniz.

Əsas Nöqtələr və Xülasə

Gəlin dərsimizin əsas məqamlarını nəzərdən keçirək:

Massivlər:

Əlaqədar siyahılar:

Fərqlər və İstifadələr:

Xülasə, massivlər və əlaqəli siyahılar məlumatları təşkil etmək üçün istifadə olunan iki vacib məlumat strukturudur. Massivlər bir sıra sabit, nömrələnmiş qutular kimi işləyir, əlaqəli siyahılar isə xəzinə axtarışı kimi işləyir, burada hər addım sizə növbəti hara getməyinizi bildirir. Hər iki metodun öz güclü tərəfləri var və tapşırığın ehtiyaclarından asılı olaraq müxtəlif vəziyyətlərdə istifadə olunur.

Məlumatların saxlanmasının bu iki üsulunu başa düşmək çox faydalıdır. Bir çox kompüter proqramları, oyunları və proqramları arxa planda massivlərdən və əlaqəli siyahılardan istifadə edir. Onların necə işlədiyini öyrənməklə siz kompüterlərin məlumatları təşkil etmə və idarə etmə üsulları haqqında fikir əldə edirsiniz.

Unutmayın: struktur sabit olduqda massivlər sadə və sürətli olur, əlaqəli siyahılar isə məlumat dəyişdikdə çeviklik təklif edir. İstər bir sıra şkaflar, istərsə də ipuçları xəzinəsini təsəvvür edin, bu anlayışlar bizə məlumatın hər gün necə saxlandığını və istifadə edildiyini anlamağa kömək edir.

Bu dərs sizə massivlərin və əlaqəli siyahıların nə olduğu barədə aydın fikir verdi. Siz kompüter elmini öyrənməyə və tədqiq etməyə davam etdikcə bu əsas fikirlər sizə daha mürəkkəb mövzuları başa düşməyə kömək edəcək. Onlar daha təkmil məlumat strukturlarının və alqoritmlərinin tikinti bloklarıdır.

Əsas Nöqtələrin xülasəsi:

Massivlər və əlaqəli siyahılar haqqında bu dərsi oxuduğunuz üçün təşəkkür edirik. Ümid edirik ki, məlumatların aydın və sadə şəkildə saxlanması üçün bu üsulları öyrənməkdən zövq aldınız. Böyüdükcə və daha çox öyrəndikcə, bu əsas strukturları və onların kompüterlərin səmərəli işləməsinə necə kömək etdiyini xatırlayın.

Download Primer to continue