算法与数据结构
算法
Inevitability
任何时候WHY比WHAT都重要!
展开
-
排序算法——快速排序
排序算法 —— 快速排序 快速排序是现在使用的很多的一种排序算法,同时也是很有可能会被面试问到的一个基础排序算法题。 那么怎么了解快速排序呢? 其实想要了解快速排序,首先我们需要知道冒泡排序,这是为啥? 这是因为快速排序是在冒泡排序的基础上的改良呀! 冒泡排序 冒泡排序的基本思想:每次都比较相邻的两个元素,如果这两个元素大小位置不对劲,那就将这两个元素的位置交换一下,这样就会使得每次都有一个符合最...原创 2019-09-13 13:41:44 · 217 阅读 · 0 评论 -
排序算法——冒泡排序
冒泡排序 冒泡排序是一种基础的交换排序。 之所以称为冒泡是因为冒泡排序的每一个元素都可以像气泡一样,通过设定的从小到大或者从大到小的排序顺序,一点点的朝着数组的一侧进行移动,达到最后的排序效果。 思想(从小到大顺序) 冒泡排序是把相邻的元素进行两两的比较,当一个元素大于它的右侧相邻的元素的时候,这两个元素的位置进行交换,否者,这两个元素的位置不再变化。 如果是从大到小的顺序,只需要将大于的条件改...原创 2019-10-06 16:15:57 · 322 阅读 · 0 评论 -
排序算法——鸡尾酒排序
鸡尾酒排序 鸡尾酒排序是一种在冒泡排序的基础上进行改进的算法。 和冒泡排序的从数组的一端一个个排序到另一端的单方向的顺序不同,鸡尾酒排序的元素比较和交换的双向的。 双向是什么意思呢? 就是说,对于鸡尾酒排序,第一轮从左到右进行排序,这里和冒泡排序一模一样,但是第二轮就不一样了,此时需要的是从右到左,换个方向进行排序,第三轮又变成从左到右进行排序… 通俗点来说就是:鸡尾酒排序的过程就像是游乐场里...原创 2019-10-06 16:43:46 · 378 阅读 · 0 评论 -
排序算法——计数排序
计数排序 计数排序是一种比时间复杂度O(nlogn)还要快速的一种排序,可以达到线性的时间复杂度。这种排序算法是通过数组的下标的位置来确定数据的正确位置的。 大致的过程如下: 代码实现: public static int[] sort(int[] array){ //首先需要确定建立一个多大的数组,所以先要得到数组中的最大值 int max = array[0]; fo...原创 2019-10-06 17:54:08 · 217 阅读 · 0 评论