表、栈和队列基础
摘要:
一、表 表有简单数组实现和链表实现。 对比某些操作的算法时间复杂度: 1、查询 1.1 如果查询的参数是对象的下标i,那么数组的时间复杂度为常数时间O(1),单链表为O(i),双链表因为可以从头部或结尾开始查询,所以最坏的情况为i=N/2(N为表的大小),时间复杂度O(N/2)。 1.2 如果查询的参数是对象本身,那么数组的时间复杂度为O(i),单链表为O(i),双链表为O(i)。它们都需要从头到尾来遍历。 2、更新 对于数组的更新代价是昂贵的,因为每次插入一个对象,都需要把该对象后面的所有对象向后移一位,最坏的情况是在顶端插入,时间复杂度就是... 阅读全文
posted @ 2013-09-12 17:28 算徒 阅读(474) 评论(0) 推荐(0) 编辑