算法
no_Talents
算法好难- -
展开
-
算法|插入排序
插入排序解析工作机理:与打牌时整理手中牌的做法差不多,假设一开始左手为空,整理卡牌时是每次从桌上拿起一张卡牌,插入到左手中已整理好的序列中。代码解析:从工作机理可知,我们需要两层循环,第一层循环遍历桌上的每一张卡牌,第二层遍历左手中已整理好的卡牌,第一层遍历到的卡牌与第二层已排序好的卡牌逐一比较,找到可插入的地方插入,即交换位置。举例 特点:原地排序,即在已有的数组上排序,不...原创 2018-07-12 11:09:40 · 171 阅读 · 0 评论 -
算法|快速排序
1. 思路通过arr[q]将数组arr[p...r]划分成两个子数组arr[p...(q-1)]、arr[(q+1)...r],前一个子数组所有元素<=arr[q],后一个子数组所有元素>=arr[q]。以同样的做法对子数组进行递归划分,最后数组arr就排序好了。在这过程中,计算下标q,即划分子数组(partition)是快速排序最关键的一部分。① 划分选择一个x=arr[r]作...原创 2019-02-06 00:16:58 · 179 阅读 · 0 评论