动态查找-二叉排序树介绍与实现 1.算法简介二叉排序树(BinarySortTree),又称二叉查找树(BinarySearchTree),亦称二叉搜索树。该树属于一种输入数据就默认产生一种顺序的数据结构,这不像本章前面的内容所描述的静态的在某一个数据段内进行查找,动态查找是一种输入时就会自动对其进行排序的数据结构, 查找算法 2022年05月03日 176 点赞 0 评论 100796 浏览
动态查找-平衡二叉树 1.简介平衡二叉树(BalancedBinaryTree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。其中最为经典当属AVL树, 查找算法 2022年03月05日 204 点赞 0 评论 107854 浏览
冒泡排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:稳定排序2.过程介绍(以顺序为例)1.从第一个元素开始逐个比较相邻的元素。如果第一个比第二个大(a[1]>a[2]),就交换他们两个。 排序算法 2022年04月13日 253 点赞 0 评论 107450 浏览
简单选择排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(1)//即不需要排序,本身已是正序平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:不稳定排序2.过程介绍(以顺序为例)1.我们设置两个记录i和j,i自数组第一个元素开始,j自i+1个元素开始。 排序算法 2022年01月18日 192 点赞 0 评论 83463 浏览
直接插入排序算法实例详解 1.复杂度与稳定性最坏情况:O(N^2)最好情况:O(N^2)平均情况:O(N^2)稳定性:稳定排序2.过程介绍直接插入排序是把新的数据插入以及排序好的数列中,排序的基本方法是:每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。 排序算法 2022年03月26日 127 点赞 0 评论 126570 浏览
希尔排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插入排序,在对几乎已经排好序的数据操作时,效率极高,即可以达到线性排序的效率, 排序算法 2022年03月10日 185 点赞 0 评论 95148 浏览
堆排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须要了解什么是堆堆是一种非线性的数据结构,可以把堆看作一个数组, 排序算法 2022年03月31日 84 点赞 0 评论 69671 浏览
归并排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN)空间复杂度O(N)注:归并排序需要创建一个与原数组相同长度的数组来辅助排序稳定性:稳定排序2.过程介绍归并排序的核心思想是将两个有序的数列合并成一个大的有序的序列。 排序算法 2022年03月30日 245 点赞 0 评论 83287 浏览
快速排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(nlogn)平均情况:O(nlogn)稳定性:不稳定排序2.过程介绍快速排序是考察次数最多的排序,无论是在大学专业课的期末考试,还是在公司的面试测试题目中,快速排序都极大的被使用, 排序算法 2022年01月26日 116 点赞 0 评论 93397 浏览
各种排序算法总结 1.排序汇总类别排序方法时间复杂度空间复杂度稳定性平均情况最好情况最坏情况插入排序直接插入O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(n^2)O(n)O(n^2)O(1)不稳定选择排序直接选择O(n^2)O(n^2)O(n^2)O(1)不稳定堆排序O(nlogn)O(nlogn)O(nlo 排序算法 2022年01月13日 195 点赞 0 评论 75023 浏览