python 中数据结构的存储方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013608336/article/details/82875382

python中的一切都是对象,任何自定义的数据结构都可以写成类

一、线性表

1.数组实现

list, import array, np.array Python中list实现为动态数组,而不是链表?
常用方法
append,extend, insert ,remove …
更多可参见python tutorial list

2.链表

最后一个节点没有后继节点了,因此它的指针指向空即NULL
循环链表最后一个指针指向链表头

单链表节点
class SingleLinkListNode(object):
  """
  单链表结点类
  """
  def __init__(self, data=None, next_node=None):
      self.data = data     # 数据域
      self.next = next_node # 指向下一个结点的指针(也即是地址)
双向链表节点
class DoubleLinkListNode(object):
  """
  双链表结点类
  """
  def __init__(self, data=None, prev_node=None,next_node=None):
      self.data = data     # 数据域
      self.prev = prev_node # 指向前驱节点
      self.next = next_node # 指向后继节点

链表和链表节点是两个不同的概念,链表除了以上的定义之外还需要定义一些其他的类方法

二、栈与队列

三、树与二叉树

1.树

2.二叉树基本概念

3.二叉查找树

4.平衡二叉树
5.红黑树

四、图

五、总结

参考

数据结构与算法(Python)——常见数据结构Part1(数组和链表)
常见数据结构与算法整理总结(上) C++

练习

[leetcode linked list]

猜你喜欢

转载自blog.csdn.net/u013608336/article/details/82875382
今日推荐