golang中的原子操作在sync/atomic package中。 下文以比较和交换操作函数为例,介绍其使用。 CompareAndSwapInt32 比较和交换操作是原子性的。 判断参数addr指向的值是否与参数old的值相等, 如果相等,用参数new的新值替换掉addr存储的旧值,否则操作就会 ...
分类:
其他好文 时间:
2018-12-15 23:17:53
阅读次数:
335
Java数据结构和算法(一) 一、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 __数据结构的基本功能:__ 如何插入一条新的数据项 如何寻 ...
分类:
编程语言 时间:
2018-12-06 22:21:55
阅读次数:
226
题面 "过长已遮挡" 题意 体面已经陈述题意 (这题没有考语文阅读理解) 题解 我还记得我曾经给自己找的锅,给某些人讲课的时候说过一句话:体面越长的题,越简单。 这句话没有错,我会用接下来解决这道题的思路过程,来证明这句话。 1. 首先我们知道存在这么几种操作: a. 交换操作 b. 下沉操作 c. ...
分类:
其他好文 时间:
2018-11-07 11:22:23
阅读次数:
170
一、移动互联网的定义 移动互联网 通过无线接入设备访问互联网,能实现移动终端之间的数据交换 移动互联网 是计算机领域继大型机、小型机、个人电脑、桌面互联网之后的第五个技术发展阶段 移动互联网 是未来网络发展的核心和最重要的趋势之一 移动互联网(MI)是一种通过移动智能终端,采用移动无线通信方式获取业 ...
分类:
移动开发 时间:
2018-10-11 18:59:00
阅读次数:
306
1059: [ZJOI2007]矩阵游戏 Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择 矩阵的任意两行,交换这两行(即 ...
分类:
其他好文 时间:
2018-10-06 12:11:36
阅读次数:
164
问题描述:有一个长度为N的整形数组row,由0至N-1这N个数字乱序组成(每个数组出现且仅出现一次)。现在你可以对这个数组的任意两个不同的元素进行交换。问:对于一个给定的这种数组,若要把这个数组变为从小到大排好序的操作(即,对于数组的任意下标,均有 I == row[i] 成立),最少需要进行多少次 ...
分类:
编程语言 时间:
2018-09-15 23:48:51
阅读次数:
393
建堆的复杂度先考虑满二叉树,和计算完全二叉树的建堆复杂度一样。 对满二叉树而言,第 $i$ 层(根为第 $0$ 层)有 $2^i$ 个节点。 由于建堆过程自底向上,以交换作为主要操作,因此第i层任意节点在最不利情况下,需要经过 $(n i)$ 次交换操作才能完成以该节点为堆根节点的建堆过程。 因此, ...
分类:
其他好文 时间:
2018-08-31 14:04:48
阅读次数:
181
基于交换的排序、稳定的排序 第一趟:对所有n个元素,从第一个元素开始,比较相邻的两个元素,如果逆序,调换;在第一轮比较完之后,最大(小)的元素就会在最后一个位置 第二趟:对前n-1个元素,从第一个元素开始,比较相邻的两个元素,如果逆序,调换,在第二轮比较完之后,第二大(小)的元素就会在倒数第二位置 ...
分类:
编程语言 时间:
2018-08-29 14:35:11
阅读次数:
144
~~计数套路题?但是我连套路都不会,,,~~ 拿到这道题我一脸蒙彼,,,感谢@poorpool 大佬的博客的指点 先将第$i$位上的数字$p_i$向$i$连无向边,然后构成了一个有若干环组成的无向图,可以知道某个点包含它的有且仅有一个环,因为所有点度数都为2(自环的点度数也是2吧qwq) 那么我们的 ...
分类:
其他好文 时间:
2018-08-13 14:09:06
阅读次数:
185
排序是每个语言都需要学会的,不管是c++、java还是python,套路都是类似的 python中也有自带的排序函数sort,直接使用也可 闲来无事写了几个排序算法,各不相同 1、每次遇到最小的数都交换 这种方法会频繁进行交换操作 2、一次循环记录最小值的下标,一次循环只交换一次 这种就没有频繁交换 ...
分类:
编程语言 时间:
2018-08-05 11:48:05
阅读次数:
131