Tablica w strukturze danych — wyjaśnienie, funkcja i przykłady

Opublikowany: 2021-06-21

Struktury danych okazały się kluczową częścią prawie wszystkich języków programowania, które były szeroko stosowane w większości programów komputerowych. To dzięki strukturom danych dane mogą być efektywnie zarządzane i dostępne dla programów, ponieważ uzyskiwanie dostępu do pojedynczych danych i przechowywanie ich oddzielnie jest procesem czasochłonnym. Algorytmy są zaprojektowane specjalnie do tworzenia określonych operacji potrzebnych w strukturze danych. Dlatego struktury danych i algorytmy razem stanowią podstawę złożonych aplikacji i programów.

W tym artykule skupimy się na typie struktury danych, tj. Array.

Tablica to rodzaj struktury danych, w której elementy lub dane są przechowywane w ciągłych lokalizacjach. Za każdym razem, gdy użytkownik ma zestaw danych o tym samym typie danych, struktura danych tablicy jest opcją organizowania tych danych. Rozmiar tablicy zależy od rozmiaru danych. Zanim elementy zostaną zapisane w tablicy, należy zdefiniować rozmiar tablicy, aby skutecznie zawierała wszystkie elementy. Każdy element przechowywany w tablicy ma przypisaną wartość indeksu, która pomaga w identyfikacji lokalizacji tego elementu w tablicy. Pierwszy element tablicy ma indeks o wartości zero.

Ważnymi terminami związanymi ze strukturą danych tablicowych są:

  • Element : Element reprezentuje każdy obiekt lub element przechowywany w strukturze danych.
  • Indeks : Indeks reprezentuje położenie elementu w tablicy. Ma wartość liczbową.

Rozmiar tablicy zmienia się wraz z różnymi językami programowania. W zależności od rozmiaru tablica może być dwojakiego rodzaju: tablica statyczna i tablica dynamiczna.

Spis treści

1. Tablica statyczna:

Te typy tablic mają wstępnie zdefiniowane rozmiary podczas ich tworzenia. Z tego powodu tablice statyczne są również nazywane tablicami stałymi lub tablicami o stałej długości. Tablicę można zdefiniować na dwa sposoby. Albo elementy tablicy można zdefiniować podczas tworzenia tablicy, albo rozmiar tablicy można zdefiniować podczas tworzenia tablicy. W tym drugim przypadku elementy nie muszą być określane. Wartości domyślne mogą być przydzielone do niezainicjowanej tablicy lub wartości pozostawionych w pamięci z poprzednich alokacji.

Tablica nie może się kurczyć ani rozszerzać po zdefiniowaniu rozmiaru. Ponieważ pamięć jest przydzielana podczas deklaracji tablicy, tylko kompilator może zniszczyć tablicę. Dodanie elementu nie jest możliwe, ponieważ użytkownik nie jest pewien, czy dostępna jest wolna pamięć do przydzielenia następnemu elementowi.

Poniższa tabela przedstawia przykład tablic używanych w różnych językach programowania.

Język programowania Zdefiniowana zawartość tablicy Zdefiniowany rozmiar tablicy bez zawartości
C++ int znaki[] = {10, 20, 30}; znaki int[3];
C# int[] znaki = {10, 20, 30}; int[] znaki = = nowy int[3];
Jawa int[] znaki = {10, 20, 30}; int[] znaki = = nowy int[3];
JavaScript var znaki = [10, 20, 30]; var mark = new Array(3);
Pyton znaki = [10, 20, 30] znaki = [Brak] * 3
Szybki wartości zmiennych:[Int] = [10, 20, 30] znaki var: [Int] = [Int](powtarzane: 0, liczba: 3)

2. Tablica dynamiczna

Jak sama nazwa wskazuje tablica jest dynamiczna, co oznacza, że ​​elementy można dodawać lub usuwać w czasie wykonywania. W porównaniu z tablicami statycznymi, których długość jest stała, tablice dynamiczne nie mają stałej długości ani rozmiaru tablicy. Standardowe funkcje biblioteczne lub funkcje wbudowane są dostępne w większości języków programowania do tworzenia i zarządzania tablicami dynamicznymi.

Poniższa tabela przedstawia tworzenie tablicy w różnych językach programowania

Język programowania Klasa Dodanie pierwiastka Usunięcie elementu
C++ #include <lista>

std::lista

wstawić usuwać
C# System.Collections.Generic.List Dodać Usunąć
Jawa java.util.ArrayList Dodaj usunąć
JavaScript Szyk pchać, łączyć pop, splot
Pyton Lista dodać usunąć
Szybki Szyk dodać usunąć

Reprezentacja tablicy

Reprezentacja tablicy różni się w zależności od jej implementacji w różnych językach programowania. Tablica będąca ważną częścią struktury danych python , ilustracja została pokazana w języku programowania python.

W pythonie tablice są obsługiwane za pomocą słowa kluczowego tablica . Ilekroć używana jest tablica słów kluczowych, użytkownik musi przechowywać elementy tego samego typu danych.

Źródło

Rysunek 1: Przykład tablicy

Jak na rysunku 1, ilustracja tablicy pokazuje, że

  • Rozmiar tablicy to 10, co oznacza, że ​​w tablicy można przechowywać 9 elementów.
  • Wartość indeksu została wymieniona nad tablicą, która zaczyna się od wartości 0.
  • Elementy przechowywane w tablicy mogą być dowolnym typem danych, a dostęp do elementu można uzyskać poprzez ich wartość indeksu.

Inną ilustrację pokazano na rysunku 2, gdzie opisano składnię Pythona i C++.

Źródło

Rysunek 2 : Deklaracja tablicy przy użyciu Pythona i C++ (

Właściwości tablicy

Tablica ma kilka właściwości:

  • Elementy przechowywane w tablicy mają te same typy danych i ten sam rozmiar, tj. typ danych int będzie miał rozmiar 4 bajtów.
  • Ciągła lokalizacja pamięci służy do przechowywania elementów struktury danych. Najmniejsza ilość pamięci jest przydzielana pierwszemu elementowi tablicy.
  • Wartości indeksu służą do znajdowania lokalizacji elementów w tablicy. Indeks zaczyna się od 0 i jest zawsze mniejszy niż całkowita liczba elementów w tablicy.
  • Dostęp losowy elementów w tablicy jest możliwy dzięki dostępnej wartości indeksu. Adres elementu można obliczyć poprzez adres bazowy dodany do wartości przesunięcia.
  • Koncepcja tablicy pozostaje taka sama we wszystkich językach programowania. Różni się tylko inicjalizacja i deklaracja.
  • Nazwa tablicy, elementy i typ danych to trzy części, które będą wspólne we wszystkich językach.

Tworzenie tablicy

Tworzenie tablicy w strukturze danych Pythona zostało pokazane poniżej.

  • Moduł tablicy w strukturze danych Pythona można zaimportować w celu utworzenia tablicy.
  • array(data_type, value_list ) to składnia, za pomocą której można utworzyć tablicę w strukturze danych Pythona .
  • Typ danych powinien być liczbami całkowitymi lub zmiennoprzecinkowymi. Ciągi znaków nie są dozwolone w Pythonie.

Rysunek 2 pokazuje, jak utworzyć tablicę w Pythonie. Przykład kodu pokazującego, jak moduł tablicy jest importowany w pythonie

importuj tablicę

znaki = array.array('i', [100,200,300])

drukuj (znaki)

Deklarację tablicy można przeprowadzić poprzez

arrayName = array.array(kod typu dla typu danych, [tablica,elementy])

Można to przedstawić na rysunku 3

Źródło

Rysunek 3: Deklaracja tablicy w Pythonie

Ważne terminy używane przy tworzeniu tablicy:

  • Identyfikator: nazwa, która musi być określona jak nazwa dla zmiennych
  • Moduł: w Pythonie należy zaimportować specjalny moduł o nazwie array.
  • Metoda: Jest to specyficzna metoda inicjalizacji tablicy w Pythonie. Zjadły dwa argumenty, kod typu i elementy.
  • Kod typu: typ danych należy określić za pomocą dostępnego kodu typu.
  • Elementy: Elementy tablicy muszą być określone w nawiasach kwadratowych, na przykład [200,400,100.]

Dostępne kody typu są pokazane poniżej

Operacje na tablicach

Dzięki dostępności struktur danych i algorytmów można przeprowadzić kilka operacji w dowolnym typie struktury danych. Struktura danych tablicowych może zawierać operacje takie jak dodawanie, usuwanie, akcesję i aktualizowanie elementu.

Poniżej wymieniono operacje, które można wykonać w tablicy struktury danych Pythona .

1. Dodanie elementu do tablicy

  • Wbudowana funkcja insert() służy do dodawania elementów do tablicy.
  • Użyta składnia : arrayName.insert(indeks, wartość)
  • Do tablicy można dodać jeden lub więcej niż jeden element za pomocą funkcji insert().
  • Elementy można dodawać na początku tablicy lub w dowolnej określonej pozycji za pomocą funkcji Input: append().

importuj tablicę

znaki = array.array('i', [200,500,600])

znaki.wstaw(1, 150)

Dane wyjściowe: array('i', [200,150,500,600])

Przykład z kodem pokazano poniżej zaczerpnięty z

Wyjście kodu:

Źródło

2. Usunięcie elementu w tablicy

  • Element można usunąć z tablicy poprzez jego wartość.
  • Użyta składnia: arrayName.remove(value)
  • Przykład: usunięcie wartości 250 po jej dodaniu w tablicy zawierającej elementy 100, 300, 200, 500 i 800.

Wejście:

importuj tablicę

znaki = array.array('i', [100,300,200,500,800])

znaki.wstaw(1, 250)

drukuj (znaki)

znaki.usuń(250)

Dane wyjściowe: array('i', [100,300,200,500,800])

Przykładowy kod zaczerpnięty z

Źródło

Wyjście kodu:

3. Uzyskiwanie dostępu do elementów w tablicy

  • Operator indeksu [ ] służy do uzyskiwania dostępu do elementów tablicy.
  • Numer indeksu jest używany w celu uzyskania dostępu do dowolnego elementu tablicy .

Przykładowy kod jest pokazany poniżej zaczerpnięty z

Wyjście kodu:

Źródło

4. Wyszukiwanie elementu w tablicy.

  • Wbudowana metoda index() służy do wyszukiwania elementu w tablicy.
  • Funkcja zwraca wartość indeksu elementu do przeszukania.
  • Przykład: wyszukiwanie elementu 250 w tablicy elementów 100, 250, 300, 200, 500 i 800.

Wejście: importuj tablicę

znaki = array.array('I', [100,250,300,200,500,800])

print(marks.index(250))

Wyjście: 1

Kod do wyszukiwania elementu w tablicy

Wyjście kodu to

Źródło

3. Aktualizowanie elementów w tablicy

  • Proces aktualizacji elementu jest podobny do metody wstawiania z tą różnicą, że podczas aktualizacji istniejąca wartość zostanie podmieniona na podany indeks.
  • Nowa wartość jest ponownie przypisywana do indeksu w celu aktualizacji elementu w tablicy.
  • Przykład: aktualizacja elementu 250 o 350 w tablicy elementów 100, 250, 300, 200, 500 i 800.

Wejście: importuj tablicę

znaki = array.array('i', [100,250,300,200,500,800])

znaki[1] = 350

Wyjście:

array('i', [100,350,300,200,500,800])

Poniżej przedstawiono kod pokazujący aktualizację elementu

Wyjście kodu to

Źródło

Zalety tablicy

  • Możliwe jest przechowywanie wielu wartości w jednej zmiennej zamiast tworzenia osobnych zmiennych dla każdego elementu.
  • Wiele wartości można łatwo i szybko przetwarzać za pomocą tablic.
  • Elementy tablicy można szybciej sortować i przeszukiwać.

Wniosek

W artykule omówiono szczególny rodzaj struktury danych tj. tablicę i związane z nią operacje. Dzięki podstawowym pojęciom można by budować bardziej złożone programy ukierunkowane na rzeczywiste problemy. Jeśli chcesz wzmocnić podstawy koncepcji struktury danych w Pythonie, możesz zapoznać się z następującym kursem Executive PG Program in Data Science autorstwa upGrad. Kurs jest certyfikowany przez IIIT-Bangalore i zawiera ponad 14 narzędzi programistycznych i języków, aby przygotować Twoją podróż do branży. Jest specjalnie zaprojektowany dla początkujących profesjonalistów w grupie wiekowej od 21 do 45 lat. Nie przerywaj więc nauki tutaj i zdobądź język i jego zastosowanie w świecie uczenia maszynowego dzięki kursowi upGrad. Jeśli masz jakiekolwiek pytania, nasz zespół pomocy służy pomocą.

Jakie są zalety i wady tablicy?

Tablica to potężna liniowa struktura danych. Ma jednak pewne zalety i wady, o których mowa poniżej:
Zalety
1. W tablicy elementy mogą być łatwo dostępne dzięki ich numerom indeksu.
2. Tablice mogą służyć do przechowywania wielu podobnych jednostek.
3. Operacja wyszukiwania jest dość wygodna. Można to zrobić w czasie O(n) i O(log n) w posortowanej tablicy, gdzie n to liczba elementów.
Niedogodności
1. Ponieważ pamięć jest statycznie alokowana w tablicy, rozmiaru tablicy nie można zmienić.
2. Jest jednorodny, tzn. w tablicy mogą być przechowywane tylko elementy o podobnym typie danych.

Odróżnić tablicę od listy?

Poniżej przedstawiono różnicę między tablicą a listą.
Tablica —
1. Struktura danych tablicy jest jednorodna, tzn. w tablicy mogą być przechowywane tylko elementy o podobnych typach danych.
2. Moduły należy zaimportować przed użyciem macierzy.
3. Operacje arytmetyczne mają bezpośrednie zastosowanie.
4. Preferowane w przypadku większych danych.
4. Dużo bardziej kompaktowy i zużywa mniej pamięci.
Lista -
1. Lista jest niejednorodna i może zawierać w sobie elementy wielu typów danych.
2. Nie ma potrzeby importowania modułów, ponieważ jest wbudowany w Pythonie.
3. Operacje arytmetyczne nie mogą być wykonywane bezpośrednio.
4. Preferowane w przypadku mniejszych danych.
5. Zużycie pamięci jest większe.

Opisz główne zastosowania tablic?

Macierzowa struktura danych ma wiele zastosowań w praktyce, a także jest wykorzystywana jako baza do implementacji innych zdefiniowanych przez użytkownika struktur danych. Oto niektóre z głównych zastosowań tablic:
1. Tablice służą do implementacji i wykonywania operacji na macierzach. Matryce są szeroko stosowane w badaniach geologicznych i eksperymentach naukowo-badawczych.
2. Kilka struktur danych zdefiniowanych przez użytkownika jest zaimplementowanych przy użyciu struktur danych tablicowych. Należą do nich stos, kolejka, sterty, tablice mieszające i listy.
3. Programy używają tablic do regulowania przepływu sterowania zamiast używania tradycyjnych instrukcji elif, które są stosunkowo długie.
4. Algorytmy napisane dla procesów planowania procesora również wykorzystują strukturę danych tablicy w celu zwiększenia wydajności procesora.
5. Wykresy wykorzystują listy sąsiedztwa jako jedną z ich implementacji. Do tworzenia tych list sąsiedztwa używane są wektory (aplikacja tablicy).