随笔分类 -  算法

一些算法题的博客
摘要:最大子数组(分治法) 解题思路: 将数组分成两份,最大子数组(元素之和最大)只有三种情况: (1)最大子数组在mid左边,即:startIndex和endIndex都在mid左边 (2)最大子数组一半在左边,一半在右边,即:startIndex在 mid左边,endIndex在mid右边 (3)最大 阅读全文
posted @ 2022-12-05 17:24 xiaoliangliang 阅读(153) 评论(0) 推荐(0) 编辑
摘要:最大子数组问题(暴力法) 暴力求解:遍历每一个子数组区间,比较大小,并记录最大收益的开始和结束的下标 代码实现 int[] priceArray = new int[] { 100, 120, 140, 50, 63, 89, 150, 162, 186, 20, 90, 48, 75, 97, 9 阅读全文
posted @ 2022-12-05 17:23 xiaoliangliang 阅读(39) 评论(0) 推荐(0) 编辑
摘要:快速排序算法详解 快速排序是对冒泡排序的一种改进,由 C.A.R.Hoare(Charles Antony Richard Hoare,东尼·霍尔)在 1962 年提出。 快速排序的基本思想是: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另一部分的所有数据要小,再按这种方法 阅读全文
posted @ 2022-12-05 17:22 xiaoliangliang 阅读(995) 评论(0) 推荐(0) 编辑
摘要:选择排序 选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。 选择排序的方法主要有 阅读全文
posted @ 2022-12-05 17:19 xiaoliangliang 阅读(315) 评论(0) 推荐(0) 编辑
摘要:冒泡排序算法 算法思想 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数 阅读全文
posted @ 2022-12-05 17:17 xiaoliangliang 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示