1.顺序表
python中的list就是一种采用分离式技术实现的动态顺序表,其特征有:
(1)基于下标(位置)的高效元素访问和更新,时间复杂度应该是O(1); 为满足该特征,应该采用顺序表技术,表中元素保存在一块连续的存储区中。
(2)允许任意加入元素,而且在不断加入元素的过程中,表对象的标识(函数id得到的值)不变。
(3)如果元素存储区满就换一块4倍大的存储区。但如果此时的表已经很大(目前的阀值为50000),则改变策略,采用加一倍的方法。
2.链表代码实现示例
class SingleNode(object): # 所有类继承object不是默认的吗? """单链表的结点""" def __init__(self, item): # item存放数据元素 self.item = item self.next = None # next是下一个节点的标识 class SingleLinkList(object): def __init__(self): # 这是带头节点的单链表 self.head = None def is_empty(self): # 判空 return self.head == None def length(self): # 求长度 cur = self.head count = 0 while cur != None: count += 1 cur = cur.next return count def travel(self):# 遍历 cur = self.head #是将head的地址值赋给了cur # print(cur) while cur != None: print(cur.item, end="") cur = cur.next print("") def add(self, item): # 头插法 node = SingleNode(item) node.next = self.head self.head = no