码迷,mamicode.com
首页 > 编程语言 > 日排行
排序算法——快速排序的图解、代码实现以及时间复杂度分析
在C++的泛型排序中,拷贝对象需要很大的开销,而比较对象常常是相对省时的(编译器的自动优化)。在这种情况下,如果我们能够使用更少的数据移动,那么有理由让一个算法多使用一些比较。而快速排序(Quicksort)满足了这种特点,实际上C++中通常所使用的排序例程就是使用的快速排序。 快速排序也是一种分治 ...
分类:编程语言   时间:2018-10-12 13:55:01    阅读次数:227
一些简单的树状数组题
题目链接:CF961E大意:给定一列数$a_i$,求满足下列条件的数对$(x,y)$的数量:$(1)x<y,(2)a_x\geq y,(3)a_y\geq x$如果只有前两个条件那就是很简单的树状数组题但是这样做是无法满足第三个条件的所以我们可以预处理出满足第三个条件的情况,并将它们压进vector ...
分类:编程语言   时间:2018-10-12 13:55:16    阅读次数:166
python修饰器(装饰器)以及wraps
装饰器的引入 初期及问题的诞生 假如现在在一个公司,有A B C三个业务部门,还有S一个基础服务部门,目前呢,S部门提供了两个函数,供其他部门调用,函数如下: 在初期,其他部门这样调用是没有问题的,随着公司业务的发展,现在S部门需要对函数调用假如权限验证,如果有权限的话,才能进行调用,否则调用失败。 ...
分类:编程语言   时间:2018-10-12 13:56:32    阅读次数:147
区块链工作量证明及哈希算法
什么是工作量证明:1、工作的结果作为数据加入区块链成为一个区块2、完成这个工作的人会获得奖励(这也就是通过挖矿获得比特币)3、整个“努力工作并进行证明”的机制,就叫工作量证明 为什么采用哈希算法:1、不可逆:无法从一个哈希值恢复原始数据,哈希并不是加密2、唯一性:对于特定的数据,只能有一个哈希值,并 ...
分类:编程语言   时间:2018-10-12 13:56:50    阅读次数:221
关于初学java从控制台上输入数据
1。首先导入Scanner包;即import java.util.Scanner; 2.写完类名和主方法后为Scanner类创建对象,即 Scanner sca=new Scanner(System.in);别忘了括号里的System.in 在写完了之后记得给自己提示,此时你要从键盘输入一个数 即S ...
分类:编程语言   时间:2018-10-12 13:57:15    阅读次数:166
7 死锁,递归锁,信号量,Event事件,线程Queue
一、死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程, 如下就是死锁 死锁 from threading ...
分类:编程语言   时间:2018-10-12 13:58:32    阅读次数:174
Java重载和重写
重载:方法名一致即可,访问修饰符、返回值类型无关,然后不同的重载方法参数列表的参数的顺序,类型,数量进行变换即可。 JVM通过参数列表的不同进行调度不同的方法,若参数列表相同则会出现解析错误 重写:重写方法的访问修饰符可以不同,但访问权限需要比父类中的大,比如protected修饰的方法重写的时候可 ...
分类:编程语言   时间:2018-10-12 13:58:51    阅读次数:161
快速排序(QuickSort),归并排序(MergeSort),堆排序(HeapSort)典型C++代码实现总结
最近在面试的时候经常能碰到让手写代码的,其中这三种经典排序算法更是出现频繁,在这里用C++总结一下,也算是备忘。 快速排序(QuickSort) 快速排序最经典的就是挖坑法,在第一个数字(把该数字作为temp,即枢轴量pivot)处挖坑用来存放右侧第一个比temp值小的数,然后坑的位置就变成了右侧这 ...
分类:编程语言   时间:2018-10-12 13:59:20    阅读次数:141
使用eclipse创建第一个SpringBoot项目
1、new->maven->maven project, 勾选 Create a simple project, 下一个页面中填入group id(项目组织唯一标识, 如org.apache)和artifact id(应用名,本例子中为 2、配置pom.xml 3、在src/main/java下新建 ...
分类:编程语言   时间:2018-10-12 13:59:45    阅读次数:377
如何将一个SpringBoot简便地打成一个war包(亲测有效)
正常情况下SpringBoot项目是以jar包的形式,通过命令行: 来运行的,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服务器。正因如此,也出现了一个问题: 上传到项目的文件,如果是保存在项目中的,那么重启过后文件就会丢失。比如我们上传了一个头像,重启 ...
分类:编程语言   时间:2018-10-12 14:00:01    阅读次数:166
Shell 数组
Shell 数组 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由0开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: 实例 我们也可以使用下标来定义数组 ...
分类:编程语言   时间:2018-10-12 14:00:37    阅读次数:124
旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 Solut ...
分类:编程语言   时间:2018-10-12 14:03:38    阅读次数:142
python 打印Linux中文编码字符
2018-10-12 12:02:15 星期五 输出 "服务器提交" ...
分类:编程语言   时间:2018-10-12 14:04:26    阅读次数:266
javascript(9)
两条语句输出的结果是一样的. Number类中的方法 var a=890; a=a.toString(); window.alert(typeof a); 输出:string var a=890.567; //a=a.toFixed();//参数不写默认转换为整数 a=a.toFixed(2); w ...
分类:编程语言   时间:2018-10-12 14:05:35    阅读次数:185
Java的LinkedHashSet、Map接口、可变参数、集合嵌套、
1、LinkedHashSet:(1)LinkedHashSet集合保证元素的存入和取出的顺序; 效果如下: (2)LinkedHashSet其实是HashSet的子类; 2、Map接口:(1)元素是成对存在,每个元素由键与值两部分组成,通过键可以找对所对应的值,键值对;(2)Map中的集合不能包含 ...
分类:编程语言   时间:2018-10-12 14:08:03    阅读次数:207
Learning-Python【16】:模块的导入使用
一、什么是模块 模块就是一系列功能的集合体,一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀。 模块有三种来源: 1、内置的模块 2、第三方的模块 3、自定义模块 模块的四种通用类别: 1、使用Python编写的代码(.py文件) 2、已被编译为共享库或DLL的 ...
分类:编程语言   时间:2018-10-12 14:10:24    阅读次数:197
Python NumPy学习总结
一、NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的GIL(全局解释器锁),运行效率极好,是大量机器学习框架的基础库! 关于 ...
分类:编程语言   时间:2018-10-12 14:11:23    阅读次数:1181
spring分页
1.Brand 商品品牌类 2.dao层 3.service层 4.controller层 5.jsp页面 显示结果: ...
分类:编程语言   时间:2018-10-12 14:11:33    阅读次数:141
Java线程-线程的基本状态
问题:线程有哪些基本状态?这些状态是如何定义的? 新建(new):新创建了一个线程对象。 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。 运行(running):可运行 ...
分类:编程语言   时间:2018-10-12 14:12:16    阅读次数:184
python open with读写编辑文件
题目分析: 把grade 以行方式读进内存 命名为 grade然后取前十行 , 把它写入到 一个名字为 grade_new.txt 的文件中去然后, 再把 最后10行 , 追加到grade_new 这个文件中去最后 grade_new中就应该有20行数据 代码: ...
分类:编程语言   时间:2018-10-12 14:12:54    阅读次数:570
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!