Dynamic array (original) (raw)
En programación, un arreglo dinámico o array dinámico, también llamado inapropiadamente matriz dinámica o tabla dinámica, es una estructura de almacenamiento de datos que crece o mengua dinámicamente conforme los elementos se agregan o se eliminan. Se suministra dentro de las librerías estándar en muchos lenguajes modernos de programación. Un array dinámico no es lo mismo que un array asignado dinámicamente, que es un array de tamaño fijo, pero cuyo tamaño se fija cuando se asigna por primera vez.
Property | Value |
---|---|
dbo:abstract | المصفوفات الديناميكية أو المصفوفة الحيوية (بالإنجلزية: dynamic array) هي نوع خاص من البايانات في لغات البرمجة ، تحتوي على عدد متغير من العناصر مرتبة بشكل أعمدة وحقول متعدد الأبعاد. كل العناصر لديها نفس النوع ، ويسمى «النوع الداخلي» للمجموعة، على عكس المصفوفة الثابتة التي يحدد حجمها ونوع العنصر في وقت البرمجة، المصفوفة الديناميكية يحدد نوع العنصر فقط، ويتم تغيير سعة الإستيعاب في وقت التنفيذ. لا يقصد بالمصفوفة الديناميكية حجم أو قيمة العنصر ولا عدد العناصر بل بالاستعاب الأقصى لعدد العناصر. في المصفوفة ديناميكية، الطول الأولي للمجموعة هو صفر. يجب تعيين طول الفعلي للمجموعة بستخدام وظيفة توفرها لغة البرمجة، والتي ستقوم بحجز الذاكرة اللازمة لتخزين عناصر المصفوفة. قد يتم الحجز في نفس المكان أو قد يتم نقل كل المصفوفة إلى منطقة جديدة في الذاكرة ونقل قيم العناصر فيها ويسمى «النسخ المتماثل» وهي عملية للحفاظ على قيمة ومكان كل عنصر من المجموعة داخل المصفوفة. (ar) Στην επιστήμη υπολογιστών, ο Δυναμικός Πίνακας είναι μία δυναμική δομή δεδομένων, η υλοποίηση της οποίας βασίζεται σε πίνακες. Ένας απλός πίνακας στον προγραμματισμό έχει ένα στατικά ορισμένο μέγεθος και άρα, μία μέγιστη χωρητικότητα. Προκειμένου να διορθωθεί αυτός ο περιορισμός, η βασική ιδέα για την κατασκευή ενός δυναμικού πίνακα, είναι ότι κατά την εκτέλεση της μεθόδου της εισαγωγής ενός στοιχείου, εάν έχει ήδη καλυφθεί το σύνολο των θέσεων του πίνακα και το νέο στοιχείο δεν χωράει, τότε δημιουργούμε έναν νέο πίνακα με μεγαλύτερο μέγεθος και στη συνέχεια αντιγράφουμε όλα τα στοιχεία από τον παλιό πίνακα στον καινούριο, προσθέτοντας στο τέλος και το νέο στοιχείο. Αποδεικνύεται μαθηματικά ότι εφόσον το μέγεθος του νέου πίνακα είναι ακριβώς διπλάσιο του παλαιού, η πολυπλοκότητα (αναπόσβεστη πολυπλοκότητα - amortized complexity) της μεθόδου εισαγωγής ενός στοιχείου παραμένει Ο(1), όπως δηλαδή και στους απλούς πίνακες. Στην γλώσσα προγραμματισμού Java η κλάση που υλοποιεί τον δυναμικό πίνακα είναι η ArrayList, ενώ μια παλαιότερη υλοποίησή του είναι η κλάση Vector. (el) In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data structure that allows elements to be added or removed. It is supplied with standard libraries in many modern mainstream programming languages. Dynamic arrays overcome a limit of static arrays, which have a fixed capacity that needs to be specified at allocation. A dynamic array is not the same thing as a dynamically allocated array or variable-length array, either of which is an array whose size is fixed when the array is allocated, although a dynamic array may use such a fixed-size array as a back end. (en) En programación, un arreglo dinámico o array dinámico, también llamado inapropiadamente matriz dinámica o tabla dinámica, es una estructura de almacenamiento de datos que crece o mengua dinámicamente conforme los elementos se agregan o se eliminan. Se suministra dentro de las librerías estándar en muchos lenguajes modernos de programación. Un array dinámico no es lo mismo que un array asignado dinámicamente, que es un array de tamaño fijo, pero cuyo tamaño se fija cuando se asigna por primera vez. (es) En informatique, un vecteur désigne un conteneur d'éléments ordonnés et accessibles par des indices, dont la taille est dynamique : elle est mise à jour automatiquement lors d'ajouts ou de suppressions d'éléments.On retrouve les vecteurs dans de nombreux langages de programmation, notamment le C++ et le Java. Ils sont alors inclus dans des bibliothèques et l'utilisateur n'a pas besoin d'en programmer un. En langage objet, la classe vecteur est généralement polymorphe, c'est-à-dire qu'il est possible de l'utiliser avec n'importe quel type d'objet. (fr) 동적 배열(dynamic array)은 프로그래밍에서 크기가 고정되지 않은 배열을 의미한다. 일례로 C++ 표준 템플릿 라이브러리에서는 vector라는 타입이 동적 배열을 지원한다. 동적 배열은 동적 할당 배열과는 다르다. 동적 할당 배열은 배열이 할당될 때 크기가 고정되는 배열이지만 동적 배열은 이러한 고정 크기 배열을 백엔드로 사용할 수 있다. (ko) In informatica, un vettore dinamico, vettore allargabile,vettore ridimensionabile, tabella dinamica, o lista di array è una struttura dati array che può essere ridimensionata e consente di aggiungere o rimuovere elementi. È fornita con la libreria standard in molti moderni linguaggi di programmazione principali. Un array dinamico non è la stessa cosa di un array allocato dinamicamente: quest'ultimo è un array di dimensione fissata all'atto dell'allocazione o instanziazione dell'array stesso; per maggiori informazioni su questo tipo di array, vedere array. (it) Динамическим называется массив, размер которого может изменяться во время исполнения программы. Возможность изменения размера отличает динамический массив от статического, размер которого задаётся на момент компиляции программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор. Динамические массивы дают возможность более гибкой работы с данными, так как позволяют не прогнозировать хранимые объёмы данных, а регулировать размер массива в соответствии с реально необходимыми объёмами. Также иногда к динамическим относят массивы переменной длины, размер которых не фиксируется при компиляции, а задаётся при создании или инициализации массива во время исполнения программы. От «настоящих» динамических массивов они отличаются тем, что для них не предоставляются средства автоматического изменения размера с сохранением содержимого, так что при необходимости программист должен реализовать такие средства самостоятельно. (ru) Динамічним називають такий масив, розмір якого можна змінювати під час виконання програми. Динамічні масиви надають змогу більш гнучко працювати з даними, оскільки дозволяють вводити довільний розмір. Для зміни розміру динамічного масиву мова програмування, що підтримує такі масиви, повинна надавати вбудовану функцію чи оператор. В порівняні зі статичним масивом, динамічний не має фіксованого розміру та може задаватись під час виконання програми. Замість використання змінної типу string можна використовувати масив змінних типу char. У задачах пов'язаних з матрицями, матриці записують, як двовимірний масив. В старих комп'ютерах з малою кількістю оперативної пам'яті, а також при операціях з великою кількістю даних існує загроза повного засмічення пам'яті, тому в кінці програми прийнято видаляти масив. (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/Dynamic_array.svg?width=300 |
dbo:wikiPageExternalLink | https://web.archive.org/web/20090704095801/http:/www.collectionspy.com/ http://www.bsdua.org/libbsdua.html%23vpool http://opendatastructures.org/versions/edition-0.1e/ods-java/2_Array_Based_Lists.html https://xlinux.nist.gov/dads/HTML/dynamicarray.html |
dbo:wikiPageID | 1456434 (xsd:integer) |
dbo:wikiPageLength | 18882 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1104782856 (xsd:integer) |
dbo:wikiPageWikiLink | dbc:Amortized_data_structures dbr:Python_(programming_language) dbr:Ruby_(programming_language) dbr:Pat_Morin dbr:Delphi_(programming_language) dbr:Perl dbr:Python_(Programming_Language) dbr:.NET_Framework dbr:Common_Lisp dbr:Memory_management dbr:Rust_(programming_language) dbr:Geometric_progression dbr:Clang dbr:GLib dbr:Go_(programming_language) dbr:Golden_ratio dbr:Core_Foundation dbc:Arrays dbr:Cache_(computing) dbr:Smalltalk dbr:Computer_science dbc:Articles_with_example_pseudocode dbr:C++ dbr:C_(programming_language) dbr:Time_complexity dbr:Data_structure dbr:Gap_buffer dbr:Hashed_array_tree dbr:Linked_list dbr:Locality_of_reference dbr:Ada_(programming_language) dbr:Amortized_analysis dbr:D_(programming_language) dbr:Dynamic_memory_allocation dbr:Nim_(programming_language) dbr:Primitive_data_type dbr:Reference_(computer_science) dbr:Java_(programming_language) dbr:Array_data_type dbr:Big_O_notation dbr:Data_cache dbr:Hysteresis dbr:Microsoft_Visual_C++ dbr:Variable-length_array dbr:Vector_(C++) dbr:Programming_language dbr:Self-balancing_binary_search_tree dbr:Random_access dbr:List_data_structure dbr:Fragmentation_(computer) dbr:First_fit_algorithm dbr:G++ dbr:Realloc dbr:Deque dbr:Standard_libraries dbr:File:Dynamic_array.svg dbr:Wikibooks:Ada_Programming/Libraries/Ada.Containers.Vectors |
dbp:wikiPageUsesTemplate | dbt:List_data_structure_comparison dbt:Math dbt:Short_description dbt:Citation_needed_span dbt:Data_structures |
dct:subject | dbc:Amortized_data_structures dbc:Arrays dbc:Articles_with_example_pseudocode |
gold:hypernym | dbr:Access |
rdf:type | yago:WikicatArrays yago:Abstraction100002137 yago:Arrangement105726596 yago:Arrangement107938773 yago:Array107939382 yago:Cognition100023271 yago:DataStructure105728493 yago:Group100031264 yago:PsychologicalFeature100023100 dbo:AcademicJournal yago:Structure105726345 yago:WikicatDataStructures |
rdfs:comment | En programación, un arreglo dinámico o array dinámico, también llamado inapropiadamente matriz dinámica o tabla dinámica, es una estructura de almacenamiento de datos que crece o mengua dinámicamente conforme los elementos se agregan o se eliminan. Se suministra dentro de las librerías estándar en muchos lenguajes modernos de programación. Un array dinámico no es lo mismo que un array asignado dinámicamente, que es un array de tamaño fijo, pero cuyo tamaño se fija cuando se asigna por primera vez. (es) En informatique, un vecteur désigne un conteneur d'éléments ordonnés et accessibles par des indices, dont la taille est dynamique : elle est mise à jour automatiquement lors d'ajouts ou de suppressions d'éléments.On retrouve les vecteurs dans de nombreux langages de programmation, notamment le C++ et le Java. Ils sont alors inclus dans des bibliothèques et l'utilisateur n'a pas besoin d'en programmer un. En langage objet, la classe vecteur est généralement polymorphe, c'est-à-dire qu'il est possible de l'utiliser avec n'importe quel type d'objet. (fr) 동적 배열(dynamic array)은 프로그래밍에서 크기가 고정되지 않은 배열을 의미한다. 일례로 C++ 표준 템플릿 라이브러리에서는 vector라는 타입이 동적 배열을 지원한다. 동적 배열은 동적 할당 배열과는 다르다. 동적 할당 배열은 배열이 할당될 때 크기가 고정되는 배열이지만 동적 배열은 이러한 고정 크기 배열을 백엔드로 사용할 수 있다. (ko) In informatica, un vettore dinamico, vettore allargabile,vettore ridimensionabile, tabella dinamica, o lista di array è una struttura dati array che può essere ridimensionata e consente di aggiungere o rimuovere elementi. È fornita con la libreria standard in molti moderni linguaggi di programmazione principali. Un array dinamico non è la stessa cosa di un array allocato dinamicamente: quest'ultimo è un array di dimensione fissata all'atto dell'allocazione o instanziazione dell'array stesso; per maggiori informazioni su questo tipo di array, vedere array. (it) المصفوفات الديناميكية أو المصفوفة الحيوية (بالإنجلزية: dynamic array) هي نوع خاص من البايانات في لغات البرمجة ، تحتوي على عدد متغير من العناصر مرتبة بشكل أعمدة وحقول متعدد الأبعاد. كل العناصر لديها نفس النوع ، ويسمى «النوع الداخلي» للمجموعة، على عكس المصفوفة الثابتة التي يحدد حجمها ونوع العنصر في وقت البرمجة، المصفوفة الديناميكية يحدد نوع العنصر فقط، ويتم تغيير سعة الإستيعاب في وقت التنفيذ. لا يقصد بالمصفوفة الديناميكية حجم أو قيمة العنصر ولا عدد العناصر بل بالاستعاب الأقصى لعدد العناصر. (ar) Στην επιστήμη υπολογιστών, ο Δυναμικός Πίνακας είναι μία δυναμική δομή δεδομένων, η υλοποίηση της οποίας βασίζεται σε πίνακες. Ένας απλός πίνακας στον προγραμματισμό έχει ένα στατικά ορισμένο μέγεθος και άρα, μία μέγιστη χωρητικότητα. Προκειμένου να διορθωθεί αυτός ο περιορισμός, η βασική ιδέα για την κατασκευή ενός δυναμικού πίνακα, είναι ότι κατά την εκτέλεση της μεθόδου της εισαγωγής ενός στοιχείου, εάν έχει ήδη καλυφθεί το σύνολο των θέσεων του πίνακα και το νέο στοιχείο δεν χωράει, τότε δημιουργούμε έναν νέο πίνακα με μεγαλύτερο μέγεθος και στη συνέχεια αντιγράφουμε όλα τα στοιχεία από τον παλιό πίνακα στον καινούριο, προσθέτοντας στο τέλος και το νέο στοιχείο. Αποδεικνύεται μαθηματικά ότι εφόσον το μέγεθος του νέου πίνακα είναι ακριβώς διπλάσιο του παλαιού, η πολυπλοκότητα (αναπόσβεσ (el) In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data structure that allows elements to be added or removed. It is supplied with standard libraries in many modern mainstream programming languages. Dynamic arrays overcome a limit of static arrays, which have a fixed capacity that needs to be specified at allocation. (en) Динамическим называется массив, размер которого может изменяться во время исполнения программы. Возможность изменения размера отличает динамический массив от статического, размер которого задаётся на момент компиляции программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор. Динамические массивы дают возможность более гибкой работы с данными, так как позволяют не прогнозировать хранимые объёмы данных, а регулировать размер массива в соответствии с реально необходимыми объёмами. (ru) Динамічним називають такий масив, розмір якого можна змінювати під час виконання програми. Динамічні масиви надають змогу більш гнучко працювати з даними, оскільки дозволяють вводити довільний розмір. Для зміни розміру динамічного масиву мова програмування, що підтримує такі масиви, повинна надавати вбудовану функцію чи оператор. В порівняні зі статичним масивом, динамічний не має фіксованого розміру та може задаватись під час виконання програми. Замість використання змінної типу string можна використовувати масив змінних типу char. У задачах пов'язаних з матрицями, матриці записують, як двовимірний масив. В старих комп'ютерах з малою кількістю оперативної пам'яті, а також при операціях з великою кількістю даних існує загроза повного засмічення пам'яті, тому в кінці програми прийнято вида (uk) |
rdfs:label | مصفوفة ديناميكية (ar) Δυναμικός πίνακας (el) Array dinámico (es) Vecteur (structure de données) (fr) Dynamic array (en) Array dinamico (it) 동적 배열 (ko) Динамический массив (ru) Динамічний масив (uk) |
owl:sameAs | freebase:Dynamic array yago-res:Dynamic array wikidata:Dynamic array dbpedia-ar:Dynamic array dbpedia-bg:Dynamic array dbpedia-el:Dynamic array dbpedia-es:Dynamic array dbpedia-fa:Dynamic array dbpedia-fr:Dynamic array dbpedia-it:Dynamic array dbpedia-ko:Dynamic array dbpedia-ru:Dynamic array dbpedia-sr:Dynamic array dbpedia-th:Dynamic array dbpedia-uk:Dynamic array https://global.dbpedia.org/id/K7Vm |
prov:wasDerivedFrom | wikipedia-en:Dynamic_array?oldid=1104782856&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Dynamic_array.svg |
foaf:isPrimaryTopicOf | wikipedia-en:Dynamic_array |
is dbo:wikiPageRedirects of | dbr:Dynamic_table dbr:ArrayList dbr:Array_list dbr:Arraylist dbr:Growable_array dbr:Mutable_array dbr:Resizable_array dbr:Resizeable_array |
is dbo:wikiPageWikiLink of | dbr:PureBasic dbr:Ruby_(programming_language) dbr:List_of_data_structures dbr:Monoque dbr:Binary_heap dbr:Best,_worst_and_average_case dbr:Double-ended_queue dbr:*Lisp dbr:Memory_management dbr:Rust_(programming_language) dbr:GLBasic dbr:Go_(programming_language) dbr:Copy_constructor_(C++) dbr:Array dbr:Array_(data_structure) dbr:Array_(data_type) dbr:Stack_(abstract_data_type) dbr:Standard_Template_Library dbr:Suffix_tree dbr:Bucket_queue dbr:Burstsort dbr:C_Sharp_syntax dbr:Gap_buffer dbr:Hashed_array_tree dbr:Linear_hashing dbr:Linear_probing dbr:Linked_list dbr:List_(abstract_data_type) dbr:Potential_method dbr:Amortized_analysis dbr:D_(programming_language) dbr:Pascal_(programming_language) dbr:Judy_array dbr:Purely_functional_data_structure dbr:Hash_table dbr:Counting_sort dbr:Accredited_Symbian_Developer dbr:SystemVerilog dbr:Reference_counting dbr:Disjoint-set_data_structure dbr:Array_slicing dbr:C_dynamic_memory_allocation dbr:PostgreSQL dbr:IBM_7030_Stretch dbr:IP_Pascal dbr:Object_Pascal dbr:Railo dbr:Variable-length_array dbr:List_of_terms_relating_to_algorithms_and_data_structures dbr:Sequence_container_(C++) dbr:New_and_delete_(C++) dbr:Sorted_array dbr:Random_access dbr:PH-tree dbr:Dynamic_table dbr:ArrayList dbr:Array_list dbr:Arraylist dbr:Growable_array dbr:Mutable_array dbr:Resizable_array dbr:Resizeable_array |
is foaf:primaryTopic of | wikipedia-en:Dynamic_array |