好久没更博客了, 这篇随笔不同于之前的学术性随笔、游记,只是来发泄一下自己的情感,回忆一下自己的OI经历…… 五年的OI生涯结束了 初一:懵懂的我刚接触了OI,被其功能吸引。由于运气好过了初赛,然而复赛惨败。 初二:信奥社团的好多人离开了。我们开始学习很多有趣的算法。我在网上学习了pascal的各种 ...
分类:
其他好文 时间:
2019-05-01 01:24:55
阅读次数:
173
题目条件:线性表顺序存储,且每个元素都是不相同的整数型元素 本题可采用快速排序的划分思想来设计算法,只需遍历一次即可,其时间复杂度为O(n) 空间复杂度为O(1) 基本思想是:先从前往后找到一个偶数元素,再从后往前找到一个奇数元素,将二者交换。 ...
分类:
移动开发 时间:
2019-04-30 19:55:34
阅读次数:
228
k-近邻算法采用测量不同特征值之间的距离方法进行分类。 优点:精度高、对异常值不敏感、无数据输入假定。 缺点:计算复杂度高、空间复杂度高。 适用范围:数值型、标称型。 工作原理:存在一个样本数据集合(训练样本集),并且样本集中每个数据都存在标签。输入没有标签的新数据后,将数据的每个特征与样本集中数据 ...
分类:
编程语言 时间:
2019-04-29 20:58:38
阅读次数:
175
选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 ...
分类:
编程语言 时间:
2019-04-28 10:01:35
阅读次数:
138
P1177 【模板】快速排序 【 堆排序 】 时间复杂度:O(nlogn) PS:OI界的log都是以2为底数 空间复杂度:O(n) [ 代码 ]: #include<bits/stdc++.h> using namespace std; long long n,x,heap_size; int h ...
分类:
编程语言 时间:
2019-04-26 22:25:41
阅读次数:
188
方法一:这是我一开始的想法,将链表L2的各个元素与链表L1的元素进行逐一比较,将L2中的数据元素插入L1中的合适位置。 时间复杂度:O(m+n);空间复杂度:O(1) 1)首先,可能要对第一个元素进行插入操作,所以为了统一插入操作,需要创建哨兵; 2)循环终止条件是L2遍历完即nullptr == ...
分类:
其他好文 时间:
2019-04-22 23:01:55
阅读次数:
143
【题目】 给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。要求时间复杂度O(logN),空间复杂度O(1) 【举例】 例如 arr1 = [1, 2,3,4],arr2 = [3,4,5,6]。 总共8个数,则中位数就是第 4 小的数,为 3. 例如 ar ...
分类:
编程语言 时间:
2019-04-20 12:44:49
阅读次数:
171
给定一个单向链表,在O(1)空间复杂度和O(nlogn)时间复杂度下进行排序#-*-coding:utf-8-*-#@Time:2019-04-1920:07#@Author:JayceWong#@ProjectName:job#@FileName:linkedListQuickSort.py#@Blog:https://blog.51cto.com/jayce1111#@Github:https:
分类:
其他好文 时间:
2019-04-19 22:43:43
阅读次数:
177
SingleNumber I: 题目链接:https://leetcode-cn.com/problems/single-number/ 题意: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不 ...
分类:
编程语言 时间:
2019-04-19 01:17:08
阅读次数:
165
两个题类似,第一个题是不允许有重复的数字,第二个题是允许每个数字最多重复两个,两个题目都要求在原数组上进行操作,并返回生成数组的长度,即空间复杂度为O(1)。 两个题都是使用双指针,第一个指针指向生成新的数组的最后一个位置,第二个指针指向当前进行判断的位置。 唯一不同的是, 第二个题需要设置一个变量 ...
分类:
其他好文 时间:
2019-04-18 14:58:31
阅读次数:
128