摘要:(1)快速排序:O(nlogn)~O(n^2): 小的放在该元素前面,大的放在该元素后面。 快速排序的比较时间最短,可以理解为其要比较该元素的前后,所以效率最高。 平均时间和最好时间:O(nlogn) 最坏时间退化成冒泡: O(n^2) (2)选择排序:不受初始数据序列的影响,时间复杂度不变 直接选
阅读全文
摘要:一、Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,Dijkstra 算法可以用来找到两个城市之间的最短路径。 三、Dijkst
阅读全文
摘要:前言 : 即可能误判 不会漏判 一、什么是Bloom Filter Bloom Filter是一种空间效率很高的随机数据结构,它的原理是,当一个元素被加入集合时,通过K个Hash函数将这个元素映射成一个位阵列(Bit array)中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大
阅读全文
摘要:一、红黑树的介绍 先来看下算法导论对R-B Tree的介绍: 红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。 红黑树,作为一棵二叉查
阅读全文
摘要:1.堆排序是利用堆的特性对记录序列进行排序的一种排序方法。好的那么堆得特性是什么呢?堆得定义: 堆是满足下列性质的数列{r1, r2, …,rn}: 堆是满足下列性质的数列{r1, r2, …,rn}:
阅读全文
摘要:快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以
阅读全文
摘要:网上关于快速排序的算法原理和算法实现都比较多,不过java是实现并不多,而且部分实现很难理解,和思路有点不搭调。所以整理了这篇文章。如果有不妥之处还请建议。首先先复习一些基础。 1、算法概念。 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。 2
阅读全文
摘要:思想:每一次都是一对多,把最左边的值和剩余的所有值比较。
阅读全文
摘要:思想:每次都是相邻的两个元素进行比较,如果符合条件就交换。
阅读全文
摘要:7.1 概 述 7.2 插入排序 7.3 快速排序 7.3 快速排序 7.4 堆排序 7.4 堆排序 7.5 归并排序 7.5 归并排序 7.6 基数排序 7.6 基数排序 7.7 各种排序方法的综合比较 7.7 各种排序方法的综合比较 7.1 概 述 一、排序的定义 二、内部排序和外部排序 三、内
阅读全文
摘要:树是n(n≥0)个结点的有限集。在任意一棵非空树中: 树是n(n≥0)个结点的有限集。在任意一棵非空树中: (1)有且仅有一个特定的称为根的结点; (1)有且仅有一个特定的称为根的结点; (2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm, (2)当n>1时,其余结点
阅读全文
摘要:数组的类型定义、数组的存储表示、特殊矩阵的压缩存储表示方法、随机稀疏矩阵的压缩存储表示方法 5.1 数组的类型定义 5.1 数组的类型定义 5.2 数组的顺序表示和实现 5.2 数组的顺序表示和实现 5.3 稀疏矩阵的压缩存储 5.3 稀疏矩阵的压缩存储 5.4 广义表的类型定义 5.4 广义表的类
阅读全文
摘要:1 串的抽象数据类型的定义 1 串的抽象数据类型的定义 2 串的表示和实现 2 串的表示和实现 3 串的模式匹配算法 3 串的模式匹配算法 串,是由零个或多个字符组成的有限序列. 如: 'a string' 一般记为S=’a1a2…an’ (n>=0) 其中S是串的名称, 用’’括起来的字符序列是串
阅读全文
摘要:队列是一种先进先出的线性表,只能在表头删除在表尾插入,操作系统中的作业排队就是队列的一个很好的应用。 也有可以在两端均可进行插入和删除操作的队列,称为双端队列,但其用处并没有一般队列广泛。 队列类型的实现 1:链队列——链式映象: 2:循环队列——顺序映象 第一部分:链队列——链式映象 算法1:队列
阅读全文
摘要:通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。 线性表 栈 队列 Insert(L, i, x) Insert(S, n+1, x) Insert(Q, n+1, x) 1≤i≤n+1 Delete(L, i) Delete(S, n) Delete(Q, 1) 1≤i≤n 栈是限
阅读全文
摘要:线性表的链式存储方式: 线性表的链式存储就是用一组地址任意的存储单元存放线性表的数据元素 单链表 以元素(数据元素的映象) + 指针(指示后继元素存储位置) =结点 以“结点的序列”表示线性表称作单链表 以线性表中第一个数据元素的存储地址作为线性表的地址,称作线性表的头指针 有时为了操作方便,在第一
阅读全文
摘要:线性表是一种最简单的线性结构 线性结构的基本特征为:线性结构是一个数据元素的有序(次序)集 1.集合中必存在唯一的一个“第一元素”; 2.集合中必存在唯一的一个 “最后元素” ; 3.除最后元素在外,均有 唯一的后继; 4.除第一元素之外,均有 唯一的前驱 线性表:n个数据元素组成的有限序列。表示为
阅读全文