stringtranslate.com

Matriz irregular

Disposición de la memoria de una matriz irregular.

En informática , una matriz irregular , también conocida como matriz dentada [1] o matriz irregular [2], es una matriz de matrices cuyos miembros pueden tener longitudes diferentes [3] , lo que produce filas de bordes dentados cuando se visualizan como salida. Por el contrario, las matrices bidimensionales son siempre rectangulares [4], por lo que las matrices dentadas no deben confundirse con las matrices multidimensionales , pero las primeras se utilizan a menudo para emular las últimas.

Las matrices de matrices en lenguajes como Java, PHP, Python (listas multidimensionales), Ruby, C#.NET, Visual Basic.NET , Perl, JavaScript, Objective-C, Swift y Atlas Autocode se implementan como vectores Iliffe .

Ejemplos

En C# y Java [5] se pueden crear matrices irregulares con el siguiente código: [6]

int [][] c ; c = new int [ 2 ][]; // crea 2 filas c [ 0 ] = new int [ 5 ]; // 5 columnas para la fila 0 c [ 1 ] = new int [ 3 ]; // crea 3 columnas para la fila 1            

En C y C++ , se puede crear una matriz irregular (en la pila) utilizando el siguiente código:

int fila_de_nido0 [] = { 0 , 1 }; int fila_de_nido1 [] = { 1 , 2 , 3 }; int * dentado [] = { fila_de_nido0 , fila_de_nido1 };            

En C/C++, también se pueden crear matrices irregulares (en el montón) con una matriz de punteros:

int * irregular [ 5 ]; dentado [ 0 ] = malloc ( tamaño de ( int ) * 10 ); dentado [ 1 ] = malloc ( tamaño de ( int ) * 3 );        

En C++/CLI , se pueden crear matrices irregulares con el código: [7]

usando el espacio de nombres System ; int main () { array < array < double > ^> ^ Arrayname = gcnew array < array < double > ^> ( 4 ); // el array contiene 4 //elementos devuelve 0 ; }                 

En Fortran , se puede crear una matriz irregular utilizando tipos derivados con componentes asignables:

tipo :: Jagged_type entero , asignable :: fila (:) fin tipo Jagged_type tipo ( Jagged_type ) :: Jagged ( 3 ) Jagged ( 1 )% fila = [ 1 ] Jagged ( 2 )% fila = [ 1 , 2 ] Jagged ( 3 )% fila = [ 1 , 2 , 3 ]              

En Python , las matrices irregulares no son nativas, pero se pueden usar listas por comprensión para crear una lista multidimensional que admita cualquier matriz dimensional: [8]

multi_list_3d  =  [[[]  para  i  en  rango ( 3 )]  para  i  en  rango ( 3 )] # Produce: [[[], [], []], [[], [], []], [[], [], []]]multi_list_5d  =  [[[]  para  i  en  rango ( 5 )]  para  i  en  rango ( 5 )] # Produce: [[[], [], [], []], [[], [], [], []], [[], [], [], [], []], [[], [], [], [], [], []], [[], [], [], []]]

Véase también

Referencias

  1. ^ King, KN C Programación . WW Norton. pág. 301. ISBN 978-0-393-97950-3.
  2. ^ Manual de estructuras de datos y aplicaciones . CRC Press. 2004.
  3. ^ Jesse Liberty; Brian MacDonald (18 de noviembre de 2008). Aprendiendo C# 3.0. "O'Reilly Media, Inc.", págs. 210–. ISBN 978-0-596-55420-0.
  4. ^ Don Box (2002). Essential .Net: Common Language Runtime. Addison-Wesley Professional. pág. 138. ISBN 978-0-201-73411-9.
  5. ^ "Matriz irregular en Java - GeeksforGeeks". GeeksforGeeks . 2016-02-03 . Consultado el 2018-08-13 .
  6. ^ Paul J. Deitel; Harvey M. Deitel (26 de septiembre de 2008). C# 2008 para programadores. Pearson Education. pág. 40. ISBN 978-0-13-701188-9.
  7. ^ "Matrices irregulares". FunctionX . Consultado el 26 de noviembre de 2014 .
  8. ^ "Listas en Python desmitificadas". Alvin.io . Consultado el 31 de enero de 2016 .