一文带你秒懂十大排序
目录
一、排序的概述
二、插入排序
1、直接插入排序
2、希尔排序
二、选择排序
1、直接选择排序
2、堆排序
三、交换排序
1、冒泡排序
2、快速排序
四、归并排序
五、计数排序
六、基数排序
七、桶排序
八、排序总结
一、排序的概述
排序就是将一组乱序的数据集合变得有序
排序可以分为:
内部排序:数据全部存放在内存中进行排序。
外部排序:数据太多而不能全部存放在内存,整个排序·过程需要在内外存之间多次交换数据才能进行。
根据排序的策略分为:插入排序、选择排序、交换排序和归并排序。
衡量排序的性能指标:
- 时间复杂度。
- 空间复杂度。
- 稳定性:就是排序前后两个相同元素的相对位置保持不变。一个稳定的算法可以变得不稳定,但是一个不稳定的算法不能变得稳定。
排序在我们日常生活中有很多的应用,例如在购物页面可以选择价格从低到高排序,导航时路程可以根据预测花费时间进行排序。
对于排序算法的时间性能测试,采用如下代码:
public static long testTime(int[] array){int[] nums = Arrays.copyOf(array, array.length);long begin=System.currentTimeMillis();sort(nums);//排序算法long end=System.currentTimeMillis();return end - begin;}
二、插入排序
1、直接插入排序
算法思想:就是将待排序的元逐个插入到已将排好序的序列的合适位置,该算法就像扑克牌游戏,每次拿到牌就将牌插入到已排好序的牌的合适位置。
动图演示:
代码实现:
public static void insertSort(int[] array){for(int i=1;i<array.length;i++){int temp=array[i];int j=i-1;for(;j>=0;j--){if(array[j]>temp){array[j+1]=array[j];}else{break;}}array[j+1]=temp;}}
性能分析:
- 时间复杂度:O(n^2)。
- 空间复杂度:O(1)。
- 稳定性:稳定,因为当待插入的元素小于排好序的序列中的元素时才会进行交换,如果相等就不会进行交换,那么连个相同元素的相对位置保持不变。
2、希尔排序
算法思想:按照下标的一定增量进行的分组,对每组使用直接插入排序,增量逐渐减少,当增量减少为1时,整体再进行一次直接插入排序。
过程演示:
动图演示:
代码实现:
// 希尔排序
public static void shellSort(int[] array){int gap=array.length/3+1;while(gap>1){shell(array,gap);gap=gap/3+1;}shell(array,gap);}
private static void shell(int[] array,int gap){for(int i=gap;i<array.length;i++){int temp=array[i];int j=i-gap;for(;j>=0;j=j-gap){if(array[j]>temp){array[j+gap] = array[j];}else{break;}}array[j+gap]=temp;}}
性能分析:
- 时间复杂度:O(n^1.3)~O(n^1.5)。
- 空间复杂度:O(1)
- 稳定性:不稳定,因为是先分组排序,两个值相等的元素不在一组那么相对顺序就可能发生改变。
二、选择排序
1、直接选择排序
算法思想:每次从待排序的序列中选出一个最小的元素与与序列的起始位置进行交换,直到全部元素排序完成。
动图演示:
代码实现:
public static void selectSort(int[] array){for(int i=0;i<array.length;i++){int minIndex=i;for(int j=i+1;j<array.length;j++){if(array[j]<array[minIndex]){minIndex=j;}}int temp=array[i];array[i]=array[minIndex];array[minIndex]=temp;}}
性能分析 :
- 时间复杂度:O(n^2)
- 空间复杂度:O(1)
- 稳定性:不稳定,因为选择排序会和序列的起始位置发生交换,就可能导致不稳定。
2、堆排序
算法思想:对数组内部进行排序,不能弹出堆顶元素来进行排序,所以如果要使元素从小到大进行排序就将堆顶元素与最后一个元素交换,每次交换完之后最后一个元素就不再改变,指向下调整堆之后,堆顶与上一个最后元素的前一个元素进行交换,依次类推,直到所有位置的元素都已确定。
动图演示:
代码实现:
// 堆排序
public static void heapSort(int[] array){createHeap(array);int end=array.length-1;for(int i=end;i>0;i--){int temp=array[i];array[i]=array[0];array[0]=temp;shiftDown(array,0,end);end--;}}
//创建堆
private static void createHeap(int[] array){for(int i=(array.length-1-1)/2;i>=0;i--){shiftDown(array,i,array.length);}}
//向下调整
private static void shiftDown(int[] array,int parent,int len){int child=2*parent+1;while (child < len){if(child+1 < len &&array[child+1] > array[child]){child++;}if(array[child]>array[parent]){int temp=array[child];array[child]=array[parent];array[parent]=temp;parent=child;child=2*parent+1;}else{break;}}}
性能分析:
- 时间复杂度:O(nlog2 n)。
- 空间复杂度:O(1)。
- 稳定性:不稳定。
三、交换排序
1、冒泡排序
算法思想:相邻元素两两进行比较,若发生逆序就进行交换,直至待排序的元素序列中没有逆序。
动图演示:
代码实现:
public static void bubbleSort(int[] array){for(int i=0;i<array.length;i++){boolean flag=true;for(int j=0;j<array.length-i-1;j++){if(array[j]>array[j+1]){int temp=array[j];array[j]=array[j+1];array[j+1]=temp;flag=false;}}if(flag){break;}}}
性能分析:
- 时间复杂度:O(n^2)。
- 空间复杂度:O(1)。
- 稳定性:稳定。
2、快速排序
算法思想:在待排序的序列中选择一个基准,按照基准将元素分成左右两个子序列,使得左边的子序列的元素都小于基准元素,使得右边的子序列都大于基准元素,对左右子序列继续重复上述步骤,使得每个子序列的长度为1为止。
动图演示:
代码实现:
public static void quickSort(int[] array){quick(array,0,array.length - 1);}public static void quick(int[] array,int left,int right){if(left >= right){return;}int part = partition(array,left,right);quick(array,left,part -1);quick(array,part + 1,right);}public static int partition(int[] array,int start,int end){int temp=array[start];while(start < end){while(start < end && array[end] >= temp){end--;}array[start] = array[end];while (start < end && array[start] <= temp){start++;}array[end] = array[start];}array[start] = temp;return start;}
性能分析:
- 时间复杂度:O(nlog2 n)。
- 空间复杂度:O(log2 n)。
- 稳定性:稳定。
上述快速排序的时间复杂度是在最好情况下的,最坏情况下整个待排序元素是顺序或是逆序的,时间复杂度高达O(n^2),并且当数据量很大的时候,空间复杂度也是很大的,可能会出现栈溢出,所以需要进行优化:
每次选择基准元素时采用三数取中法,就是将right坐标、left坐标的值和mid中间值约束,以确保每次的基准元素不是最大值或最小值,还有当子序列长度不太大时,可以使用直接插入排序来提高效率。
public static void quickSort(int[] array){quick(array,0,array.length - 1);}public static void quick(int[] array,int left,int right){if(left >= right){return;}if(right-left <=15){insertSort(array,left,right);return;}int index = midThree(array,left,right);int temp = array[index];array[index] = array[left];array[left] = temp;int part = partition(array,left,right);quick(array,left,part -1);quick(array,part + 1,right);}public static int partition(int[] array,int start,int end){int temp=array[start];while(start < end){while(start < end && array[end] >= temp){end--;}array[start] = array[end];while (start < end && array[start] <= temp){start++;}array[end] = array[start];}array[start] = temp;return start;}public static void insertSort(int[] array,int left,int right){for(int i = left+1;i <= right;i++){int temp = array[i];int j = i-1;for(;j >=left;j--){if(array[j] > temp){array[j+1] = array[j];}else{break;}}array[j+1] = temp;}}public static int midThree(int[] array,int left,int right){int mid=(left+right) / 2;if(array[left] < array[right]){if(array[mid] > array[left]){return mid;}else{return left;}}else{if(array[mid] > array[right]){return mid;}else{return right;}}}
快速排序也可以非递归实现: 利用栈将每次划分的左右子序列的下标入栈,只要栈不为空,每次弹出两个元素,作为调整区间的下标。直到子序列只有一个元素的时候就停止入栈。
代码实现:
public static void quickSort2(int[] array){Deque<Integer> stack = new LinkedList<>();int left=0;int right=array.length-1;stack.push(left);stack.push(right);while (!stack.isEmpty()){right=stack.pop();left=stack.pop();int part=partition(array,left,right);if(part > left+1){stack.push(left);stack.push(part-1);}if(part < right-1){stack.push(part+1);stack.push(right);}}}
四、归并排序
算法思想:采用的是分治法的思想,先把待排序的序列分解成若干个子序列,先让子序列有序,然后将有序的子序列合并是整个待排序的序列。
动图演示:
代码实现:
public static void mergeSort(int[] array){divideMerge(array,0,array.length-1);}public static void divideMerge(int[] array,int left,int right){if(left >= right){return;}int mid=(left+right) / 2;divideMerge(array,left,mid);divideMerge(array,mid+1,right);merge(array,left,right,mid);}public static void merge(int[] array,int left,int right,int mid){int s1=left;int s2=mid+1;int[] nums=new int[right-left+1];int k=0;while(s1 <= mid && s2 <= right){if(array[s1]<array[s2]){nums[k++] = array[s1++];}else{nums[k++] = array[s2++];}}while(s1 <= mid){nums[k++] = array[s1++];}while (s2 <= right){nums[k++] = array[s2++];}for(int i=0;i< k;i++){array[i+left]=nums[i];}}
性能分析:
- 时间复杂度:O(nlog2 n)。
- 空间复杂度:O(n)。
- 稳定性:稳定 。
同样,归并排序也可以进行非递归实现。
public static void mergeSort2(int[] array) {int gap = 1;while (gap < array.length) {for (int i = 0; i < array.length; i = i + gap * 2) {int left = i;int mid = left + gap - 1;if (mid >= array.length) {mid = array.length - 1;}int right = mid + gap;if (right >= array.length) {right = array.length - 1;}merge(array, left, right, mid);}gap *= 2;}}
海量数据的排序问题:
外部排序:排序过程需要在磁盘等外部存储进行的排序前提:内存只有 1G,需要排序的数据有 100G解决方案:因为待排序的数据有100G而内存只有1G,那么就可以将待排序的数据等分为200份,每份数据大小为512M,然后将每份数据存入内存中排好序,然后对这200份数据在内存外进行再进行归并排序即可。
五、计数排序
算法思想:利用鸽巢原理,开辟一段较大的空间的数组,数组中默认元素为0,将待排序的元素对应到下标所对应的元素值加一,计数排序主要应用于待排序的序列在某个范围内。
动图演示:
代码实现:
public static void countingSort(int[] array){int min = array[0];int max = array[0];for(int i = 1;i < array.length;i++){if(array[i] < min){min = array[i];}if(array[i] > max){max = array[i];}}int[] nums = new int[max-min+1];for(int i = 0;i < array.length;i++){nums[array[i]-min]++;}int k=0;for(int i = 0;i < nums.length;i++){while(nums[i] != 0){array[k++] = min+i;nums[i]--;}}}
性能分析:
- 时间复杂度:O(max(n,数组范围))。
- 空间复杂度:O(数组范围)。
- 稳定性:稳定。
六、基数排序
算法思想:基数排序是对数字的每一位进行排序的,最大数字的位数决定了排列的次数,每次先排列,然后再收集,重复上述步骤,直到最高位排序完成。
动图演示:
代码实现:
//基数排序public static void baseSort(int[] array){int max = array[0];for(int i = 1;i < array.length;i++){if(array[i] > max){max = array[i];}}int count=countByte(max);LinkedList<LinkedList<Integer>> lists = new LinkedList<>();for(int i = 0;i < 10;i++){lists.add(new LinkedList<>());}int k=1;while(k <= count){for(int i = 0;i < array.length;i++){int num = getByteNum(array[i],k);lists.get(num).add(array[i]);}int j = 0;for(int i = 0;i < lists.size();i++){while(!lists.get(i).isEmpty()){array[j++] =lists.get(i).poll();}}k++;}}//计算出数字的位数public static int countByte(int num){int count = 0;while(num != 0){num=num/10;count++;}return count;}//获取到指定位的数字public static int getByteNum(int num,int index){String s = String.valueOf(num);if(index <= s.length()){return (int)(s.charAt(s.length() - index) - '0');}return 0;}
性能分析:
- 时间复杂度:O(n*k)。
- 空间复杂度:O(n+k)。
- 稳定性: 稳定。
七、桶排序
算法思想:将待排序的序列划分为多个范围大小相同的区间,将元素分别放入到对应的区间,对每个子区间进行排序,最后整个序列变得有序。
动图演示:
代码实现:
public static void bucketSort(int[] array){int min = array[0];int max = array[0];for(int i = 1;i < array.length;i++){if(array[i] < min){min = array[i];}if(array[i] > max){max = array[i];}}int size = (max-min) / array.length + 1;LinkedList<LinkedList<Integer>> lists = new LinkedList<>();for(int i = 0;i < size;i++){lists.add(new LinkedList<>());}for(int i = 0;i < array.length;i++){int num = (array[i] - min) / size;lists.get(num).add(array[i]);}int k=0;for(int i = 0;i < size;i++){lists.get(i).sort(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o1-o2;}});while(!lists.get(i).isEmpty()){array[k++]=lists.get(i).poll();}}}
性能分析:
- 时间复杂度:O(n+k)。
- 空间复杂度:O(n+k)。
- 稳定性:稳定。
八、排序总结
算法名称 | 时间复杂度 | 空间复杂度 | 稳定性 |
直接插入排序 | O(n^2) | O(1) | 稳定 |
希尔排序 | O(n^1.3) | O(1) | 不稳定 |
直接选择排序 | O(n^2) | O(1) | 不稳定 |
堆排序 | O(nlog2 n) | O(1) | 不稳定 |
冒泡排序 | O(n^2) | O(1) | 稳定 |
快速排序 | O(nlog2 n) | O(log2 n) | 不稳定 |
归并排序 | O(nlog2 n) | O(n) | 稳定 |
计数排序 | O(nlog2 n) | O(n) | 稳定 |
基数排序 | O(n*k) | O(n+k) | 不稳定 |
桶排序 | O(n+k) | O(n+k) | 稳定 |
注意点:
序列基本有序时,快排退化成冒泡排序,直接插入排序最快。
各排序算法中,最坏情况下时间复杂度最低的是堆排序。
初始数据集的排列顺序对算法的性能无影响的有堆排序、归并排序、选择排序。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4507658.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
代码重构优化
代码重构优化, 优化掉每次编写都需要重复编写的代码,实现代码简化编写。 1. 优化 Action 代码,抽取 BaseAction 1.1. 抽取模型驱动的代码 1.2. 分页查询代码重构优化...

书生云王东临:把握八大趋势 重点突破超融合
当传统IT基础架构遭遇越来越多的挑战时,我们总会面对这样一个问题: 设备A的年故障率是1%,设备B的可靠性是A的10倍(年故障率为0.1%),价格也是A的10倍,那么,两台设备A组成的分布式系统的可靠性是多少? 正确答…...

沈师PTA2021Java编程题复习题库
致谢:感谢WalkingWithTheWind~帮我寻找PTA中的CSS选择器 1. 编程题:判断闰年 (10 分) 根据输入的正整数y所代表的年份,计算输出该年份是否为闰年 闰年的判断标准: 能够被4整除且不能被100整除的年份 或者能够被400整…...

华为总部,冲击你的视野
(文章来源:新浪科技) 很多人对华为这个名字并不陌生,但是很少有人知道它是个什么样子。今天我们就带大家去华为深圳的总部去感受一下华为的氛围。相信大家看了之后,一定会感到震撼的。 从01年起,华为基地…...

JDK中Atomic相关类的实现原理简介说明
转自: JDK中Atomic相关类的实现原理简介说明 下文笔者讲述Atomic相关类实现原理说明,如下所示 Atomic相关开头类的简介说明 JDK Atomic开头的类其中实现原子性的,都是使用CAS原理解决并发情况下原子性问题 --------------------------------------------------------------…...

ROS学习网站
1、首先当然是ROS 的Wiki了,学习ROS进程访问的网站了(教程文档) http://wiki.ros.org/cn/ROS/ 2、创客制造,初学者的官网(里面提供了ROSUbuntu集成版,可以直接使用,对于初学者很好) https://www.ncnynl.com/ 3、易科…...

华为无线设备WLAN QoS配置命令
[huawei]wlan [huawei-wlan-view]radio-2g-profile name r2 [huawei-wlan-radio-2g-prof-r2]undo wmm disable //使能WMM功能,缺省使能 [huawei-wlan-radio-2g-prof-r2]wmm mandatory enable //禁止不支持WMM功能的STA连接到已使能WMM功能的AP上 [huawei-wlan-radio-2g-prof-r2…...

非零基础自学Golang 第12章 接口与类型 12.2 接口的创建与实现 12.2.1 接口创建
非零基础自学Golang 文章目录非零基础自学Golang第12章 接口与类型12.2 接口的创建与实现12.2.1 接口创建第12章 接口与类型 12.2 接口的创建与实现 Go语言接口是方法的集合,使用接口是实现模块化的重要方式。 下面将重点介绍如何创建和实现一个Go语言接口。 12…...

CUDA Programming Model--CUDA编程模型
CUDA Programming Model 1 Kernels CUDA c 扩展了c,允许编程者定义C 函数,被称为kernel。每次执行,由N个不同的CUDA线程执行N次。 每个执行内核的线程拥有一额独一无二的线程ID,可以通过内置的threadIdx变量在内核中访问&#x…...

Fedora 9为DELL E6400安装无线网卡驱动全程实录
安装Fedora 9有一段时间了,一直没有安装无线网卡,因为平时工作都是有线网络,所以也并不是急需,今天闲暇之余顺便研究研究。 1. 首先在http://www.broadcom.com/support/802.11/linux_sta.php 上下载32位的驱动,下载完…...

华为端口安全
端口安全是交换机上的功能 端口安全功能将交换机接口学习到的MAC地址变为安全MAC地址(包括安全动态MAC和sticky MAC),可以阻止除安全MAC之外的主机通过本接口和交换机通信,从而增强设备安全性 当主机C断开连接,默认交换…...

【JAVA】笔记(12)---集合(1)-概述篇
...集合特性:1)集合的长度可变,数组一经初始化,长度固定...2)集合可以储存不同类型的元素,而数组只能储存单一类型元素....3)集合中的所有元素都是引用数据类型(储存的都是对象的地址),数组既可以储存引用数据类型,也可以储存基本数据类型........楔子:1.集合相当于一…...

js 删除对象里的某个属性
删除属性有很多方法,学到了就在这里记录一下。 有一个对象 a 。有2个属性 b1 , c2 删除b,保留 c 1. 使用delete let a {b:1,c:2} delete a.b//true console.log(a)//{c:2}2. 使用解构 let a {b:1,c:2} let {b,...a} a console.log(a)//{c:2}3.使用…...

Ubuntu系统中如何删除一个用户
1.打开终端命令行,运用userdel命令删除指定的用户,注意要加sudo权限指令,如下图. sudo userdel ascend 2. 在删除的时候一定注意是在管理员目录下的,普通的用户是没有这个权限的 3. 删除指令执行完了以后怎么判断是否真正删除了…...

谈一谈SaaS产品的架构设计
1. SaaS 是什么 从字面中理解SaaS的全称是Software as a service, 即软件即服务。 从服务模式来看,SaaS是一种软件授权和交付模式,以订阅模式代替传统授权模式,以集中式部署代替用户环境部署,通常被认为是按需付费软件。 目前Saa…...

VIMS(虚拟镜像管理系统)
1、特性介绍 虚拟镜像管理系统VIMS (Virtual Image Management System) 是一种高性能的集群文件系统,使用时先将数据存储先格式化成VIMS格式,然后挂载到CNA上进行使用。VIMS文件系统使虚拟化技术的应用超出了单个存储系统的限制,其设计、构建…...

访问ftp服务器网页,访问ftp服务器是网页
访问ftp服务器是网页 内容精选换一换当您需要为裸金属服务器绑定弹性公网IP,使其可以与Internet通信时,请执行本节操作。已申请弹性公网IP,详细操作请参见“申请弹性公网IP”。登录管理控制台。选择“计算 > 裸金属服务器”。进入裸金属服…...

如何查找Oracle数据库安全漏洞的补丁
假设数据库发现了两个漏洞:CVE-2011-2239和CVE-2011-2253。 这两个漏洞的描述可以在Oracle 2011 年 7 月的重要补丁更新公告中找到。 在此网页的Patch Availability Table部分,如果Product Group为Oracle Database,其Patch Availability an…...

CMUSphinx Learn - Adapting the default acoustic model
Adapting the default acoustic model 调节默认声学模型 This page describes how to do some simple acoustic model adaptation to improve speech recognition in your configuration. Please note that the adaptation doesnt necessary adapt for a particular speaker. …...

python学习46:更改pip的国内源教程(windows)
玩过linux的都知道,装完系统后,经常需要修改源(sources.list文件),windows上怕是很少修改源。 1,打开目录 2,新建文件夹pip 在这里新建一个叫pip的文件夹。 3,新建配置文件pip.ini…...

Web安全测试(一)-手工安全测试方法修改建议
常见问题 1.XSS(CrossSite Script)跨站脚本攻击XSS(CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意 html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达 到恶意用户的特殊目的。 测试方法…...

Android用户界面的设计方法心得,(8 Android) 用户界面UI设计
(8 Android) 用户界面UI设计3.1.1 Android界面视图类Android 图形化的用户界面(Graphical User Interface , GUI) 采用了结构清晰的MVC模型(Model-View-Controller) ,其具体含义:提供了处理用户输入的控制器(Controller) ;显示用户界面的视图(View) ;保存数据和代码…...
2018中国网络安全大会6月在京召开
备受瞩目的第六届中国网络安全大会(NSC 2018)将于6月13日在北京国家会议中心举行,由赛可达实验室、国家计算机病毒应急处理中心、国家网络与信息系统安全产品质量监督检验中心、首都创新大联盟及百家行业联盟共同主办。 中国网络安全大会自20…...

CentOS /RHEL 系统更新安全补丁的方法
在 Linux 系统上,其中一个最重要的需求就是保持定期更新最新的安全补丁,或者为相应的 Linux 版本更新可用的安全补丁。在这篇文章中,我们将分享如何在 CentOS/RHEL 7/6 版本中设置在需要时自动更新重要的安全补丁。和它同一家族的其它 Linux …...

web安全测试之 xss攻击
web安全测试之 xss攻击 软件测试资源分享| 免费软件测试资料一、 背景知识1、 什么是 XSS 攻击?XSS 攻击: 跨站脚本攻击(Cross Site Scripting) , 为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。 故将跨站…...

transformer算法解析
本文参考: 详解Transformer (Attention Is All You Need) - 知乎 Transformer 代码完全解读!_AI科技大本营的博客-CSDN博客 Transformer学习笔记一:Positional Encoding(位置编码) - 知乎 1、…...

ubuntu安装nvidia 750ti显卡驱动
NVIDIA (英伟达)公司已经发布了针对 Linux 用户的显卡驱动 Nvidia Driver 334.21,该驱动程序新增加支持 GeForce GTX 750 Ti、 GeForce GTX 750、 GeForce GTX 745 和 GeForce GTX TITAN。除此之外,NVIDIA 334.21 带来了不少的 bu…...

软件测试面试题:防火墙如何保证安全?
防火墙如何保证安全? (一)内部网络和外部网络之间的所有网络数据流都必须经过防火墙;(二)只有符合安全策略的数据流才能通过防火墙;(三)防火墙自身应具有非常强的抗攻击免…...
解决Sublime Text 3在GB2312编码下的中文乱码问题
为了方便演示,首先创建了一个GB2312编码的txt文件,我们使用Sublime打开后的效果如下图,注意看sublime的左下角,除了行列信息并无其他,一般而言,说明sublime是按照UTF8编码打开的文件: 为了解决编…...
深度学习框架PyTorch入门与实践:第九章 AI诗人:用RNN写诗
我们先来看一首诗。 深宫有奇物,璞玉冠何有。 度岁忽如何,遐龄复何欲。 学来玉阶上,仰望金闺籍。 习协万壑间,高高万象逼。 这是一首藏头诗,每句诗的第一个字连起来就是“深度学习”。想必你也猜到了,这首诗…...

Oracle OJVM安全补丁
什么是OJVM PSU? CPU: Critical Patch Update Oracle对于其产品每个季度发行一次的安全补丁包,通常是为了修复产品中的安全隐患。 PSU: Patch Set Updates Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数…...

GSL中的运行统计
运行统计 本章描述了计算数据运行统计(也称为在线统计)的例程。这些例程适用于处理大型数据集,对于这些数据集,一次性存储在内存中可能不方便或不实用。数据可以采用单遍算法一次处理一个点。每次将一个数据点添加到累加器时,都会更新内部参…...

linux初学者自定义IP地址的方法
Centos6.8与Centos没有设置IP的解决方法 1、当前版本为Centos6.8时 输入命令vi /etc/sysconfig/network-scripts/ifcfg-etho 当前版本为Centos 7时 输入命令vi /etc/sysconfig/network-scripts/ifcfg-ens33 注意事项(1)注意Centos的版本 (2)注…...

超声波测距(含报警功能)
摘要:利用超声波进行测距有许多优点比如不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面…...

【Html与CSS基础】HTML中的锚点
前言 提示:锚点通俗来说就是起到文章目录的作用,精准跳转到文章指定位置 用锚点实现回到顶部、回到底部、到文章中任意段落 一、锚点是什么? 在我们学习HTML的过程中,要理解写页面的作用,最初写页面的本质是为了文章…...

Web安全测试-Checklist
Web安全测试时一个比较复杂的过程,软件测试人员可以在其中做一些简单的测试,如下:Web安全测试也应该遵循尽早测试的原则,在进行功能测试的时候(就应该执行下面的测试Checklist安全测试场景),然后…...

大数据算法系列4:二叉树,红黑树和B树
文章目录概述: 用于数据查找(搜索)的数据结构一. 散列表二. 布隆过滤器三. 二叉树3.1 二叉树3.2 平衡二叉树四. 红黑树五. B树六. 实例参考:概述: 用于数据查找(搜索)的数据结构 前面的文章系列,我们都是讲排序,这次我们来讲讲另外一个应用场景: 数据搜…...

《21天学通C++》 第二章笔记
#include <iostream> #include "...relative path to FileB\FileB"1.为了使用其他文件里面定义的函数,使用来包含自己创建的头文件。尖括号(<>)通常用于包含标准头文件,预编译的时候会把对应文件的代码包含…...

【django】配置MySQL数据库【3】
一、新建MySQL数据库 1、登录数据库 $mysql -u root -p 2、新建mgdb数据库 $create database mgdb default charsetutf8; 3、新建MySQL⽤户 $ create user zilv% identified by 123456; 4、授权mashibing⽤户访问mgdb数据库 $ grant all on mgdb.* to zilv%; 5、刷新权限 $ fl…...

java集合框架复习----(3)
文章目录四、set集合1、hashSet【重点】2、TreeSet四、set集合 无序、无下标、元素不可重复 1、hashSet【重点】 数组链表红黑树 基于hashcode计算元素存储位置当哈希吗一样的时候,调用equals,如果为true,拒接存入 package com.zheng.demo3;import j…...

解对称正定矩阵线性方程组的平方根方法
对称正定矩阵线性方程组0. 引言1. 对称正定矩阵线性方程组1.1 对称正定矩阵及其三角分解法1.2 平方根法1.3 改进平方根法1.4 代码实现2. 应用举例:最小二乘法多项式拟合函数2.1 最小二乘法拟合多项式2.2 代码实现参考文献0. 引言 在求解线性方程组中,有…...

TRC丨艾美捷TRC乙酰脲(Acetylurea)说明书
艾美捷TRC 乙酰脲化学性质: 编号A000230 化学名称乙酰脲 同义词N-(氨基羰基)乙酰胺;1-乙酰脲;乙酰脲;单乙酰脲;N-乙酰脲;国家科学委员会2766 CAS编号591-07-1 分子式C₃H₆N₂O个₂…...

web安全测试学习路线
Web 安全测试学习路线 经典框架图 技术原理 下图就展示了数据的传输流程,以及不同阶段经常出现的漏洞及其原因 一个数据的传输流程图,以便直观清晰的看到,数据在各层中是怎样运作的,以及可能发生的漏洞 工具 我的渗透利器我的渗透…...

MapReduce经典案例-TopN
1.TopN分析法介绍 TopN分析法是指从研究对象中按照某一个指标进行倒序或正序排列,取其中所需的N个数据,并对这N个数据进行重点分析的方法。 2.案例需求及分析 现假设有数据文件num.txt,现要求使用MapReduce技术提取上述文本中最大的5个数据&a…...

使用Vue将两张图片叠加再保存为一张图片下载
最终效果 将一张课程图片和一张二维码图片叠加(网上图片随便乱找,勿对号入座!!!) 步骤 先将两张图片使用css进行叠加,然后按照自己需求将图片移动到合理位置要使用到一个插件将两张图片转为…...

【工具】监听手机短信转发到群聊或服务器
背景: 在日常工作中我们需要接收线上短信验证码,每次登录需要验证码时都需要登录到手机查看,很不方便。解决方案是通过监听手机短信,及时转发到企业微信群聊,方便大家查看。 解决思路: 需要在手机上安装…...

hive判断重复数据连续并分组
目录 一、需求 二、测试案例 1.测试数据 2.实现步骤 1.判断同一班级进入班级的人是否连续 2.判断出连续的人同一班级同一人每个时间段的开始节点 3.将同一班级同一人每个时间段分组 4.取出同一班级同一人每个时间段的开始时间结束时间 5.按每个时间段按时间顺序拼接…...

VI/VIM下如何搜索字符串
1. 命令模式下,输入:/字符串 比如搜索user, 输入/user 按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串 2. 查看下一个匹配,按下n(小写n) 3. 跳转到上一个匹配,按下N(大写N&…...

php在线客服聊天系统
php在线客服聊天系统 最近在看workerman,因此采用GatewayWorker写了一个简易的在线客户聊天系统。仅供学习,写的不好,欢迎指点。参考采用tp5mysqlphp7.4GatewayWorkerwebsocket 具体可查看我的个人博客: 功能点 消息列表&…...

书生云王东临:从大型机到超融合 细数企业IT架构的四代技术
如果说近十年内什么IT技术最火,云计算可谓首屈一指。正是在云计算技术的演化过程中,企业的IT基础架构也随之发生了翻天覆地的变化。当计算和存储的融合架构用于虚拟化环境后,超融合这种利用分布式存储和计算虚拟化技术整合服务器集群、对外提…...

计算机会计期中考试,2017会计从业资格考试《会计电算化》基础阶段备考题
2017会计从业资格考试《会计电算化》基础阶段备考题一、单项选择题(下列各题,只有一个正确的答案,本题共20小题,每个小题1分,共20分。不选或错选均不得分)1.通用财务报表软件的特点是( )。A.报表格式与表内数据视为一体ÿ…...

vue简单实现分页器(父子组件传参,过滤器)
app.vue <template><div v-if"data"><!-- 组件 --><my-news :p"now" /><div class"pages"><spanv-for"p in data.pageCount":key"p"click"now p":class"{ active: p no…...

地区与地区编码的相互转换
geo 地区与该地区编码的相互转换 特性 简洁的转换API支持地区名称转换为该地区的编码支持地区编码转换为该地区的名称支持获得该地区的上级所属地区支持通过两个地区的的地址获得其之间的距离 使用 通过maven工程直接引入* 举个栗子�� /***将地址…...

老程序员告诉你人工智能工程师与Python工程师有什么区别?
学习Python就等于学习人工智能吗?当然不!千万不要混淆它们的概念!Python工程师并不等同于人工智能工程师。 Python工程师与人工智能工程师最根本的区别是什么? Python和JAVA、C语言一样,是一种编程语言,所以从事Python开发的人员也只能算是程序员。而人工智能工程师是从事算…...

YottaChain创始人王东临:存储公链进军商用市场的必杀技!
每个人都有大量数据要保存,而且随着科技发展数据会爆发式增长,YTA既能自用,还能增值,这就是它的价值。 在存储行业被中心化的巨头们垄断,并且成本居高不下的时候,亟待需要一种新的分布式存储方式来改造生产…...

Wisej.NET 3.1.6 Crack
新功能 Wisej.NET 3.1 通过添加几个新的独特功能和简化的安装过程增强了里程碑 3.0 版本。 除了大量错误修复和对我们库的显着性能增强之外,3.1 还包括以下值得注意的新功能: 视觉工作室市场 Wisej.NET 现在比以往任何时候都更容易使用。或 Visual Studi…...

王东临:闪存将取代硬盘 带来存储“蒸汽机革命”
早在17世纪末,早期的蒸汽机就已经出现;18世纪下半叶,詹姆斯瓦特对蒸汽机进行了彻底的改良,从而实现了大规模的工业应用,由此引发了第一次工业革命,推动了机械工业及整个人类社会文明发展的进程。第一次工业…...

ESP32+PIO+LGVL+gui_guider
简介 本文基于VScode上安装platform插件(简称PIO)来开发ESP32,屏幕显示使用LVGLgui_guider。 关于VScode上使用platfrom也是一把辛酸泪。很多朋友会安装不成功,主要就是“网络原因”。这个得自己百度解决。 LVGL是一款轻量化的屏…...
2015网络安全大会-下
以下是大师讲堂下午的主要内容是: 于旸-腾讯玄武实验室负责人watercloud-知道创宇CTO万涛(老鹰)-IDF联合实验室创始人方兴(FlashSky)-瀚海源创始人.现就职阿里巴巴郭勇生(冷风)-天融信阿尔法实验室安全研究员马坤-基于众筹插件模式的分布式安全扫描平台文伟平-北京大学副教授 …...

基于nodejs的电影交流网站
末尾获取源码 开发语言:nodejs 框架:Express 数据库:MySQL5.7 数据库工具:Navicat 11 开发软件:Hbuilder / VS code 浏览器:edge / 谷歌 目录 一、项目简介 二、系统功能 三、系统项目截图 3.1前台首页…...

计算机游戏设计的艺术(1)
不得转载!translation management by puzzy3d计算机游戏设计的艺术Chris Crawford电子版前言(略)peabodyvancouver.wsu.edu. 目录 1 感谢。 序 1…...

2021年危险化学品生产单位安全生产管理人员考试题及危险化学品生产单位安全生产管理人员试题及解析
题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员考试题参考答案及危险化学品生产单位安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及危险化学品生产单位安全生产管理人员操作证已考过的学员汇总,相…...

前缀长度
问题: 在MySQL中,前缀长度最大值为255字节。对于存储引擎为MyISAM或InnoDB的数据表,前缀最长为1000字节。 在MySQL中,对于TEXT和BLOB这种大数据类型的字段,必须给出前缀长度(length)才能成功创建索引。 办法&#x…...

计算机超链接文本的前缀,计算机网络考试重点整理.docx
计算机网络考试重点整理第1章1.1计算机网络的两个功能连通性——计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。 共享——即资源共享。可以是信息共享、软件共享,也可以是硬件共享。 1.2 因特网的三个阶段第一阶…...

计算机网络网络层之IPV4协议
系列文章目录 第七章计算机网络网络层IPV4协议 IPV4协议系列文章目录Internet网络层一、IP数据报(分组)格式二、 IP分片最大传输单元MTUIP分片与重组IP分组格式IP分片过程三、IP编址四、 有类IP地址IP子网IP地址特殊IP地址私有IP地址五、IP子网与子网划分…...

网络层基础
网络层 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。 解决问题 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)网络层寻址问题路由选择问题 因特网(Internet)是目前全世界用户数量最多的互联网,它…...

C语言文件操作(一)
我们之前写程序,得到运行结果,退出运行,运行结果就不见了,因为运行的结果放到了内存中,退出程序的时候数据就会消失,等下一次运行又要重新输入数据,这样就显得很麻烦。那么我们如何保存之前的运…...

如何选取最佳前缀索引长度
有时候需要索引很长的字符列,这会让索引变得大且慢。其中有一种策略是通过自定义哈希索引的方式来模拟哈希索引,但是这样会存在一定的局限性。通常来讲我们可以采用前缀索引的方式,这样可以大大节约索引空间,从而提高索引效率。但…...

计网总结(网络层)
网络层总结(IP协议簇)知识点网络层主要的协议IP地址形式的发展IPV4数据报格式路由算法无子网划分时的路由算法出现子网划分时的路由算法形成超网之后的路由算法网络层的协议ARP协议ICMP协议路由选择协议内部网关协议RIPOSPF外部网关协议BGPIPV6IPV4如何过…...

计算机网络路由转发题
1)、目的地址和142.150.64.0/24明显不匹配,所以只有B、C、D,把相应的网络地址算出来 B-网络地址:142.150.71.128 C-网络地址:142.150.71.128 D-网络地址:142.150.0.0,把目的地址逐条的和子网…...

计算机网络题库---第四章网络层
主要选取谢希仁第八版,复习资料 1. 网络层向上提供的服务有哪两种?试比较其优缺点。 答:虚电路服务,数据报服务 虚电路服务 计算机进行通信前应先建立一条虚电路,然后双方沿着已建立的虚电路发送分组。 数据报服务 计…...

php获取邮箱前缀,邮箱前缀是什么
—个完整邮件地址格式为:“用户名主机名”,而邮箱前缀就是“”左边的内容,即邮箱的用户名,是用户的唯一登陆标识,对于同一个邮件接收服务器来说,用户名必须是唯一的。本教程操作环境:windows7系…...

mysql最左前缀概念_MySql最左前缀原则
简单整理记录下,之前一直都没有关注过这个问题最左前缀原则:顾名思义是最左优先,以最左边的为起点任何连续的索引都能匹配上,注:如果第一个字段是范围查询需要单独建一个索引注:在创建多列索引时࿰…...

计算机网络(五) 网络层(中)
网络层(中)3.划分子网和构造超网3.1划分子网3.2使用子网时分组的转发3.3无分类编址CIDR(构造超网)4. 网际控制报文协议(ICMP)4.1 ICMP报文的种类4.2 ICMP的应用举例5.互联网的路由选择协议5.1 有关路由选择…...

React - Hooks -useState
第一种用法: 可以传入默认参数 // 第一种用法 const [state, setState] useState(initialState);第二种用法: 可以看作计算属性 // 惰性state用法 const [state, setState] useState(() > {const initialState someExpensiveComputation(props);…...

花裤衩 / vue-element-admin 的项目打包后发现不能跳转页面问题解决
项目install后build打开html文件跳转页面没有反应 原因:因为项目中import Cookies from ‘js-cookie’ 使用无法进行页面跳转需要放到web服务上才能运行。 解决:把所有Cookies.set(‘sidebarStatus’, 1) ,set和get 都换成localstorage或se…...

vue-element-admin(花裤衩)运行err
安装 GitHub: git clone https://github.com/PanJiaChen/vue-element-admin.git Gitee: https://gitee.com/panjiachen/vue-element-admin.git 问题1 Install fail! Error: [tui-editor1.3.3 › tui-chart3.11.3 › raphaelgithttps://github.com/nhn/raphael.git#2.2.…...

vue封装阿里iconfont组件--svg引入,来源花裤衩
1、引入js 将需要的icon添加到项目中,使用Symbol模式,将js引入到项目中 2、在components新建icon组件,记得在main.js注册全局组件 <template><svg class"svg-icon" aria-hidden"true"><use :xlink:hre…...
Vue、VueCLI(脚手架)安装、使用详细步骤
配置:在main.js导入ElementUI import ElementUI from element-ui Vue.use(ElementUI)推荐一个大佬的gitee:花裤衩,里面有半成品框架 半成品框架(可克隆下来直接使用): https://gitee.com/panjiachen/vue…...

ESLint-[转自 花裤衩 的掘金]
不管是多人合作还是个人项目,代码规范是很重要的。这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。这所谓工欲善其事,必先利其器,个人推荐 eslintvscode 来写 vue,绝对有种飞一般的感觉。效果如图&a…...

vue-element-admin花裤衩项目,关于下载 svg 并放到文件夹之中,修改Icon字体图标的颜色样式问题
首先,搜索并找到你需要的图标,将它采集到你的购物车里,在购物车里,你可以将选中的图标添加到项目中(没有的话,新建一个),后续生成的资源/代码都是以项目为维度的。 阿里字体图标库 …...

撸一个基于VUE的WEB管理后台(一)
最近需要一个BS架构的管理后台,对工作过程中产生的调研资料进行登记、查询和导出。我们的调研资料都是人工收集,每年的产生量大概也就是万级,用户人数也不过百,从需求上来看并没有什么架构压力,正好适合我这样的WEB新手…...

改造vue-element-admin 的登录功能,变成从后台数据库中验证登录
改造vue-element-admin 的登录功能,变成从后台数据库中验证登录 首先了解登录时前段需要什么样的数据 要知道vue-element-admin 这个后台开发模板是集成非常多我们日常开发网站的基本功能。所以我们在改造登录功能的时候首先要明白vue-element-admin 需要后端提供…...

vue html 原始 模板,【Vue后台管理一】vue-admin-template 后台模版初始化
Vue后台管理前段时间学习Vue写了一个移动端项目 https://www.charmcode.cn/app/mall/home 然后教程到此就结束了, 我就总感觉少点什么,计划自己着手写一套后台管理。技术栈vue-admin-template 自定义初始化这是配套 个人练习的https://github.com/CoderC…...

学习笔记:vue-element-admin安装报错问题
刚好像学习一下大佬的vue-element-admin后台管理框架,但是按照官网一步一步操作之后,安装依赖失败 上面是官网写的下载步骤,但是到安装依赖那里一直不行,一直报错,项目中也没有node_modules文件夹,我试过清除npm缓存但是还是不行,查了别的大佬的博客才知道是因为一个富文本编辑…...

vue动态生成路由及常见问题
原文地址: http://www.linzichen.cn/article/1581289405333635072 在一些常见的 RBAC 系统中,对于角色和权限的管理是极其重要的。一个人可以拥有多个角色,而一个角色又会被赋予多个权限。不同的角色在登录后台系统后,看到的系统…...

vue-element-admin 超过两级嵌套路由无法缓存的解决办法
注意,此解决办法只适用于顶级路由为布局组件,中层路由只为嵌套、末级路由调用页面组件的路由结构 PS: 如您无暇查看解决过程,可直接点击右侧目录中的 步骤一、步骤二 参考修改即可 问题起因 最近公司项目开发,为了套…...

基于VUE实现前端动态路由权限控制
需求 最近在项目中遇到权限控制的问题,由于自己接触前端也不久,对于路由这方面知识还有所欠缺,因此一直在网上找寻各种解决方案。最终还是看到花裤衩大佬的博客,终于对前端实现路由权限控制有了些许思路。 传送门:手摸…...

vue撸权限系统学习笔记
花裤衩vue撸权限系统教程篇一 router.currentRoute.pah 和 this.$route.path都是表示当前路由吗axios拦截器 请求拦截,响应拦截跨域问题 vue.config.js配置nginx反代理mock.js 前端自主搭建文档环境 模拟接口数据 自己测试module:1 Uncaught (in promise) cancel v…...

ve-element-admin实现权限控制
文章目录前言一、实现思路二、前端部分具体实现1.router/index.js2.在store/modules下新建permission.js文件2.src/permission.js3.在store/index.js模块下添加permission4.在store/getters.js中定义routers5.store/modules/user.js三.登录获取信息流程总结前言 本文主要将前端…...

管理系统权限篇
目录 前言 cooike 登录篇 登录 router.beforeEach 登录拦截 axios拦截器 token过期出处理 权限篇 router.js store/permission.js 前言 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token&a…...

Vue + ElementUI 手撸后台管理网站基本框架(二)权限控制
前端权限控制的本质权限策略接口权限控制页面级访问权限控制创建路由表Mock权限列表数据编写导航钩子 数据级操作权限控制路由控制完整流程图NEXT——登录及系统菜单加载源码本系列目录 前端权限控制的本质 在管理系统中,感觉最让新手们搞不懂就是权限管理这部份了&…...

手摸手,带你用vue撸后台 系列一(基础篇) - 掘金
完整项目地址:vue-element-admin 系列文章: 手摸手,带你用 vue 撸后台 系列一(基础篇)手摸手,带你用 vue 撸后台 系列二(登录权限篇)手摸手,带你用 vue 撸后台 系列三 (实战篇)手摸手…...

一件小事,扯掉了最后的花裤衩子
前两周发生的事情 太过于魔幻,象牙塔 也不是 白色的 可能溃烂到自己身上才能深刻意识到 就像是村东头大妈们聚在一起,翘着二郎腿磕着瓜子,聊到一半 村口的大杨树倒了。 谁也想不到会发生这件事,也更想不到会这样处理。 整件事情从从开始到结束,并没想掀起任何的浪花,人…...

后台管理框架 :花裤衩 / vue-admin-template
# 克隆项目 git clone https://github.com/PanJiaChen/vue-admin-template.git# 进入项目目录 cd vue-admin-template# 安装依赖 npm install# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 npm install --regis…...

花裤衩-nx-admin好多轮子-动态路由
进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常重要的,可以说是一个后台项目一开始就必须考虑和搭建的基础核心功能。我们所要做到的是:不同的权限对应着不同的路由,同时侧边栏也需根据不同的权限&…...

对花裤衩大叔vue-element-admin后台项目的学习
前言 预览地址:https://panjiachen.gitee.io/vue-element-admin/#/dashboard GitHub地址:https://github.com/PanJiaChen/vue-element-admin 文档地址:https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/ 技术点 看vue-elemen…...

vue后台登录权限管理实现思路
登录权限前言登录篇获取用户信息权限篇权限控制主体思路addRoutes具体实现router.jsmain.js关键的main.jsmain.js的详细注释前言 后台项目区别于做其它的项目,权限验证与安全性是非常重要的,可以说是一个后台项目一开始就必须考虑和搭建的基础核心功能。…...

Delphi 11.2 安装 CnWizards 组件包
官方网址:https://www.cnpack.org/showdetail.php?id900&langzh-cn 开源免费的组件包,大大提高了开发效率,再次感谢大佬们的无私奉献 这个组件包主要是为了实现一些delphi没有的便捷设置,以及能给delphi增加了一些好用的辅助…...
【java】——OA初了解
【背景】 现在几乎每写一篇博文,小编都想说一下大的背景,来思考一下基于怎样的一个背景下我有了这篇博文O(∩_∩)O~ 走的太快,就不能够很好的脚踏实地,所以需要偶尔停下来想一想,总结一下所以也就有了这篇博文。 …...

BPM、OA、ERP之间的区别有哪些?
什么是BPM? BPM(即业务流程管理),是企业信息化发展的必经之路,通过“BPM”的软件,来对企业进行流程化管理,既可以对现有的运营流程进行梳理优化,也方便企业更容易拓展新业务和实现精…...

Foxmail登陆网易企业邮箱
新建账号 接受服务器类型:POP3 POP服务器:pop.qiye.163.com SMTP服务器:smtp.qiye.163.com...

foxmail添加账户请检查服务器信息,Foxmail添加邮箱账号的详细使用教程。
有的网友表示自己对Foxmail添加邮箱账号的操作还不是非常了解,而本节就介绍了Foxmail添加邮箱账号的详细使用教程,还不会操作的朋友就跟着小编学习一下吧,希望对你们有所帮助。Foxmail添加邮箱账号的详细使用教程首先我们打开Foxmail,如图&am…...

PPT连续放映(加背景音乐循环播放)
两个注意:按照附图设置。 附图1: 附图2 :...

在ppt当中加背景音乐一直播放的
1 为PPT添加背景音乐 方法一: 1. 依次点击“插入-影片和声音-文件中的声音”,在出现的“插入声音”对话框中选中要作为背景音乐的文件,然后单击“确定”,在弹出的对话框中点击“自动”按钮插入音乐对象。 2. 用鼠标右键单击插入的声音对象(…...

蓝桥杯 stm32 实现 ADC 采集数据功能 CubeMX
文章内的代码使用 HAL 库。 ADC 即 模数转换器,是指 将 连续变化的模拟信号 转换成 离散的数字信号 的器件。 文章目录前言一、ADC 原理图二、CubeMX 配置三、ADC 代码讲解总结前言 一、ADC 原理图 从原理图我们可以看到 STM32G431 内部集成 两个 最高位 12 位 的 A…...

产品经理学习——马斯洛人类需求五层次理论与产品应用
马斯洛人类需求五层次理论与产品应用...

马斯洛需求层次理论、敏捷思想、公司项目管理模型三者之间的联系
马斯洛需求层次理论: 敏捷中价值观、原则和实践之间的关系图如下: 公司项目管理模型: 心得 不管是敏捷的思想,还是公司项目管理模型,简单的来说都归结于需求,人性的需求 有了需求,产生行为、动…...

马斯洛提出动机理论_人做事的动机来自于哪里?--马斯洛需求层次理论解读
我们每天都在做各种各样的事情。你想过你为什么早上要起床吗?为什么一天要吃三顿饭吗?为什么到了一定的年龄你会想找个对象?为什么在假期想来一场说走就走的旅行?人这一切的行为或者想要做的事,想要实现的梦想都是人的…...

马斯洛需求层次理论与消费者需求
消费者的需求是多种多样的,了解清楚消费者的需求有助于根据结果调整自己的产品策略和营销策略。虽然人类的需求多种多样但是还是有法可循的,美国心理学家亚伯拉罕马斯洛1943年在《人类激励理论》论文中所提出过基本需求层次理论。这个理论可以很好的帮助…...

我对马斯洛需求层次的理解
需求挖掘的4个经典理论:KANO 模型、马斯洛需求层次、5W2H分析法、SWOT分析法。谈谈我对马斯洛需求层次的理解。 生理需求:陌生人社交工具、美女直播、美食网站都在点点滴滴地满足我们的生理需求。所以陌陌、探探、珍爱网有市场;各种外卖软件如…...

基于强化学习Q学习算法的AI下五子棋项目
Q学习方法 函数是对策略$\pi$的评估。如果策略$\pi$有限(即状态数和动作数都有限),可以对所有的策略进行评估并选出最优策略$\pi*$。但这种方式在实践中很难实现,通过迭代的方法不断优化策略,直到选出最优策略。 针对如何学习一个最优的策略,我们可以这样做:先随机初始化…...

马斯洛的需求层次理论
马斯洛的需求层次理论亚伯拉罕.马斯洛(Abraham Harold Maslow, 1908-1970) 出生于纽约市布鲁克林区。美国社会心理学家、人格理论家和比较心理学家,人本主义心理学的主要发起者和理论家,心理学第三势力的领导人。1926年入康乃尔大学,三年后转…...

免费的UI素材网站
分享一个免费的UI素材网~ 国外的一个网站,可以通过关键字找到需要的UI https://www.flaticon.com/search?wordUI...
弹窗设计UI素材模板|带你了解下弹窗特性
弹窗是链接产品交互与用户操作的常用方式,它既能处理用户的「即时任务」,也能作为提示通知用户的当前操作反馈或状态,但你真的足够了解它吗? ui设计师可能还对其他样机素材素材感兴趣,下载优质UI素材就上 搜UI网 ▲…...

UIC(组态UI工程)公版文件库新增7款行业素材
根据工业用户的UI美化需求,迪文特推出电力仪表、注塑机、真空包装机、包装打码机、封装机、贴标机、灌装机等多套迪文智能屏专用UIC(组态UI工程)公版文件库。 UIC文件库是由图标素材和控件定义组成的组态UI工程,用户可通过DGUS软件…...

android UI素材(收集整理)
图标: iconmonstr - Free simple icons for your next project Google提供的 Material Design 图标:Sticker sheets & icons Android Design :提供一些特殊的图片素材的话. Iconfont-阿里巴巴矢量图标库 站酷 (ZCOOL) 百设网(shapesides)…...

UI 素材网站
1.红动中国 http://sucai.redocn.com/mobile_6260495.html 转载于:https://www.cnblogs.com/yangchunlong/p/8244394.html...
UI素材
1、http://www.uimaker.com/ ui制造者 2、http://www.qianduan.net/category/tips 前段观察 3、http://beniao.blog.51cto.com/389148/310347 Silverlight & Blend动画设计系列 4、http://www.websbook.com/yuanli/index2.html 网页设计时手册…...

android ui素材
知乎上关于UI素材的地址:https://www.zhihu.com/question/22782295 github上的比较好的UI的地址:https://github.com/google/material-design-icons...

基于spring cloud 的连接不同数据库的查询案例(手把手配置详解)
前言: 本文非常详细,主要讲解实际开发的代码部分,同时每个步骤都有标签,不用担心内容过长,内附详细代码。以及中途各种问题的解决方案。 springcloud案例介绍: 订单微服务能够查询订单信息,订…...

【CMake入门教程】CMake目录导航
CMake教程专栏文章列表 【手册篇】CMake帮助手册的使用【手册篇】CMake编译平台介绍 【实例篇】01.第一个程序【实例篇】02.包含头文件实例【实例篇】03.创建静态库【实例篇】04.创建一个共享库【实例篇】05.安装程序【实例篇】06.编译类型(Debug/Release/MinSizeRel/RelWithD…...

mysql查询数据库版本
方法一:select version(); 或者 select version() from dual执行结果:version : 5.7.31注意:1、sql语句一般部不分大小写2、dual解释见小结方法二mysql - version 或者 mysql - status执行的结果:第一行:mysql Ver 14.14 Distrib 5.7.31, for…...

【并发编程】线程的基本原理和Thread Dump线程分析
线程的基本原理和Thread Dump线程分析线程的基本原理线程的运行状态如何中断线程存在循环的线程中断处于阻塞状态的线程中断Thread Dump线程分析CPU不高,但响应很慢CPU很高,且响应很慢线程的基本原理 放一张线程的原理图: java代码创建线程后࿰…...

阿里妈妈智能诊断工程能力建设
丨本文作者:茂道、羲洋、君之、天柏1. 业务背景算法同学在日常工作中经常要面临一些耗时较多的临时工单,这类工单的问题类型五花八门,背后对应的原因也各不相同,例如广告主操作类问题、大盘流量波动问题、海选问题、粗排问题等。这…...

openresty 安装与使用
一、openresty的安装下载源码openresty download安装依赖apt-get install libpcre3-dev \libssl-dev perl make build-essential curl编译tar -xzvf openresty-VERSION.tar.gz# --without-http_redis2_module 将不能使用http_redis2模块./configure --prefix/usr/local/openres…...

DxO PureRAW 3 - RAW 格式照片自动降噪锐化光学校正
使用 DxO PureRAW,无需升级相机即可获取更清晰、更纯净的 RAW 文件,能够高效去除图像的噪点,并可对镜头光学方面的缺陷进行校正。官网:https://www.dxo.com/zh-cn/dxo-pureraw/DxO PureRaw 3 最大的亮点在于其加入了 DxO 最新的人…...

【数据库学习】Postgres原理及底层实现
1,事务原理 事务(transaction): 是用户定义的一组数据库操作,要么全做要么全不做,失败即回滚。 事务是恢复和并发控制的基本单元。 保存点(savePoint) 在一个大的事务中,…...

工程管理系统软件 自主研发,工程行业适用
ava版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…...

Java开发 | 内部类 | 静态内部类 | 非静态内部类 | 匿名内部类
目录 1.内部类 1.1内部类的简单创建 1.2内部类的分类 1.2.1普通内部类 1.2.2静态内部类 1.3匿名内部类 1.4局部内部类 1.内部类 内部类就是一是一个类里面装着另外一个类,就像俄罗斯套娃一样。最外层的类我们叫外部类,内层的类我们叫内部类。 1…...

【C语言】栈区与堆区
目录分配管理方式申请大小限制不同申请效率不同总结:栈区、堆区 是内存模型 对比起来看 分配管理方式 栈区由编译器自动管理, 函数运行时分配,函数结束时释放。存放为运行函数而分配的局部变量(函数结束时,其内临时…...

交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)
摘要:交通信号标志识别软件用于交通信号标志的检测和识别,利用机器视觉和深度学习智能识别交通标志并可视化记录,以辅助无人驾驶等。本文详细介绍交通信号标志识别软件,在介绍算法原理的同时,给出Python的实现代码以及…...

js——async和defer
同步加载——不添加async或defer 代码1(后面所有对代码的改动,都参照代码1) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" co…...

JAVA多线程知识整理
Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类,并重写该类的run()方法,该run()方法实际上就是线程执行体,代表了线程需要完成的任务。创建该子类的实例,即创建线程对象。调用线程对象的star…...

Kaggle 赛题解析 | AMP 帕金森进展预测
文章目录一、前言二、比赛说明1. Evaluation2. Timeline3. Prize4. Code Requirements三、数据说明四、总结🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 竞赛题目:AMP-Parkinson’s Disease Progression Prediction 竞赛地址…...

Shell变量和引用
变量的定义本质上讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变变量的命名…...

腾讯云轻量应用服务器和CVM云服务器比为什么这么便宜?
最近需要一台服务器,发现腾讯云轻量应用服务器很便宜,为什么这么便宜?腾讯云轻量应用服务器和CVM云服务器比为什么这么便宜?轻量服务器公网带宽起步很高,4M起,感觉配置很高呀,难道性能不行么&am…...

C语言枚举—事件提醒程序 (time函数)
编写程序,实现一个事件提醒程序,如果今天是周几,完成什么事情… 这里需要用time函数获取当前时间,或者会用到localtime()函数 (1) time的原型是: #include <time.h>time_t time( time_t *time );功能࿱…...

小程序二:不支持打开非业务域名https://xxx.xx.com
原因:由于在小程序项目中,源H5网页代码里通过 <web-view> 嵌入或引用了https://xxx.xx.com域名,导致审核失败,因为:微信公众平台如果是开通的个人账号,那他不支持打开因为:需要已经认证的企业号和服务…...

PyTorch机器学习与深度学习技术方法与案例实践应用
PyTorchPyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功…...

Go项目(幂等性)
文章目录简介服务雪崩幂等性unique indextoken锁小结简介 前一篇为了避免因消息的重复发送导致一个订单的库存归还多次,我们新建了一张表 StockSellDetail其实这里涉及到幂等性,但在此之前,先来了解一些微服务中的常见问题 注:微…...

Python-模块和包
1.模块 概念 在Python中,模块是一种组织Python代码的方式。一个模块(py文件)可以包含多个函数、类、变量等Python对象,可以被其他Python程序导入和使用。Python标准库中包含了很多有用的模块,如math、random、os等。此外,Python还…...

Spring 远程加载配置
本文以携程的Apollo和阿里的Nacos为例。 pom中引入一下依赖: <dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>2.0.1</version></dependency><depe…...

3月第3周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
飞瓜轻数发布2023年3月13日-3月19日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能力强的B…...

dbms_application_info
今天在查看的时候发现,原有的存储过程中添加了很多dbms_application_info函数的调用,不知道是干什么的,查了下相关资料: dbms_application_info提供了通过v$session跟踪脚本运行情况的能力,该包允许我们在v$session设…...

网络同步——帧同步和状态同步解析
目录 概述 帧同步概念 状态同步概念 对比 概述 同步就是要多个客户端表现效果是一致的,而且对于大多数的游戏,不仅仅要表现一致,还要客户端和服务器的数据也是一致的。所以同步是个网络游戏概念,只有网络游戏才需要同步&…...

The FLARE challenge中的DG Tricks
在数据预处理过程中,大多数顶级团队将强度值裁剪到特定范围内,然后以单位标准差(表6预处理CI & N)将其归一化为[ 0 , 1]或零均值,从而减小了不同个例和中心之间的强度方差。重采样被顶级球队广泛使用,但采样策略各不相同。一些…...

docker-compose 搭建RocketMQ 5.1.0 集群(双主双从模式) | Spring Cloud 28
一、前言 关于更多RocketMQ的介绍请见官网:https://rocketmq.apache.org/zh/docs/ 网上关于Docker搭建RocketMQ单机&集群的版本一般都是4.X。关于最新的5.X版本,官方给出的示例都是基于物理机&虚拟机实现,不便于我们我们日常开发使…...

论文解读:ChangeFormer | A TRANSFORMER-BASED SIAMESE NETWORK FOR CHANGE DETECTION
论文地址:https://arxiv.org/pdf/2201.01293.pdf 项目代码:https://github.com/wgcban/ChangeFormer 发表时间:2022 本文提出了一种基于transformer的siamese网络架构(ChangeFormer),用于一对共配准遥感图…...

工程师你知道PCB的蛇形走线咋搞吗?
提起蛇形线,很多PCB工程师都不会陌生,蛇形线是PCB布线环节时经常用到的一种走线方式,主要目的是为了调节延时、满足系统时序设计要求,然而很多工程师经常经常滥用蛇形线,导致信号质量降低,板子整体上没那么…...

Vue入门+DRF项目实战-01-引入REST Framework
1. 引入Django REST framework 在本章中,我们要大家介绍为什么学习Django REST framework,它能帮助我们做哪些事情。 课程思路: 我们从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实 现一个REST API为例,明确后端开发REST API要做…...

Matter名词解释
Access Control List:访问控制列表,类似一个白名单,可以用来方控制访问簇元素Administrator:管理员,对另一个节点的访问控制列表具有管理权限的节点Advertising Data:广播包数据,主要指的是通过…...

ROS安装官方教程,以及如何解决安装过程中的报错
本文参考ROS官方教程:http://wiki.ros.org/melodic/Installation/Ubuntu 安装 ros melodic,并解决了安装过程中出现的报错 我们正在为以下几个Ubuntu平台构建Debian软件包。这些软件包比基于源代码的构建更高效,也是我们推荐在Ubuntu上使用的…...

【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列 p179 -- Java Version
题目链接:https://leetcode.cn/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/ 1. 题目介绍(33. 二叉搜索树的后序遍历序列) 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&am…...

回溯算法(排列/组合/子集)
排列 无重复元素全排列 题目链接: 全排列https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 示例: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,…...

安卓逆向高阶之frida hook java层
文章目录1. 初次hook Java 层函数2. hook 修改函数返回值3. hook调用静态函数和非静态函数4. hook设置成员变量5. hook内部类6. hook 动态加载dex7. 枚举class1. 初次hook Java 层函数 登录走else if 逻辑,hook a 方法 function hook_java() {Java.perform(functio…...

unity的C#学习——浮点常量、字符常量和字符串常量
浮点常量 在C#中,一个浮点常量是由整数部分、小数点、小数部分和指数部分组成。浮点常量可以使用以下几种表示形式(大写与小写效果等价): 十进制表示法:使用小数点来表示浮点数(默认为double类型ÿ…...

同样是软件测试岗位,年薪只比我大5岁,凭什么他能年薪50W?
相信大家听过网上流传的一句话: 35岁前当经理,35岁后开滴滴。 疫情当下,各大互联网都在想办法“活下去”,各种花样裁员也已经不足为奇,很多软件测试工程师就开始焦虑这个问题:在这个行业真的干到35岁就干…...

NPDP|来聊聊To B产品经理都应该具备的9个边界能力
面对市场的时候,给予To B产品经理的反馈却是繁杂且滞后的,很多无效的反馈,将直接干扰、甚至破坏产品的发展决策。 这时,To B产品经理的“边界能力”就会显得非常重要。"边界能力”简单说,就是什么该做?…...

【git报错】unable to resolve reference ‘ORIG_HEAD‘: reference broken
【git报错】unable to resolve reference ‘ORIG_HEAD’: reference broken git报错::fatal: update_ref failed for ref ‘ORIG_HEAD’: cannot lock ref ‘ORIG_HEAD’: unable to resolve reference ‘ORIG_HEAD’: reference broken 这个错误通常意…...

【算法】动态规划复习汇总
一、概述 1.1 基本概念 动态规划主要用于解决多段决策最优化的问题。 动态规划通常用来解决这样的一类问题:该问题有n个输入,问题的解由这n个输入的一个子集构成,这些子集必须满足某些事先给定的约束条件,满足约束条件的子集称…...

react中渲染企业微信的表情
前提:后端返回的的表情是解析成字符串的这种,形如:[微笑]、[旺财]等的 大致思路: 需要一张完整表情包的精灵图,用正则去匹配[***]这种文本再写个json对照表,匹配到的再用json去匹配对应的style样式。利用…...

Jetpack系列之Paging2.0 分页加载
(一)概述 Paging是Jetpack中的一个数据分页加载组件,核心成员有 DataSource, PagedList, PagedListAdapter。 // 下拉刷新 api com.scwang.smartrefresh:SmartRefreshLayout:1.1.0 api com.scwang.smartrefresh:SmartRefreshHeader:1.1.0 …...

线性回归-线性神经网络
线性神经网络 注: 该文章为作者学习深度学习笔记,共参考以下两大开源深度学习资料: 深度学习(花书) https://github.com/exacity/deeplearningbook-chinese动手学习深度学习(李沐) https://zh-v2.d2l.ai/ 线性回归 线性回归是一种常用的统计分析方法,它可以用来研究一个或多个…...

矿泉水瓶装大米,便利店能增收300万
矿泉水瓶装大米,便利店能增收300万 把大米装进矿泉水瓶,一瓶卖到60块,是同行的十倍,放进便利店,一年能卖300万 梦龙商业案例分析,带你了解商业背后的秘密 他针对的是单身人士和小情侣,这群人…...

Nginx学习(5)—— 基本结构(源码)
文章目录Nginx源码学习基本数据结构1、字符串结构:ngx_str_t2、类似资源管理的结构:ngx_pool_t3、Nginx数组结构:ngx_array_t4、哈希表结构:(1) ngx_hash_t:普通哈希表(2) ngx_hash_wildcard_t:通配符域名哈…...

使用configmap形式持久化grafana-dashboard
安装部署请参考:k8s部署prometheus 一、下载dashboard的json文件 先去官网找到喜欢的dashboard 官网地址:https://grafana.com/grafana/dashboards/?pghp&plcmtlt-box-dashboards 这个地址有很多的dashboard,根据需要去搜索即可 把js…...

PPT 转 video和gif
制作需要组合的动画页面 先绘制需要动画的图,每页一个画面。可以调整页面,让页面与图形同样大小查不多,调整方法如下图: PPT转video Microsoft PowerPoint 已经提供了导出视频的功能,然后选择视频质量,…...

【分割数据集操作集锦】毕设记录
1. 按要求将CSV文件转成json文件 有时候一些网络模型的源码会有data.json这样的文件里面存放了训练集和验证集的信息,这里我们根据csv格式的表格生成json文件。 以下代码有下述功能: 选出同时出现在csv文件里和训练集文件夹中同名的文件按照自己需要加…...

win下pytorch安装—cuda11.6 + cudnn8.4 + pytorch1.12 + tensorRT(pycuda)
安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch安装四、tensorRT8.X安装写在前面 博主这里装的是cuda11.7,最后一步tensorRT运行的时候有个pycuda的安装,它的最新版本只支持到cuda11.6,所以博主最后是又把cuda…...

Java三年经验---模拟面试--面经
1. 做一下自我介绍吧,你的XXX项目说一下?2.你这个线程池的核心线程数怎么设置的?主要考虑啥?CPU密集型: 核心线程数 CPU核数 1 IO密集型: 核心线程数 CPU核数 * 2主要需要考虑的是 是否是…...

城乡供水一体化平台-助力乡村振兴建设
城乡供水一体化管理系统建设方案城乡供水一体化管理系统是运用云计算、大数据等信息化手段,借助在线监测设备,并依托“供水信息化平台”,实时感知供水系统的运行状态,实现对农村供水工程远程监控、在线监测、实时预警、智慧监管。…...

macbook苹果电脑系统使用“终端”远程登录linux主机
登录mac系统后,依次打开顶部菜单,“前往” -> “应用程序” -> “实用工具” -> “终端”,如下图: 在打开的终端页面,输入如下代码: ssh root服务器IP地址 注:上边代码为固定格式&am…...

微信小程序wx.canvasToTempFilePath压缩上传图片,ios压缩成功但是数据sm2加密后无法发起请求,安卓一切正常
问题以及解决: 吐槽遇到的问题~ 在写微信小程序的时候,采用wx.canvasToTempFilePath压缩图片且上传的时候,安卓一切正常,我在开发工具上也一切正常,偏偏ios上就不正常,不正常不是指压缩失败,而…...

基于jsp+ssm+springboot的网上购物商城【毕业论文+源码】
摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,网上商城购物系统当然也不能排除在外。网上商城购物系统是以实际运用为开发背景,运用软件工程原理和开发方法&…...

linux提权总结
linux web到rootlinux 本地到root:关于linux提权一般来说在webshell能运行的,到本地提权应该也可以运行,只要有一定的权限,一些方法在webshell上也可以运行,只是总结了一些常见的提权方法一般来说,我自己认为提权思考的…...

大数据Doris(一):深入了解Apache Doris
深入了解Apache Doris一、Apache Doris介绍Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以 支持高并发的点查询场景,也能…...

设置浏览器横屏可行性测试,附带浏览器全屏功能
输入法问题: 1、QQ浏览器、UC浏览器可通过标签设置横屏(这种模式下输入法也是横屏状态) <meta namefull-screen contenttrue /><meta namex5-fullscreen contenttrue /><meta name360-fullscreen contenttrue /><meta n…...

代码随想录复习——单调栈篇 每日温度 下一个更大元素12 接雨水 柱状图中最大的矩形
739.每日温度 每日温度 暴力解法双指针 def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)res [0] * nfor i in range(n):for j in range(i,n):if temperatures[j] < temperatures[i]: continueelse: res[i] j-ibreakreturn …...

【Linux】基础IO(一) :文件描述符,文件流指针,重定向
🍎作者:阿润菜菜 📖专栏:Linux系统编程 码字不易,请多多支持😘😘 这是目录重新认识文件系统内部的文件操作我们C语言的文件操作系统内部的文件操作OS一般会如何让用户给自己传递标志位的&#x…...