En aquest tema, explorarem els diferents tipus d'estructures de dades que són fonamentals per a la programació. Les estructures de dades es poden classificar de diverses maneres, però en aquest curs ens centrarem en les següents categories principals:

  1. Estructures de Dades Lineals
  2. Estructures de Dades No Lineals
  3. Estructures de Dades Dinàmiques
  4. Estructures de Dades Estàtiques

  1. Estructures de Dades Lineals

Les estructures de dades lineals són aquelles en què els elements es disposen en una seqüència lineal. Cada element té un predecessor i un successor, excepte el primer i l'últim element. Les estructures de dades lineals més comunes són:

1.1. Llistes

  • Llistes Enllaçades: Una col·lecció d'elements on cada element apunta al següent. Pot ser simple, doble o circular.
  • Llistes Doblement Enllaçades: Cada element apunta tant al següent com al precedent.
  • Llistes Circulars: L'últim element apunta al primer, formant un cercle.

1.2. Piles (Stacks)

  • Definició: Una estructura de dades que segueix el principi LIFO (Last In, First Out).
  • Operacions: push (afegir un element), pop (treure un element), peek (consultar l'element superior).

1.3. Cues (Queues)

  • Definició: Una estructura de dades que segueix el principi FIFO (First In, First Out).
  • Operacions: enqueue (afegir un element), dequeue (treure un element), front (consultar el primer element).

  1. Estructures de Dades No Lineals

Les estructures de dades no lineals són aquelles en què els elements no es disposen en una seqüència lineal. Els elements poden tenir múltiples predecessors i successors. Les estructures de dades no lineals més comunes són:

2.1. Arbres (Trees)

  • Arbres Binàries: Cada node té com a màxim dos fills.
  • Arbres Binàries de Cerca: Un arbre binari on els nodes es disposen de manera que el fill esquerre és menor que el node pare i el fill dret és major.
  • Arbres AVL: Un tipus d'arbre binari de cerca que es manté equilibrat.
  • Arbres B: Un arbre autoequilibrat que manté les dades ordenades i permet insercions, supressions i cerques en temps logarítmic.

2.2. Grafs (Graphs)

  • Definició: Una col·lecció de nodes (o vèrtexs) i arestes que connecten parelles de nodes.
  • Tipus: Grafs dirigits i no dirigits, grafs ponderats i no ponderats.

  1. Estructures de Dades Dinàmiques

Les estructures de dades dinàmiques poden canviar de mida durant l'execució del programa. Aquestes estructures són útils quan no es coneix la mida de les dades per endavant.

3.1. Llistes Enllaçades

  • Avantatges: Facilitat per afegir i eliminar elements.
  • Desavantatges: Accés més lent als elements comparat amb les estructures de dades estàtiques.

3.2. Piles i Cues Dinàmiques

  • Implementació: Sovint implementades utilitzant llistes enllaçades per permetre una mida dinàmica.

  1. Estructures de Dades Estàtiques

Les estructures de dades estàtiques tenen una mida fixa que es defineix en el moment de la seva creació. Aquestes estructures són útils quan la mida de les dades és coneguda i constant.

4.1. Arrays (Matrius)

  • Definició: Una col·lecció d'elements del mateix tipus, emmagatzemats en ubicacions de memòria contigües.
  • Avantatges: Accés ràpid als elements mitjançant un índex.
  • Desavantatges: Mida fixa, difícil d'afegir o eliminar elements.

4.2. Matrius Bidimensionals

  • Definició: Una matriu d'elements on cada element és una altra matriu.
  • Aplicacions: Utilitzades per representar taules, graelles, i altres estructures de dades tabulars.

Resum

En aquesta secció, hem explorat els diferents tipus d'estructures de dades, incloent-hi les estructures de dades lineals, no lineals, dinàmiques i estàtiques. Cada tipus té les seves pròpies característiques, avantatges i desavantatges, i la seva elecció depèn dels requisits específics de l'aplicació.

En el següent mòdul, ens endinsarem en les llistes, començant per una introducció a les llistes i les seves variants.

© Copyright 2024. Tots els drets reservats