一个逻辑结构怎样选择最优的存储结构?
这个要根据算法分析时间复杂度,时间复杂度最好是O(1),也就是最优情况,但是每种存储结构都有自己的优缺点,比如顺序表修改、查询都很简单。时间复杂度为O(1),但插入操作的时间复杂度就不那么简单,因为如果要移动很多个元素,那么时间复杂度就不是最优情况了。
链表的好处是插入简单,只要建立个新结点,连接上去就可以,时间复杂度也是O(1),但要查询就挺麻烦,因为不知道自己要查找的元素在哪,所以就要从头结点一个一个比较查询,直到查到自己要的元素。那么它的时间复杂度也不是最优情况。所以,要根据自己的逻辑结构选择合适的存储结构,或者两者互补,弥补对方的不足。