Max Belgin
PRG/211
August 11, 2014
Personal Learning Management Array Structure
The SuperMemo application needs the parallel array that is the structure of the data which is physically composed of several arrays with the same number of elements in each of them. Logical elements of different arrays with the same index represent one structure (or record). Parallel array is a kind of presenting the data, which determines the order of records in it. This data structure consists of arrays of similar size for each data cell (Jeannot, Namyst & Roman, 2011, p. 141). In parallel arrays, elements, the number of which in the array is the same, are part of the same structure. The indicator of a structure in parallel arrays is an indicator of the overall index.
The parallel array can be used in the language of the SuperMemo application, which does not support the ability to create arrays of structures. Besides, it is necessary to apply the parallel array structure for optimization in programming languages, where an array of structures is less effective. It is necessary to point out that the parallel array can help avoid unnecessary expenses due to the lack of memory alignment of elements in memory. The purpose of the parallel array structure is the performance gain for the sequential processing of the same field of many elements in a row (Jeannot, Namyst & Roman, 2011, p. 142).
At the same time, the parallel array may have disadvantages. The main disadvantage is the intricacies of the code, significant overhead with the array increasing or decreasing as one has to re-create the entire array. Modern programming languages generally allow to avoid the need to use such data structure. Therefore, they are used in vector processors only.
The use of the parallel array in the SuperMemo application allows to store more data fields for multiple items at the same time. We can store a number of data values in each of the arrays that can be accessed via index.
In the SuperMemo application we need to search in the structure in order to find items without moving them. For example, there may be an array of elements with keys that requires a search method that determines the array index of the element corresponding to the specified key or may be required to delete the item with the given index from the structure of the search saving it in the array for any other use. With reference to the symbol table, this concept leads to the familiar indices: external to the set of elements of the search structure, which provides quick access to the elements with the given key. It is necessary to use a container index to define the elements of the tree and ensure that the keys