The growing popularity of shared-memory multiprocessor machines has caused significant changes in the design of concurrent software. In this approach, the concurrently running threads communicate and synchronize with each other through data structures in shared memory. Hence, the efficiency of these structures is essential for the performance of concurrent applications. The need to find new concurrent data structures prompted the author some time ago to propose the cvEB array modeled on the van Emde Boas Tree structure as a dynamic set alternative. This paper describes an improved version of that structure -the dcvEB array (Dynamic Concurrent van Emde Boas Array). One of the improvements involves memory usage optimization. This enhancement required the design of a tree which grows and shrinks at both: the top (root) and the bottom (leaves) level. Another enhancement concerns the successor (and predecessor) search strategy. The tests performed seem to confirm the high performance of the dcvEB array. They are especially visible when the range of keys is significantly larger than the number of elements in the collection.