class Solution { public: int searchInsert(vector<int> &nums, int target) { int low = 0; int high = nums.size() - 1; //为了严谨 <= while (low <= high) { in ...
分类:
其他好文 时间:
2021-04-07 10:57:40
阅读次数:
0
归并排序模板 code: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N = 1e5 + 10; typedef long long ...
分类:
编程语言 时间:
2021-04-05 12:52:30
阅读次数:
0
1、时间复杂度o(1), o(n), o(logn), o(nlogn)。算法时间复杂度的时候有说o(1), o(n), o(logn), o(nlogn),这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之 ...
分类:
其他好文 时间:
2021-04-05 11:50:18
阅读次数:
0
#include <iostream> void print_arrs(const int *, int N); void sort_arrs(int *pInt, int N); constexpr int COUNT = 10; int search_data(const int *pInt, ...
分类:
其他好文 时间:
2021-03-31 12:20:32
阅读次数:
0
public class MergeSort { //基本思想为分治法,将有序的子序列合并,得到有序的序列。先使每个子序列有序,再使子序列段间有序。 //当有 n 个记录时,需进行 logn 轮归并排序,每一轮归并比较次数不超过 n,元素移动次数为 n,因此时间复杂度为 O(nlogn)。 //归并 ...
分类:
编程语言 时间:
2021-03-31 12:01:17
阅读次数:
0
class Solution { public static void main(String[] args) { int[] arr = new int[]{0, 1, 2, 2, 2, 3, 4, 5}; //int index = binarySearch(arr, 2); //int ind ...
分类:
其他好文 时间:
2021-03-31 11:46:55
阅读次数:
0
数组声明创建 声明数组变量,两种方法 int[] num; int num[]; 使用 new 创建数组 num = new int[arraySize]; 可以同时进行声明和创建数组 int[] num = new int[arraySize]; 数组初始化 静态初始化 int[] a = {1, ...
分类:
编程语言 时间:
2021-03-09 13:55:36
阅读次数:
0
二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对 ...
分类:
编程语言 时间:
2021-03-09 13:27:10
阅读次数:
0
归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修 补"在一起,即分而治之)。 归并排序 ...
分类:
编程语言 时间:
2021-03-08 14:00:17
阅读次数:
0
二分查找,简而言之就是在一个有序的序列中找一个元素,因为这些元素已经有序,所以每次都将要找的数跟待寻找序列的中间元素比较,如果要找的数大于中间元素,说明接下来只需要在该序列的右半边中找,所以可以不用管左半边了,这样每次都排除一半的元素直到最后找到要找的元素。我们可以用两个变量代表待寻找序列的最左端索 ...
分类:
其他好文 时间:
2021-03-05 13:27:34
阅读次数:
0