- 博客(20)
- 收藏
- 关注

原创 java中的数组操作及内存特点
1、数组的定义(1)概念:同一种类型数据的集合,其实数组就是一个容器。(2)好处:可以自动给数组中的元素从0开始编号,方便操作数组中的元素。(3)格式:元素类型[ ] 数组名称 = new 元素类型[ 元素个数或者是数组元素长度]// 格式1int[] array = new int[5];// 格式2int[] array = new int[]{1,2,3,4,5,...
2019-04-13 22:59:58
514

原创 java中的函数定义及使用
1、函数的定义什么是函数?函数就是定义在类中的具有特定功能的一小段独立的代码,也称为方法。函数格式:修饰符 返回值类型 函数名称(参数类型 参数1,参数类型参数2, . . . ){函数执行代码;return 返回值;}eg:public static int addFunc(int a,int b){return a+b;}返回值类型:函数运行...
2019-04-13 15:11:51
4268
原创 Centos 安装docker
安装docker-compose插件。配置阿里docker镜像。安装docker-ce。插件软连接方便实用可选。启动并设置开机自启动。
2025-01-23 11:06:13
681
原创 python异步任务协程yield greelet gevent asyncio async await高级使用
协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。:是一个第三方模块,用于实现协程代码,;:基于greenlet实现的,,等待IO操作完成,再在适当的时候切换回来继续执行;:生成器,借助生成器的特点也可以实现协程代码;:在Python3.4中引入的模块用于编写协程代码;:在Python3.5中引入的两个关键字,结合asyncio模块可以更方便的编写协程代码。
2024-07-04 11:28:56
952
原创 二分查找算法
目录1、概述2、代码实现(1)递归实现(2)非递归实现1、概述二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满
2024-07-01 23:39:28
287
1
原创 常用排序算法_06_归并排序
归并排序采用分治法 (Divide and Conquer) 的一个非常典型的应。归并排序的思想就是先递归分解数组,再合并数组。归并排序是一种稳定的排序方法。将数组分解最小之后(数组中只有一个元素,数组有序);然后合并两个有序数组,基本思路是比较两个数组的最前面的数谁小就先取谁,然后相应的指针就往后移一位;然后再比较,直至一个数组为空;最后把另一个数组的剩余部分复制过来即可。和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是 O(nlogn) 的时间复杂度;
2024-07-01 22:50:26
286
原创 常用排序算法_05_快速排序
快速排序(Quicksort),又称划分交换排序(partition-exchangesort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程递归进行,以此达到整个数据变成有序序列。:将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边。在这个分区结束之后,该基准就处于数列的中间位置。:对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。
2024-07-01 21:20:44
259
原创 常用排序算法_04_希尔排序
希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。
2024-07-01 12:25:55
264
原创 Spark实现分组排序TopN
分组排序TopN的第一种实现方式(1)思路:先将rdd转换为key/value键值对类型的rdd,然后按照key对数据进行聚合,对同组key的所有value数据进行排序,对排序之后的value集合获取出现次数最多的前3个数据// 缺点1:groupByKey这个API在现在这个版本的实现中,同组(相同key)的所有value全部加载到内存进行处理,当value特别多的时候就有可能出现OOM异常// 缺点2:在对同组key数据进行聚合操作的业务场景中,groupByKey的性能有点低,groupB.
2021-06-02 22:08:34
1782
3
原创 常用排序算法_02_选择排序
1、基本思想 选择排序是一种简单的排序算法,基本原理是从头扫描到尾,找出最小的一个元素于第一个元素交换,接着从剩下的元素中找到最小的一个元素和第二个元素交换,依次类推直到得到一个有序序列为止。2、算法分析 第一次从 R[0]~R[n-1] 中选取最小值,与 R[0] 交换, 第二次从 R[1]~R[n-1] 中选取最小值,与 R[1] 交换, 第三次从 R[2]~R[n-1] 中选取最小值,与 R[2] 交换,…, ...
2021-06-01 22:43:28
201
1
原创 常用排序算法_01_冒泡排序
1、基本思想 冒泡排序是一种简单的交换排序,是一种稳定的排序算法。对于待排元素从前向后依次比较两个相邻元素,若发现逆序则交换两个元素的位置(前一个元素大于后一个元素则交换元素位置)使得较大的元素逐渐向后移动,一直重复这个操作直到所有元素有序为止,类似于水里面的气泡较大的慢慢冒起。 在排序过程中,各元素不断接近自己真实的位置,如果某一趟比较下来没有元素进行交换,就说明序列有序就不需要下一趟排序了,因此可以在排序过程中设置一个标志 flag 判断元素是否进行过交换。从而减少不...
2021-06-01 22:39:18
236
1
原创 常用排序算法(推荐收藏)
1、冒泡排序/** * 冒泡排序 */object BubbleSort { def main(args:Array[String]): Unit ={// val arr = Array(2,1,4,7,3,10,6,5) val arr = Array(4,51,47,7,49,10,36,25,28,3,39,2,17) bubbleSort(arr) } def bubbleSort(arr:Array[Int]): Array[Int] ={
2021-05-31 18:54:54
164
原创 HDFS 副本因子修改
hdfs 副本因子修改随着时间推移hadoop集群数据量不断增大,机器的不断扩容,修改副本数量是经常事查看各节点的磁盘占用情况 hadoop dfsadmin -report1、查看副本数量hdfs fsck /userTotal size: 2071005117399 BTotal dirs: 23Total files: 14956Tot...
2019-10-23 11:36:34
963
原创 升级GLIBC至2.17及系统崩溃解决方案
目录一、升级GLIBC二、解决升级glic后系统崩溃问题最近研究pytorch模块使用,在服务器下安装pytorch1.1.0后,在python中导入pytorch报错:我的环境:CentOS6.5、conda 4.7.10、Python 3.6.3、pytorch-cpu1.1.0报错信息:>>> import torchTraceback (m...
2019-08-01 13:49:26
11305
13
原创 break与continue语句
1、break 特点 break:跳出。 break作用的范围:要么是switch语句,要么是循环语句。 记住:当break语句单独存在时,下面不要定义其他语句,因为执行不到。 break跳出所在的当前循环。 如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成。package c...
2019-04-13 13:51:06
278
原创 for循环语句基本练习
1、for 循环实现上三角/* * * * * * * * * * * * * * * * */ for(int i=1;i<=5;i++){ for(int j=1;j<=i;j++){...
2019-04-13 13:27:42
2389
原创 java逻辑运算符特点
逻辑运算符有什么用?逻辑运算用于连接 两个boolean类型的表达式。1、&:符号的运算特点:true & true = true; true & false = false; false & true = false; false & false = false; &:...
2019-04-11 10:05:12
1446
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人