Matriz em Estrutura de Dados (Operações)

⚡ Resumo Inteligente

Em estruturas de dados, um array armazena múltiplos itens do mesmo tipo de dados em locais de memória contíguos, cada um acessível por um índice. Este tutorial explica o conceito, a importância dos arrays e como criá-los e operá-los. Python, C++ e Java com exemplos.

  • 📦 Definição Essencial: Um array armazena vários elementos do mesmo tipo em memórias adjacentes, acessados ​​por índice.
  • ⚡ Acesso rápido: Qualquer elemento é recuperado em tempo constante usando seu índice.
  • 🛠️ Cinco Operações: Inserir, excluir, pesquisar, atualizar e percorrer são funções do conjunto de ferramentas de matrizes.
  • 🌐 Interlinguístico: Python Utiliza o módulo array; C++ e Java Declare arrays nativamente com lógica manual.
  • 🤖 Relevância da IA: Os arrays são a base dos tensores e matrizes que impulsionam os cálculos de aprendizado de máquina.

Matriz em Estrutura de Dados (Operações)

O que é array na estrutura de dados?

An ordem Uma matriz é uma estrutura de dados para armazenar mais de um item de dados do mesmo tipo. Os itens de uma matriz são alocados em locais de memória adjacentes, chamados de arrays. elementos do array. O número total de elementos em um array é o seu comprimento.

Cada elemento é acessado por sua posição, e essa referência é chamada de... índice or subscrito.

Conceito de Matriz

Diagrama conceitual de matrizes

Diagrama conceitual de matrizes

O diagrama acima ilustra que:

  1. Uma matriz é um contêiner de elementos.
  2. Os elementos possuem um valor e um tipo de dados específicos, como “ABC”, VERDADEIRO ou FALSO.
  3. Cada elemento possui seu próprio índice, que é utilizado para acessá-lo.

Observação:

  • Os elementos são armazenados em locais de memória contíguos.
  • Um índice é sempre menor que o número total de itens do array.
  • Qualquer variável declarada como um array pode armazenar múltiplos valores.
  • Quase todas as linguagens compartilham o mesmo conceito de arrays, mas diferem na forma como os declaram e inicializam.
  • Três partes permanecem comuns a todas as inicializações: o nome do array, os elementos e o tipo de dados dos elementos.

O diagrama a seguir mostra a sintaxe para declarar um matriz em Python e C++, demonstrando que o conceito permanece o mesmo, mesmo que a sintaxe varie ligeiramente entre as línguas.

Entenda a sintaxe de arrays

Entenda a sintaxe de arrays

  • Nome da matriz: Necessário para facilitar a consulta da coleção de elementos.
  • Tipo de dados: Necessário para verificação de tipos e integridade de dados.
  • Elementos: os valores dos dados presentes na matriz.

Por que precisamos de arrays?

  • Os arrays são ideais para armazenar múltiplos valores em uma única variável.
  • Eles processam muitos valores com facilidade e rapidez.
  • Ordenar e pesquisar valores é mais fácil com matrizes.

Criando uma matriz em Python

In PythonOs arrays diferem das listas: uma lista pode conter itens de diferentes tipos de dados, enquanto um array só pode conter itens do mesmo tipo de dados. Python possui um módulo separado para manipulação de arrays, chamado array, que você deve importar antes de usá-lo.

Observação: O array deve conter números reais, como inteiros e números de ponto flutuante; strings não são permitidas.

O código a seguir cria um array de inteiros em Python Para armazenar saldos de contas:

import array
balance = array.array('i', [300, 200, 100])
print(balance)

Maneiras de declarar um array em Python

Você pode declarar um array em Python ao inicializá-lo usando a seguinte sintaxe:

arrayName = array.array(typecode, [array_items])

Sintaxe de array em Python

Sintaxe de array em Python

  1. Identificador: Especifique um nome como você normalmente faz com variáveis.
  2. Módulos: Python possui um módulo especial chamado “array” que você deve importar primeiro.
  3. Método: O módulo array possui um método para inicializar o array, que recebe dois argumentos: typecode e elements.
  4. Digite o código: Especifique o tipo de dados usando os códigos de tipo disponíveis (consulte a tabela abaixo).
  5. Elementos: especifique os elementos da matriz entre colchetes, por exemplo [130, 450, 103].

A tabela abaixo lista os códigos de tipo disponíveis para os tipos de dados suportados.

Digite o código Tipo C Python Formato Tamanho mínimo (bytes)
'b' char assinado int 1
'B' caracter não identifcado int 1
'você' Py_UNICODE Caractere Unicode 2
'h' assinado brevemente int 2
'H' curto sem sinal int 2
'Eu' int assinado int 2
'EU' int sem sinal int 2
'eu' assinado por muito tempo int 4
'EU' longo sem sinal int 4
'f' flutuar flutuar 4
'd' duplo flutuar 8

Como acessar um valor específico de um array?

Você pode acessar qualquer item da matriz usando seu índice.

Sintaxe:

arrayName[indexNum]

Exemplo:

balance[1]

Acesse um elemento de array

Acesse um elemento de array

Aqui, acessamos o segundo valor da matriz usando o índice 1. A saída é 200, que é o segundo valor da matriz de saldo.

import array
balance = array.array('i', [300, 200, 100])
print(balance[1])

Saída:

200

Ordem Operações em Python

O Python O módulo array fornece funções separadas para operações com arrays. Esses métodos são destrutivos, o que significa que a modificação é salva na variável do array.

inserção

Esta operação insere um ou mais itens em uma matriz no início, no fim ou em qualquer índice fornecido. Ela espera dois argumentos: índice e valor.

arrayName.insert(index, value)

Exemplo: Para inserir um novo valor imediatamente após o índice 1 (o valor 200), faça referência ao índice 2 no método de inserção.

import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)

Saída:

array('i', [300, 200, 150, 100])

Apagar

Esta operação remove um item de uma matriz pelo seu valor, aceitando um único argumento. Após a execução, os itens são reorganizados e os índices são reatribuídos.

arrayName.remove(value)

Exemplo:

import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)

Saída:

array('i', [300, 200, 100])

Pesquisar

Esta operação busca um item pelo seu valor e retorna o seu índice. É um método não destrutivo, portanto não altera os valores do array.

arrayName.index(value)

Exemplo:

import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))

Saída:

2

Atualizar

A atualização substitui o valor existente em um determinado índice usando um operador de atribuição simples.Python matrizes não têm um update() método.)

arrayName[index] = value

Exemplo: Para substituir 150 (no índice 2) por 145:

import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)

Saída:

array('i', [300, 200, 145, 100])

Atravessar

Você pode atravessar um Python array usando um loop:

import array
balance = array.array('i', [300, 200, 100])
for x in balance:
    print(x)

Saída:

300
200
100

Criando uma matriz em C++

C++ é mais flexível do que Python Ao criar arrays, você pode criar C++ matrizes de três maneiras. O código a seguir cria uma matriz de inteiros em C++ Para armazenar saldos de contas:

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  for (int i = 0; i < 3; i++)
    {
      cout << "value of i: " << balance[i] << endl;
    }
  return 0;
}

Maneiras de declarar um array em C++

Você pode declarar um array de três maneiras, dependendo dos requisitos do seu programa.

Declaração por tamanho:

dataType arrayName[arraySize];   // e.g. int balance[3];

Declaração contendo apenas itens de matriz:

dataType arrayName[] = {array_items};   // e.g. int balance[] = { 300, 200, 100 };

Declaração por tamanho e itens:

dataType arrayName[arraySize] = {array_items};   // e.g. int balance[3] = { 300, 200, 100 };

Como acessar um valor específico de um array em C++?

Acessando um elemento de array

Acessando um elemento de array

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  cout << balance[1];
  return 0;
}

Saída:

200

Ordem Operações em C++

Diferentemente dos Pythonem C++ Você deve programar a lógica por conta própria para as operações de inserção, exclusão, busca, atualização e percurso.

inserção

A lógica de inserção é a seguinte: percorra os itens do array, desloque-os para um índice maior e, em seguida, adicione um novo item no índice fornecido. O exemplo abaixo possui cinco itens e insere o valor 150 logo após o valor 200.

#include <iostream>
#include <stdio.h>

main() {
   int pos = 2;
   int size = 4;
   int balance[] = {300, 200, 100, 50, 0};

   printf("BEFORE INSERT:\n");
   for(int i = 0; i < 5; i++) {
      printf("%d\n", balance[i]);
   }

   /* SHIFT ITEMS TO A GREATER INDEX */
   for(int i = size; i >= pos; i--) {
       balance[i+1] = balance[i];
   }

   /* INSERT VALUE AT THE DESIRED INDEX */
   balance[pos] = 150;

   printf("AFTER INSERT:\n");
   for(int i = 0; i < 6; i++) {
      printf("%d\n", balance[i]);
   }
}

Ordem Operações em Java

Vamos criar um programa em Java que aceita o tamanho e os valores dos elementos da matriz fornecidos pelo usuário.

import java.util.Scanner;

public class AddElements {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Enter the size of the array");
        int n = sc.nextInt();

        int arr[] = new int[n];

        System.out.println("Enter Elements in the array");
        for(int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        System.out.println("Elements in the array");
        for(int j = 0; j < n; j++) {
            System.out.print(arr[j] + " ");
        }
    }
}

Modificar um elemento em um Java Ordem

Atualizar um elemento pelo seu índice.

import java.util.Scanner;

public class ModifyElement {
    public static void main(String[] args) {
        int arr[] = {1, 2, 3, 4, 5};
        int length = arr.length;
        Scanner sc = new Scanner(System.in);

        System.out.println("Array Elements Before modify");
        for(int i = 0; i < length; i++) {
            System.out.print(arr[i] + " ");
        }

        System.out.println("\nEnter the position to change");
        int pos = sc.nextInt();
        System.out.println("Enter the value");
        int val = sc.nextInt();

        arr[pos] = val;

        System.out.println("Array Elements After modify");
        for(int j = 0; j < length; j++) {
            System.out.print(arr[j] + " ");
        }
    }
}

Acessar elementos em um Java Ordem

Imprima todos os elementos da matriz percorrendo-a.

public class AccessElements {
    public static void main(String[] args) {
        int arr[] = {1, 2, 3, 4, 5};
        int length = arr.length;

        System.out.println("Array Elements are:-");
        for(int i = 0; i < length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

Perguntas Frequentes

Um array é uma coleção de elementos do mesmo tipo de dados armazenados em locais de memória contíguos. Cada elemento é acessado por um índice, tornando os arrays eficientes para armazenar e recuperar múltiplos valores relacionados.

A Python Uma lista pode conter itens de diferentes tipos de dados, enquanto um array (do módulo array) contém itens de um único tipo de dado. Arrays são mais eficientes em termos de memória para grandes conjuntos de dados numéricos.

As cinco operações básicas são: inserir (adicionar um item), excluir (remover um item), pesquisar (encontrar um item por valor), atualizar (alterar um valor em um índice) e percorrer (visitar todos os elementos).

Acessar um elemento por índice é O(1) — tempo constante — porque o endereço de memória é calculado diretamente a partir do endereço base e do índice. Inserção e remoção podem ser O(n) devido ao deslocamento.

O armazenamento contíguo permite que o programa calcule instantaneamente o endereço de qualquer elemento a partir do endereço base mais o índice multiplicado pelo tamanho do elemento. É isso que confere aos arrays seu acesso aleatório rápido e em tempo constante.

Python Requer o módulo de matriz e oferece métodos de operação integrados. C++ e Java Declarar arrays nativamente, mas exigir que você codifique a lógica de inserção, exclusão e pesquisa. Java Os arrays também expõem uma propriedade de comprimento.

Os arrays são a base dos vetores, matrizes e tensores usados ​​em IA. Bibliotecas como NumPy e TensorFlow armazenam dados de treinamento e pesos de modelos como arrays multidimensionais para computação numérica rápida.

Sim. Assistentes de codificação com IA detectam erros de índice de um em um e índices fora dos limites, sugerem correções e explicam por que um índice excedeu o comprimento da matriz, ajudando no aprendizado.ping Iniciantes resolvem erros comuns em arrays rapidamente.

Resuma esta postagem com: