随笔分类 - 算法
摘要:排序算法的稳定性与适应性 稳定性:评判一个排序算法是否稳定,在于给定一个排序序列K时,其中存在关键码相等的两个或多个值,比如Ki与Kj的关键码相等,在K中Ki排列在Kj之前,那么排序结束后,保证Ki仍然排序在Kj之前,就称此算法为稳定的。 适应性:评判一个排序算法是否具有适应性,在于给定一个排序序列
阅读全文
摘要:用二叉排序树来实现字典结构 字典:是一种key-value映射结构 二叉排序树:存储数据的二叉树,树中的每个结点存储着数据信息(包括关键码),左子树要不大于根结点的关键码,右子树不小于根结点的关键码。且左右子树也是二叉排序树。 实现二叉排序树 Python实现代码 点击查看代码 # 二叉排序树 fr
阅读全文
摘要:字典的解释 字典:就好像我们所知的新华字典、中英文字典等等,字典这个词的含义就是为字词提供解释,在数据结构中的字典给我们提供了什么的解释呢?我们去百度去搜索一下: 可以发现,我们在百度输入框中输入一段搜索文字,就能得到对应的结果。我们可以称百度是一个巨大的“字典”,它能给我们带来一段关键字的解释。在
阅读全文
摘要:树形结构是一种比线性结构更复杂的结构,与线性结构一样,是一种在逻辑上是有序的结构。树形结构(如果非空)具有一个顶点,称为起始结点,起始结点下又连接着其他结点,一直往下延伸。树形结构逻辑上有序的意思就是从起始结点往下延伸的顺序。 以下用一张图来描述下树的一些基本属性: 了解了树的一些基本属性后,我们来
阅读全文
摘要:线性表 定义:线性表是n个数据元素的有限序列,其一般描述为A=(a1,a2,a3,......,an) 存储方式: (1)顺序存储 向量存储或一维数组存储 (2)链式存储 链式存储又分为单向链表存储、单向循环链表与双向链表存储。 单向链表 定义:单向链表是指结点中的指针域只有一个沿着同一方向表示的链
阅读全文
摘要:字符串是多个字符连接起来的串,其中的字符是选自特定的字符集,比如ASCII、Unicode等,在Python和Java语言中使用的Unicode字符集,由多个Unicode字符连接成的串即为字符串,字符串在结构上可以理解成一个顺序表,其中的每个字符即为顺序表中的一个元素,但是字符串与顺序表不同在于,
阅读全文
摘要:深度优先与广度优先算法应用于图的遍历,当我们需要生成一个图G的生成树T的时候,可以使用深度优先或广度优先算法。 以下是我构造的一个无向连通图,用于下面的实例说明 # 顶点与边 vertexs = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] edges = [('
阅读全文
摘要:最小生成树是经过无向连通带权图进行转换生成的,在一开始,先了解下图这个数据结构及相关概念。 图可用二元组表示,G(V,E),其中V表示顶点的非空有限集合,E表示边的有限集合。 有向图与无向图 以下图G1则为有向图,G2为无向图,G1中每条边都是有方向的,在有向图中<1,2>、<2,1>是不同的两个方
阅读全文

浙公网安备 33010602011771号