1.算法介绍弗洛伊德算法和Dijkstra算法被公认为最著名的两种最短路径求解算法。接下来介绍一下弗洛伊德的算法。 弗洛伊德算法的思想是:先初始化距离矩阵,然后从第一个点开始逐步更新矩阵的点值。 d[i][j]表示i点到j点的距离。第k次更...
1.算法介绍 块搜索是二分搜索和顺序搜索的改进方法。块搜索只需要索引表的顺序。块内的节点没有排序要求,因此特别适合节点的动态变化。它的核心包含两个索引表,第二个是块处理。 对于分块搜索,必须将一个大的线性表分成多个块。每个块中的节点可以任意...
1。算法介绍二分查找也称为二分查找,大多数人喜欢称之为二分查找。这是一种更有效的搜索方法。但半查找要求线性表采用顺序存储结构,表中的元素必须按关键字排序。注意,必须按顺序订购,但有一种特殊情况不必按顺序处理,即上一节中介绍的产品从一堆重量标...
1.搜索算法搜索算法是指从某些数据中找到特定数据的实现方法。搜索算法与遍历非常相似。唯一的区别是搜索算法不一定访问所有数据。某些搜索算法(例如二分搜索)不需要完全访问所有数据。 搜索算法适用于多种场景。典型的应用场景是在已知缺陷产品的特征的...
1.简介平衡二叉树具有以下性质:空树或左右子树的高度差绝对值不超过1,左右子树为平衡二叉树。平衡二叉树常用的实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。其中最经典的是AVL树。 综上所述:平衡二叉树是一种二叉排序树,其中左子树...
1。算法简介二叉排序树(Binary Sort Tree),也称为二叉搜索树(Binary Search Tree),也称为二叉搜索树。树属于一种输入数据,默认情况下会生成顺序数据结构。这与本章前面的内容中描述的特定数据段内的静态搜索不同。...
1。复杂性和稳定性 算法时间复杂度 最坏情况:O(n^2) 最好情况:O(1 ) 情况已经是正序了 ‼ 空间复杂度:S(n ) =O(1) 稳定性:不稳定的排序 2。流程介绍(以序列为例)1.我们设置两条记录i和j,i从数组的第一个...
1。复杂性和稳定性时间复杂度算法最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)♿2。是一个栈吗? 堆排序是一种特殊的排序方法。在学习之前,我们需要先了解什么是栈。 堆是一种非线性数据结构。堆可以被认为是一个数组或一个完全二叉...
复杂性和稳定性 算法时间复杂度 最坏情况:O(n^2) 最好情况:O(n) : O(n ^2 )稳定性:排序不稳定2。流程介绍希尔排序又称为降序增量排序算法,是一种不稳定但效率更高的插入排序在操作近排序数据时效率极高,即可以达到线性排...
1.复杂性和稳定性 最坏情况:O(N^2)最好情况:O(N^2) 平均情况:O(N^2)稳定性:稳定排序2。流程简介直接插入排序是将新数据插入到已排序数组中的行为。基本的排序方法是:在每一步中,根据排序代码的大小,将要排序的元素插入到先前...