题目
对于你比较熟悉的两个问题,描述不同的求解算法,对不同算法的效率进行理论分析,同时对算法进行仿真或编程实现,显示仿真结果或程序运行结果,最后对算法效率的理论分析结果和实验结果(进行对比、分析)。
问题一:排序问题
问题描述
输入一个整数的序列,给其排按照从小到大的顺序排序,并输出。
解决方案
方法一:冒泡排序
(1)算法思路:
冒泡排序,它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。具体的步骤如下:
(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
(3) 针对所有的元素重复以上的步骤,除了最后一个。
(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
(2)代码实现:

#include <stdio.h>
#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/
void bubbleSort (elemType arr[], int len) {elemType temp;int i, j;for (i=0; i<len-1; i++) /* 外循环为排序趟数,len个数进行len-1趟 */for (j=0; j<len-1-i; j++) { /* 内循环为每趟比较的次数,第i趟比较len-i次 */if (arr[j] > arr[j+1]) { /* 相邻元素比较,若逆序则交换(升序为左大于右,降序反之) */temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}
}int main (void) {elemType arr[ARR_LEN] = {3,5,1,-7,4,9,-6,8,10,4};int len = 10;int i;bubbleSort (arr, len);for (i=0; i<len; i++)printf ("%d ", arr[i]);putchar ('\n');return 0;
}

运行结果:
在这里插入图片描述
(3)算法分析:
时间复杂度:
若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数 和记录移动次数 均达到最小值: Cmin=n-1,Mmin=0 。
所以,冒泡排序最好的时间复杂度为O(n) 。
若初始文件是反序的,需要进行 趟排序。每趟排序要进行 次关键字的比较(1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值:
在这里插入图片描述

冒泡排序的最坏时间复杂度为O(n^2) 。
综上,因此冒泡排序总的平均时间复杂度为 O(n^2).
算法稳定性:
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
方法二:快速排序
(1)算法思路:
随机找出一个数,可以随机取,也可以取固定位置,一般是取第一个或最后一个称为基准,然后就是比基准小的在左边,比基准大的放到右边,如何放做,就是和基准进行交换,这样交换完左边都是比基准小的,右边都是比较基准大的,这样就将一个数组分成了两个子数组,然后再按照同样的方法把子数组再分成更小的子数组,直到不能分解为止。
(2)代码实现:

void sort(int *a, int left, int right)
{if(left >= right)/*如果左边索引大于或者等于右边的索引就代表已经整理完成一个组了*/{return ;}int i = left;int j = right;int key = a[left];while(i < j)                               /*控制在当组内寻找一遍*/{while(i < j && key <= a[j])/*而寻找结束的条件就是,1,找到一个小于或者大于key的数(大于或小于取决于你想升序还是降序)2,没有符合条件1的,并且i与j的大小没有反转*/ {j--;/*向前寻找*/}a[i] = a[j];/*找到一个这样的数后就把它赋给前面的被拿走的i的值(如果第一次循环且key是a[left],那么就是给key)*/while(i < j && key >= a[i])/*这是i在当组内向前寻找,同上,不过注意与key的大小关系停止循环和上面相反,因为排序思想是把数往两边扔,所以左右两边的数大小与key的关系相反*/{i++;}a[j] = a[i];}a[i] = key;/*当在当组内找完一遍以后就把中间数key回归*/sort(a, left, i - 1);/*最后用同样的方式对分出来的左边的小组进行同上的做法*/sort(a, i + 1, right);/*用同样的方式对分出来的右边的小组进行同上的做法*//*当然最后可能会出现很多分左右,直到每一组的i = j 为止*/
}

运行结果:
在这里插入图片描述
(3)算法分析:
快速排序的一次划分算法从两头交替搜索,直到low和high重合,因此其时间复杂度是O(n);而整个快速排序算法的时间复杂度与划分的趟数有关。
理想的情况是,每次划分所选择的中间数恰好将当前序列几乎等分,经过log2n趟划分,便可得到长度为1的子表。这样,整个算法的时间复杂度为O(nlog2n)。
最坏的情况是,每次所选的中间数是当前序列中的最大或最小元素,这使得每次划分所得的子表中一个为空表,另一子表的长度为原表的长度-1。这样,长度为n的数据表的快速排序需要经过n趟划分,使得整个排序算法的时间复杂度为O(n2)。
为改善最坏情况下的时间性能,可采用其他方法选取中间数。通常采用“三者值取中”方法,即比较H->r[low].key、H->r[high].key与H->r[(10w+high)/2].key,取三者中关键字为中值的元素为中间数。
最好的情况下,即快速排序的每一趟排序都将元素序列均匀地分割成长度相近的两个子表,所需栈的最大深度为log2(n+1);但最坏的情况下,栈的最大深度为n。这样,快速排序的空间复杂度为O(log2n))。
方法三:选择排序
(1)算法思路:
对比数组中前一个元素跟后一个元素的大小,如果后面的元素比前面的元素小则用一个变量k来记住他的位置,接着第二次比较,前面“后一个元素”现变成了“前一个元素”,继续跟他的“后一个元素”进行比较如果后面的元素比他要小则用变量k记住它在数组中的位置(下标),等到循环结束的时候,我们应该找到了最小的那个数的下标了,然后进行判断,如果这个元素的下标不是第一个元素的下标,就让第一个元素跟他交换一下值,这样就找到整个数组中最小的数了。然后找到数组中第二小的数,让他跟数组中第二个元素交换一下值,以此类推。
(2)代码实现:

void select_sort(int*a,int n)
{register int i,j,min,t;for(i=0;i<n-1;i++){min=i;//查找最小值for(j=i+1;j<n;j++)if(a[min]>a[j])min=j;//交换if(min!=i){t=a[min];a[min]=a[i];a[i]=t;}}
}

运行结果:
在这里插入图片描述
(3)算法分析:
时间复杂度:
选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 n (n - 1) / 2 次之间。选择排序的赋值操作介于 0 和 3 (n - 1) 次之间。比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+…+1=n*(n-1)/2。交换次数O(n),最好情况是,已经有序,交换0次;最坏情况交换n-1次,逆序交换n/2次。交换次数比冒泡排序少多了,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。
稳定性:
选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择,如果一个元素比当前元素小,而该小的元素又出现在一个和当前元素相等的元素后面,那么交换后稳定性就被破坏了。比较拗口,举个例子,序列5 8 5 2 9,我们知道第一遍选择第1个元素5会和2交换,那么原序列中两个5的相对前后顺序就被破坏了,所以选择排序是一个不稳定的排序算法。
方法四:插入排序
(1)算法思路:
假定这个数组的序是排好的,然后从头往后,如果有数比当前外层元素的值大,则将这个数的位置往后挪,直到当前外层元素的值大于或等于它前面的位置为止.这具算法在排完前k个数之后,可以保证a[1…k]是局部有序的,保证了插入过程的正确性.
(2)代码实现:

void insertion_sort(int array[],int first,int last)
{int i,j;int temp;for(i=first+1;i<last;i++){temp=array[i];j=i-1;//与已排序的数逐一比较,大于temp时,该数移后while((j>=0)&&(array[j]>temp)){array[j+1]=array[j];j--;}//存在大于temp的数if(j!=i-1)array[j+1]=temp;}
}

运行结果:
在这里插入图片描述
(3)算法分析:
如果目标是把n个元素的序列升序排列,那么采用插入排序存在最好情况和最坏情况。最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次数加上 (n-1)次。平均来说插入排序算法的时间复杂度为O(n^2)。
插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有序序列的末尾开始,也就是想要插入的元素和已经有序的最大者开始比起,如果比它大则直接插入在其后面,否则一直往前找直到找到它该插入的位置。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的。
4个排序算法对比:
在前面的介绍和分析中我们提到了冒泡排序、选择排序、插入排序,快速排序四种简单的排序。我们可以知道排序算法要么简单有效,要么是利用简单排序的特点加以改进,要么是以空间换取时间在特定情况下的高效排序。但是这些排序方法都不是固定不变的,需要结合具体的需求和场景来选择甚至组合使用。才能达到高效稳定的目的。没有最好的排序,只有最适合的排序。
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
从空间性能上看,尽管快速排序只需要一个元素的辅助空间,但快速排序需要一个栈空间来实现递归。可以证明,快速排序的平均时间复杂度也是O(nlog2n)。因此,该排序方法被认为是目前最好的一种内部排序方法。
插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千,那么插入排序还是一个不错的选择。
下表为各算法的各数据对比分析:
算法名	平均时间复杂度	算法用时时间(ms)	最好情况	最坏情况	稳定性冒泡排序	O(n^2)	52.98	O(n)	O(n^2)	稳定快速排序	O(nlog2n)	66.15	O(nlogn)	O(n^2)	不稳定选择排序	O(n^2)	55.32	O(n^2)	O(n^2)	不稳定插入排序	O(n^2)	54.44	O(n)	O(n^2)	稳定

  1. 从平均时间来看,冒泡排序是效率最高的,但快速排序在最坏情况下的时间性能不如其他排序。而后者相比较的结果是,在n较大时归并排序使用时间较少,但使用辅助空间较多。
  2. 上面说的简单排序,其中直接插入排序最简单,但序列基本有序或者n较小时,直接插入排序是好的方法,因此常将它和其他的排序方法,如快速排序、归并排序等结合在一起使用。
  3. 上面的算法实现大多数是使用线性存储结构,像插入排序这种算法用链表实现更好,省去了移动元素的时间。具体的存储结构在具体的实现版本中也是不同的。

问题二:字符串匹配
首先是一系列概念定义:
文本Text: 是一个长度为n的数组T[1…n] (这里第一位置索引是数字1)
模式Pattern: 是一个长度为m的数组P[1…m], 并且m<=n.
T和P的元素都属于有限的字母表Σ 表
概念:有效位移Valid Shift(用字母s代表)。即P在T中出现,并且位置移动s次。如果0<= s <= n-m ,并且T[s+1…s+m] = P[1…m],则s是有效位移。

在这里插入图片描述
上图的有效位移是3。
问题描述
给定一个目标串str和模式串ptr,要求寻找ptr第一次在str出现的位置,并返回其下标,匹配不到则返回-1。
解决方案
方法一:暴力检索法(BF算法)
(1)算法思路:
其算法思想很简单,从主串S的第pos个字符开始,和模式串T的第一个字符进行比较,若相等,则主串和模式串都后移一个字符继续比较;若不相同,则回溯到主串S的第pos+1个字符重新开始比较。
依次类推,直到模式串T中每个字符依次和主串S中的一个连续字符串全部相等时,则匹配成功,返回模式串T的第一个字符在主串S中的位置;若主串遍历完也没有成功,则匹配失败。
(2)代码实现:

#include <stdio.h>
#include <string.h>
void BF(const char* T,const char* P)
{int n = strlen(T);int m = strlen(P);for (int s = 0; s < n - m+1; ++s){int i = s, j = 0;for (;j < m-1;){if (T[i] == P[j]) ++i, ++j;else break;}if (T[i] == P[j])printf("%d\n",s);       }
}
int main()
{char str[]="abcababcababcababcabaabcabac",ptr[]="abaa";printf("目标串为:%s\n",str);printf("模式串为:%s\n",ptr);BF(str,ptr);return 0;
}

运行结果:
在这里插入图片描述
(3)算法分析:
空间复杂度:O(1);
时间复杂度:O(N*M),N是目标串的长度,M是模式串的长度;
最坏情况下,对每一个s都需要做m次(模式P的长度为m)的比较。则算法的上届是O((n-m+1)*m)。到后面我们会看到朴素算法之所以慢,是因为它只是关心有效的位移,而忽略其它无效的位移。当一次位移s被验证是无效的之后,它只是向右位移1位,然后从头开始继续下一次的比较。这样做完全没有利用到之前已经匹配的信息,而这些信息有时候会很有用。
方法二:KMP算法
(1)算法思路:
KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。
(2)代码实现:

void Get_next() 
{                       int len = sizeof(ptr);next[0] = -1;int j = -1;     for(int i = 1; i < len; ++i){               while(j > -1 && ptr[i] != ptr[j+1]) //不等next等jj = next[j];if( ptr[i] == ptr[j+1] ) // 等子串j加加j++;next[i] = j;}//        for(int i = 0; i < len; ++i)
//                cout << next[i] << ' ';
//                cout << endl;
}int KMP( )
{Get_next();int s_len = strlen(str);int p_len = strlen(ptr);int j  = -1;for(int i = 0; i < s_len; ++i){while(j > -1 && ptr[j+1] != str[i])j = next[j];if(ptr[j+1] == str[i])j++;if(j == p_len-1) return i-p_len+1;}return -1;
} 

运行结果:
在这里插入图片描述
(3)算法分析:
KMP算法的时间复杂度是线性的。首先是kmp函数。显然决定kmp函数时间复杂度的变量仅仅有两个,i和j,当中i仅仅添加了len次,是O(len)的,以下讨论j,由于由next数组的定义我们知道next[j]<j,所以在回溯的时候j至少减去了1,而且j保证是个非负数。另外。由代码可知j最多添加了len次,且每次仅仅添加了1。简单来说。j每次添加仅仅能添加1,每次减小至少减去1,而且保证j是个非负数。那么可知j减小的次数一定不能超过添加的次数。所以。回溯的次数不会超过len。
综上所述。kmp函数的时间复杂度为O(len)。同理。对于计算next数组相同用相似的方法证明它的时间复杂度为O(len),这里不再赘述。对于长度为n的原始串S。和长度为m的模式串T,KMP算法的时间复杂度为O(n+m)。
方法三:BM算法
坏字符规则:当文本串中的某个字符跟模式串的某个字符不匹配时,我们称文本串中的这个失配字符为坏字符,此时模式串需要向右移动,移动的位数 = 坏字符在模式串中的位置 - 坏字符在模式串中最右出现的位置。此外,如果”坏字符”不包含在模式串之中,则最右出现位置为-1。
好后缀规则:当字符失配时,后移位数 = 好后缀在模式串中的位置 - 好后缀在模式串上一次出现的位置,且如果好后缀在模式串中没有再次出现,则为-1。
(1)算法思路:
Boyer-Moore充分使用预处理P的信息来尽可能跳过更多的字符。通常,我们比较一个字符串都是从首字母开始,逐个比较下去。一旦发现有不同的字符,就需要从头开始进行下一次比较。这样,就需要将字串中的所有字符一一比较。Boyer-Moore算法的关键在于,当P的最后一个字符被比较完成后,我们可以决定跳过一个或更多个字符。如果最后一个字符不匹配,那么就没必要继续比较前一个字符。如果最后一个字符未在P中出现,那么我们可以直接跳过T的n个字符,比较接下来的n个字符,n为P的长度(见定义)。如果最后一个字符出现在P中,那么跳过的字符数需要进行计算(也就是将P整体往后移),然后继续前面的步骤来比较。通过这种字符的移动方式来代替逐个比较是这个算法如此高效的关键所在。
(2)代码实现:

void BM(char *x, int m, char *y, int n) {int i, j, bmGs[XSIZE], bmBc[ASIZE];/* Preprocessing */preBmGs(x, m, bmGs);preBmBc(x, m, bmBc);/* Searching */j = 0;while (j <= n - m) {for (i = m - 1; i >= 0 && x[i] == y[i + j]; --i);if (i < 0) {OUTPUT(j);j += bmGs[0];}elsej += MAX(bmGs[i], bmBc[y[i + j]] - m + 1 + i);}
} 

运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200107165337686.png在这里插入图片描述
(3)算法分析:
它在最坏情况下找到模式所有出现的时间复杂度为O(mn),在最好情况下执行匹配找到模式所有出现的时间复杂度为O(n)。
3个算法对比:
下表这三个字符串匹配算法的各数据对比分析:
算法名	平均时间复杂度	算法用时时间(ms)	最好情况	最坏情况BF算法	O(n*m)	52.78	O(n)	O(n*m)KMP算法	O(n+m)	80.27	O(n)	O(n+m)BM算法	O(n)	84.03	O(n)	O(n*m)
暴力检索法是最好想到的算法,也最好实现,在情况简单的情况下可以直接使用。
KMP算法是对暴力检索法的改进,KMP 算法预先计算出了一个哈希表,用来指导在匹配过程中匹配失败后尝试下次匹配的起始位置,以此避免重复的读入和匹配过程。但是,它并不是效率最高的算法,实际采用并不多。各种记事本的“查找”功能(CTRL + F)一般都是采用的此算法。
BM算法的思想在字符串匹配中很重要,其中好后缀与KMP算法的思想不谋而合,而坏字符跳跃,跟Sunday算法很相似。总的来说,BM是这三个算法中最高效的匹配算法。BM算法比kmp算法更高效,BM算法的执行效率要比KMP算法快3-5倍左右。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. python面向对象day5

    1.调用包import mypackage # 在包的 __init__文件中写代码, 使用的包就和使用模块一样# print(mypackage.name) mypackage.show()2.pip包管理工具 """ 掌握pip的使用1. 概念: pip是一个python自带的包管理工具,用于从网络上下载,安装,查找,卸载,更新的第三方包下…...

    2024/3/29 7:54:25
  2. the disadvantages of an elite education

    article: The disadvantages of an elite education Our best universities have forgotten that the reason they exist is to make minds,not careers. It didn’t dawn on me that there might be a few holes in my education until I was about 35 .I’d just bought a ho…...

    2024/3/29 7:54:28
  3. 中国空气质量在线监测平台加密数据爬取

    中国空气质量在线监测平台加密数据爬取 - 中国空气质量在线监测分析平台是一个收录全国各大城市天气数据的网站,包括温度、湿度、PM 2.5、AQI 等数据,链接为:https://www.aqistudy.cn/html/city_detail.html,网站显示为:该网站所有的空气质量数据都是基于图表进行显示的,并…...

    2024/4/6 15:53:36
  4. 联通一信通短信平台接口调用

    联通一信通短信平台接口调用起承转准备工作主要调用功能发送短信接收回复短信 起承转 业务需要调用联通一信通短信接口。 准备工作 调用接口前需要一系列准备工作,步骤如下:企业账户相关信息,你需要有相应的账户和密码 官网入口; 工作台选择接口业务; 接口配置中主要就是接…...

    2024/3/28 21:49:24
  5. react笔记 Create React App

    Create React App 使用typescript npx create-react-app my-app --typescript添加less 第一步 暴露webpack配置文件 npm run eject多了一个config文件夹,这样就可以修改 webpack 相关配置了。 第二步 添加less npm install --save-dev less-loader less第三步 修改webpack配置…...

    2024/4/7 19:13:10
  6. 常用網上資源記錄

    1.PHP 新手起步的語言,掌握了基本的Mysql, Mongodb等curd操作,composer由完全不會到了安裝laravel和PHPWord,框架laravel正逐步學習中 2.Mysql 操作感覺上相比mongodb麻煩許多,各種不允許插入空值搞得頭都大 3.MongoDB 操作直覺,好使好用,結構工整,MongoDB Compass等UI工…...

    2024/3/29 12:16:30
  7. 《操作系统导论》总结

    操作系统复习指南 文章目录1、CPU 调度算法2、进程和线程3、并发同步4、地址空间分配:释放:常见错误:5、同步原语6、分段与分页**动态重定位**:分段:分页:例子:7、TLB, 多级页表解决问题1: 慢TLB:原理(注意加粗, ** **):缓存:问题里面的问题:TLB覆盖问题:TLB的…...

    2024/4/17 23:12:34
  8. Redux 基础

    Redux 是 JavaScript 的状态容器,本篇文章主要介绍其 Action、Reducer、Store 等基础概念。 一. Action Action 描述将要采取什么动作,同时也可以把数据传送到 store 中。以下用 toDoList 添加事项来举例: // Action 里面的代码 function addToDo(detail) {const date = fo…...

    2024/4/26 15:27:29
  9. C#最全最详细的教程

    C# 教程最全的c#教程! 已上传到百度网盘!如需要请私聊!关注回复 c#教程 即可获得百度网盘提取码! 链接:https://pan.baidu.com/s/1e7SuNUgeJFIVGcF5Nj7wzA...

    2024/4/26 1:01:41
  10. 百度网盘视频倍速代码

    chrome浏览器 F12 选择console 输入以下代码回车即可 videojs.getPlayers("video-player").html5player.tech_.setPlaybackRate(播放倍速)...

    2024/4/13 13:16:09
  11. 安卓系统默认阻止HTTP流量,HTTPS加密刻不容缓

    自2019年11月1日起,安卓系统要求所有APP都必须默认阻止所有域名的HTTP流量,包括程序更新和所有Google Play上的新应用程序,确保通过TLS协议保护进入或离开Android设备的所有网络流量。这将适用于所有面向Android 9.0的应用程序,任何需要HTTP连接的内容必须提交特殊声明。An…...

    2024/4/18 6:27:59
  12. 1.2 第二章 变量和简单数据类型

    人工智能入门与实战第一季:python基础语法安装PyCharm 为了更加方便我们编程,从本章开始我们将使用PyCharm开发环境,上面我们也提到了IDLE开发环境,借此机会你也可以对比一下PyCharm与IDLE谁更好用? 以下安装以mac为例:(windows类似) 下载地址:https://www.jetbrains.…...

    2024/3/29 7:54:40
  13. DPDK:收发包全景分析

    前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mempool内存池中有过介绍。这篇主要介绍收发包的过程。 …...

    2024/3/29 7:54:38
  14. 《数据库原理》课程设计报告

    《数据库原理》课程设计报告 题目:KTV管理系统 就是记录一下小组做的 以后或许有点用 文章目录一、简要概述二、需求分析三、 概念结构设计四、逻辑结构设计五、数据库物理实现六、总结 一、简要概述 顾客来到KTV一定会开包房消费,但是包房会有大小之分,不同类型的包房的价…...

    2024/4/3 3:23:10
  15. 微信公众号“链接”与“超链接”知识大全

    胖友们,早上好! 都入冬了,却没想到“生活有波动,网络大爆炸”,但无论事情如何,请胖友们一定要“稳住,我们能赢”!不信谣、不传谣、不跟风、不捏造!让子弹飞一会,事实总能落地! 所以,今天三儿来讲一下:微信公众号链接使用的相关知识。(强行转话题,我自己都服气)…...

    2024/3/29 7:54:36
  16. the spell of the rising moon

    原文: The spell of the rising moon There is a hill near my home that I often climb at night.The noise of the city is a far-off murmur.In the hush of dark I share the cheerfulness of crickets and the confidence of owls.But it’s the drama of the moonrise t…...

    2024/3/29 7:54:36
  17. gitlab搭建

    Gitlab搭建 1.配置yum网络源: [root@localhost yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo --2020-01-06 21:43:43-- http://mirrors.aliyun.com/repo/Centos-7.repo Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 124.203.224.204, 124.203…...

    2024/4/20 9:06:35
  18. Python程序设计入门到精通完全自学视频教程 diango框架学习手册

    Python程序设计入门到精通完全自学视频教程 diango框架学习手册 很多初学者都听说python很火,可是为啥要学Python,下面谈谈我的感悟。 python语言是我目前为止用的最爽的语言,因为它真的很优美.虽然c,c++,java也非常的强大和伟大,但是每一种语言伟大的背后都是有一定的时代…...

    2024/4/1 19:48:21
  19. 软考高级信息系统项目管理师与PMP的区别 ?

    一、考试介绍 PMP:PMP是项目管理专业人士资格认证,由美国项目管理协会(PMI)发起,严格评估项目管理人员知识技能是否具有高品质的资格认证考试,其目的是为了给项目管理人员提供统一的行业标准。 高项:信息系统项目管理师(简称‘高项’)属于软考高级科目,软考是我国计算机…...

    2024/4/24 17:57:42
  20. 前端拼图滑动验证,兼容IE10 IE11

    源码摘自https://www.cnblogs.com/huangting/p/11285131.html源码用ES6写的,不兼容IE10,自己做了改动,改动后亲测兼容IE11,IE10先上图再上代码css.block {position: absolute;left: 0;top: 0;}.sliderContainer {position: relative;text-align: center;width: 310px;height…...

    2024/4/19 17:17:48

最新文章

  1. 使用grasshopper修改梁的起始点方向

    一般北方向朝上的情况&#xff0c;梁的方向从南向北&#xff0c;从西向东。 现在使用grasshopper来判断起始点坐标&#xff0c;分辨是否错误。 交换起始点这个&#xff0c;我实在不会用电池操作&#xff0c;只好敲python代码实现了。代码如下&#xff1a; 如果会敲代码的同学…...

    2024/4/27 22:24:18
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. javaWeb网上零食销售系统

    1 绪 论 目前&#xff0c;我国的网民数量已经达到7.31亿人&#xff0c;随着互联网购物和互联网支付的普及&#xff0c;使得人类的经济活动进入了一个崭新的时代。淘宝&#xff0c;京东等网络消费平台功能的日益完善&#xff0c;使得人们足不出户就可以得到自己想要的东西。如今…...

    2024/4/27 19:08:10
  4. 用html实现在页面底部养鱼的效果

    <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>在网页底部养鱼</title><link rel"stylesheet" href"./style.css"> </head> <body> <div id"fi…...

    2024/4/24 17:02:47
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57