一、排序算法总结
(1)插入排序:直接插入排序,希尔排序
(2)交换排序:冒泡排序,快速排序
(3)选择排序:直接选择排序,堆排序
(4)归并排序:
(5)桶排序:
空桶排序法,非常耗空间,需要指定max(arr[i]) + 1个空桶
规定数组中元素的最大值不超过数组的长度,否则要先求出数组元素的最大值后,才能指定空桶的个数
要求待排序数组中没有重复的元素
以上算法有通过递归实现,也通过非递归算法实现,这里不比较这两种算法。
对递归算法,其关键:找到递归出口,先由上而下再由下而上求解。
二、 查找
(1)简单顺序查找
(2)有序表的二分查找
(3)索引表的顺序查找
(4)树表的查找
(a) 二叉排序树查找
(b) 平衡二叉树查找
(5)散列表(哈希表)的查找
以上大部分算法都会在本博客中实现,期待指导和交流,谢谢!