算法
龙虾天天
未来看现在,是否无遗憾
展开
-
归并排序的实现方式(C++)
merge函数void merge(vector<int> &vec, int lo, int mid, int hi) { vector<int> save; //临时数组 std::copy(vec.begin(), vec.end(), back_inserter(save)); int i = lo, j = mid + 1; for (int k = lo; k <= hi; k++) { //从lo向h原创 2022-02-18 20:02:03 · 477 阅读 · 0 评论 -
Array题型刷题套路
1 概述Array类型题型,一般而言题目中数据都有固定长度或者数量,通常使用双指针的方式解决此类问题。此处双指针不一定就是两个指针,同时也不一定是真实的指针,而且多数是数组下标的处理方式,主要是指使用双指针的思维,比如同向移动指针或者反向移动指针。2 同向双指针方式使用下图表示同向双指针的思考方式:同向双指针将数据分为三个区域:[0, i) 表示处理好的数据[i, j) 表示处理过但是不需要的数据[j, array.len) 表示接下来要处理的数据那么一般此类题的通用步骤就是:初始原创 2021-12-29 00:29:52 · 294 阅读 · 0 评论 -
直接插入算法
1 算法原理插入算法是每次将一个新数据插入到有序队列中的合适位置的一种算法。 算法的详细过程描述如下: 假设有一个无序队列R1, R2, R3, …, Rn (1)首先认为R1是有序的,然后将R2, R3,…,Rn依次插入到这个有序队列的合适位置,因此我们需要一个外部循环 (2)我们需要将Ri插入到合适位置,Ri前面的数据已经是有序的了,我们需要将Ri依次和前面的数据进行比较,每次比较...原创 2018-05-25 23:17:53 · 6471 阅读 · 0 评论