table row key implementation
이전 댓글 표시
Does anyone know how the MatLab table 'RowKey' mechanism is implemented ?
I would expect something like this to be done using a tree structure internally - which then indirects into the backing data structure - so that sorting would be maintaned efficiently as the table grows - but I am seeing some strange behaviour which makes me question this.
If I create a tables - approx 250,000 rows - and use tbl.Properties.RowKeys to set unique keys - and then do a filter/sort operation on that table, like this:
tFinal1 = tInitial(MyRowKeys,:)
this takes a very long time, but if instead I do:
[~, idx] = ismember(MyRowKeys, tInitial.Properties.RowNames);
tFinal2 = tInitial(idx,:)
this is several orders of magnitude faster - so much so that the first version is unworkable.
It looks to me like one is o(n.log(n)) and the other is o(n squared) - or there is a very different element cmp operation.
Is there any documentation on how this works internally ?
A
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Scripts에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!