栈
用来保存线性数据的容器,后进先出
栈的实现
队列
先进先出
队列实现
双端队列
具有栈和队列性质的数据结构
排序
将一串数据依照特定的顺序排列
排序算法的稳定性
让原本相等键值的记录保持相对稳定
冒泡排序
重复遍历要排序的元素,一次比较两个相邻元素,顺序错误交换
最坏时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性:稳定
选择排序
首先在序列中找到最小的元素,放在起始位置,然后,再从剩余元素中找最小的元素,放在已排序序列的队尾,依次类推
最坏时间复杂度:O(n^2)
最优时间复杂度:O(n^2)
稳定性:不稳定
插入排序
对于未排序数据,在已排序数据中从后向前扫描,找到相应位置并插入
最坏时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性:稳定