why is dictionary introduced so later in matlab?

I have been using matlab since 2006, but I have never heard of the dictionary structure untile recently when I started learning python.
After some check, I found that the dictionary structure was introduced into matlab only since 2022b.
That is amazingly later.
Why? Is the dictionary structure in conflict with the inner mechanism of matlab?

4 Comments

There is an earlier key hash implementation called containers.Map however it is not as well design and the engine is quite slow which kind of defeat the usage.
Surely you don't expect that every possible feature in MATLAB would have been introduced when the language was first written? containers,Map was introduced in R2008b. In fact, not long after you started using MATLAB. I would imagine it seemed adequate for the purpose at the time, and for many years after. Eventually someone decided they knew of a better implementation of the idea, so dictionary was introduced. But you need to consider the person who would have pushed for it would need to show they could do better then the containers tool, and that it would be a worthwhile investment of company resources.
My concern is, the late implementation might suggest that intrinsically matlab is not very compatible with this kind of data structure.
The issue is relevant to my code developement. In 2010, when I did not know the notion of dictionary, I used the binary search method to look up a number in a sorted table. The time complexity is O(log(N)), where N is the size of the table.
With a dictionary, the time complexity is O(1), and I do not need to implement the binary search myself.
"My concern is, the late implementation might suggest that intrinsically matlab is not very compatible with this kind of data structure"
I don't see why the data structure have anything to do with key hasing algorithm (as implemented by dictionary). Note that MATLAB has oop (class) for vey long.
Even if it was the case, you would not get an official answer, TMW staffs never discuss internal data structure related topic in public.

Sign in to comment.

Answers (0)

Categories

Find more on Document and Integrate Toolboxes in Help Center and File Exchange

Tags

Asked:

on 7 Apr 2024

Moved:

on 9 Apr 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!