有1500万行数据,如何用matlab统计每行数据出现的次数并将该条数据输出到相应的文件中?

2025-03-13 23:20:07
推荐回答(1个)
回答1:

这玩意其实不应该用MATLAB做,用任意一种高级语言比如Python做比较好。
有两种方案,都是借助hash做
如果你懂hash map的底层原理可以自己手动实现,数组嵌套,数组的每一个元素是一个链表,数组长度设为2^24,数据存放在数组哪个位置通过hash算法得到,将该数据添加到链表中,一次遍历就可以对数据完成统计,然后相同的数据必定都在同一个链表中,如果链表长度小于10(自己定)就手动判断重复,如果长度过大就再在链表里通过加salt再次统计。
嫌麻烦就借助hash map,map结构为,如果数据未在map中出现,就添加进去,并加到list后,以后都可以直接加到list中,这样实际也是借助hash完成了分类,但list中重复率可能高了点(hash长度为16),这里统计完成了,然后是一样的操作。