自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 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 466

原创 java中的函数定义及使用

1、函数的定义什么是函数?函数就是定义在类中的具有特定功能的一小段独立的代码,也称为方法。函数格式:修饰符 返回值类型 函数名称(参数类型 参数1,参数类型参数2, . . . ){函数执行代码;return 返回值;}eg:public static int addFunc(int a,int b){return a+b;}返回值类型:函数运行...

2019-04-13 15:11:51 3036

原创 python异步任务协程yield greelet gevent asyncio async await高级使用

协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。:是一个第三方模块,用于实现协程代码,;:基于greenlet实现的,,等待IO操作完成,再在适当的时候切换回来继续执行;:生成器,借助生成器的特点也可以实现协程代码;:在Python3.4中引入的模块用于编写协程代码;:在Python3.5中引入的两个关键字,结合asyncio模块可以更方便的编写协程代码。

2024-07-04 11:28:56 834

原创 二分查找算法

目录1、概述2、代码实现(1)递归实现(2)非递归实现1、概述二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满

2024-07-01 23:39:28 234

原创 常用排序算法_06_归并排序

归并排序采用分治法 (Divide and Conquer) 的一个非常典型的应。归并排序的思想就是先递归分解数组,再合并数组。归并排序是一种稳定的排序方法。将数组分解最小之后(数组中只有一个元素,数组有序);然后合并两个有序数组,基本思路是比较两个数组的最前面的数谁小就先取谁,然后相应的指针就往后移一位;然后再比较,直至一个数组为空;最后把另一个数组的剩余部分复制过来即可。和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是 O(nlogn) 的时间复杂度;

2024-07-01 22:50:26 239

原创 常用排序算法_05_快速排序

快速排序(Quicksort),又称划分交换排序(partition-exchangesort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程递归进行,以此达到整个数据变成有序序列。:将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边。在这个分区结束之后,该基准就处于数列的中间位置。:对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。

2024-07-01 21:20:44 227

原创 常用排序算法_04_希尔排序

希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。

2024-07-01 12:25:55 240

原创 常用排序算法_03_插入排序

1、基本思想2、算法分析3、代码实现(1)scala实现(2)java实现

2021-06-02 23:20:18 133 1

原创 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 1650 3

原创 常用排序算法(推荐收藏)

一、冒泡排序二、选择排序​​​​​​​三、插入排序(待更新)四、快速排序(待更新)五、归并排序(待更新)

2021-06-01 22:48:24 135 5

原创 常用排序算法_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 148 1

原创 常用排序算法_01_冒泡排序

1、基本思想 冒泡排序是一种简单的交换排序,是一种稳定的排序算法。对于待排元素从前向后依次比较两个相邻元素,若发现逆序则交换两个元素的位置(前一个元素大于后一个元素则交换元素位置)使得较大的元素逐渐向后移动,一直重复这个操作直到所有元素有序为止,类似于水里面的气泡较大的慢慢冒起。 在排序过程中,各元素不断接近自己真实的位置,如果某一趟比较下来没有元素进行交换,就说明序列有序就不需要下一趟排序了,因此可以在排序过程中设置一个标志 flag 判断元素是否进行过交换。从而减少不...

2021-06-01 22:39:18 168 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 128

原创 HDFS 副本因子修改

hdfs 副本因子修改随着时间推移hadoop集群数据量不断增大,机器的不断扩容,修改副本数量是经常事查看各节点的磁盘占用情况 hadoop dfsadmin -report1、查看副本数量hdfs fsck /userTotal size: 2071005117399 BTotal dirs: 23Total files: 14956Tot...

2019-10-23 11:36:34 866

原创 升级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 10646 13

原创 break与continue语句

1、break 特点 break:跳出。 break作用的范围:要么是switch语句,要么是循环语句。 记住:当break语句单独存在时,下面不要定义其他语句,因为执行不到。 break跳出所在的当前循环。 如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成。package c...

2019-04-13 13:51:06 244

原创 for循环语句基本练习

1、for 循环实现上三角/* * * * * * * * * * * * * * * * */ for(int i=1;i<=5;i++){ for(int j=1;j<=i;j++){...

2019-04-13 13:27:42 1856

原创 java逻辑运算符特点

逻辑运算符有什么用?逻辑运算用于连接 两个boolean类型的表达式。1、&:符号的运算特点:true & true = true; true & false = false; false & true = false; false & false = false; &:...

2019-04-11 10:05:12 1394

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除