数据结构
钟炳祥
这个作者很懒,什么都没留下…
展开
-
基于python的Graph图的表示
图(Graph)的表示1.图的概念图是一种重要的数据结构,在解决实际问题中也经常用到这种数据结构,其基本表示为G=(V, E),V(vectex)是图的顶点,E(edge)表示图的边。我们的地图在计算机中就可以表示成一个Graph,不同的标志性地点为vectex,地点之间的路表示为edge,这样就可以方便操作实际中的地图去解决一些复杂的问题,比如找两个地点之间的最短路径,旅行商问题等等。图分为有向图和无向图,有向图指的是各个顶点之间有一定的方向,一个顶点到另一个顶点需要按照给定的方向进行移动;而无向图原创 2020-10-08 17:43:16 · 11653 阅读 · 0 评论 -
Heapsort堆排序详解和python实现
堆排序(Heapsort)Heap property堆数据结构是数组对象,它可以用近似完全二叉树进行表示。例如下面数组A,可以表示成a图的二叉树形式。设一节点的索引为i,从上图可以看到,其父节点的索引和子节点的索引与该节点的索引有如下关系:parent(i)=i//2(//表示取整)parent(i) = i//2 \quad(// 表示取整)\\parent(i)=i//2(//表示取整)left(i)=2ileft(i) = 2i\\left(i)=2iright(i)=2i+1原创 2020-10-08 17:36:11 · 882 阅读 · 0 评论 -
Priority queue
Priority queue(优先队列)队列是一种满足先进先出原则的数据结构,在Python中利用列表就可以简单地实现一个队列。首先需要定义一个列表,接在在列表中加入元素,最后利用pop方法将最先加入的元素取出,即可实现一个队列。queue = []queue.append(2)queue.append(3)queue.append(1)queue.pop(0)# output: 2队列的应用很多,比如在BFS算法中就使用到了队列的数据结构。但在有些场合中,我们不需要按照时间的先后顺序来原创 2020-10-08 17:31:19 · 168 阅读 · 0 评论