题目要求:
二叉树算法设计
在这里插入图片描述TXT文件内容(Btree.txt):
1 2 4 8 0 0 9 0 0 5 0 0 3 6 0 0 7 0 0
一定注意,这里文件按照前序遍历的数字形式,空树按照0进行表示,每个数字间空格,这样能区分十位数还是个位数,并且只能是纯数字
代码展示:

#include<iostream>
#include<stdio.h>
#include<malloc.h>
#include<queue>
#include <string.h>
using namespace std;
typedef int ElemType;
#define MaxSize 100
char array[MaxSize];//用于存储文件当中的信息 
int str[MaxSize];
int flag=0;
int str1[MaxSize];
int cunchu[MaxSize];
int kkk=0;//数字数组分完单词后长度 
typedef struct BiTNode{ElemType data;struct BiTNode *lchild,*rchild;int ltag,rtag;
}BiTNode,*BiTree;
BiTree CreateBiTree()//这里输入的空树是以0表示
{int e=str[flag++];//血的教训,递归的传值问题 
//   cout<<flag;BiTree T;if(e==0)T=NULL;else{T=(BiTNode*)malloc(sizeof(BiTNode));if(!T)return 0;T->data=e;T->lchild=CreateBiTree();T->rchild=CreateBiTree();}return T;
}
void openfile1(){//打开文件存储树的信息 FILE *fp;int i=0,len=0,temp1=0;char temp;if((fp=fopen("1.Btree.txt","r"))==NULL){cout<<"文件打开失败"<<endl; exit(0);}while(!feof(fp)){ 
//		if(fgetc(fp)=='/0')break;temp=fgetc(fp);array[i]=temp;//将字符一一存入所定义的字符串//cout<<array[i]<<" ";;i++;len++;}printf("\n");//cout<<len-1<<"hhhh"<<endl;for(int i=0;i<len-1;i++){//注意要少一位,最后的那个符号不需要 str1[i]=(int)(array[i]-'0');//cout<<str1[i]<<" ";}str1[i+1]=(int)(' '-'0');//cout<<str1[i+1]<<endl;int iii=0,jjj=0,cunchutemp=0;while(iii<len){//cout<<"OK"<<endl;if(str1[iii]==-16){cunchutemp=0;for(int i=0;i<=jjj-1;i++){cunchutemp=cunchu[i]+cunchutemp*10;//cout<<"计算的数值为"<<cunchutemp<<endl;}str[kkk]=cunchutemp;//cout<<str[kkk]<<endl;//cout<<"kkk的值为"<<kkk<<endl; kkk++;	memset(cunchu,0,sizeof(cunchu));iii++;jjj=0;}else{//cout<<"进入过一次"<<endl;cunchu[jjj]=str1[iii];jjj++;iii++;			}}printf("\n");//cout<<str1[0]<<str1[1]<<endl; for(int i=0;i<kkk+1;i++){cout<<str[i]<<" ";}return ;
}
int openfile(){//打开文件存储树的信息 FILE *fp;int i=0,len=0,temp1=0;char temp;if((fp=fopen("Btree.txt","r"))==NULL){cout<<"文件打开失败"<<endl; exit(0);}while(!feof(fp)){ 
//		if(fgetc(fp)=='/0')break;temp=fgetc(fp);array[i]=temp;//将字符一一存入所定义的字符串
//		cout<<array[i];i++;len++;}for(int i=0;i<len-1;i++){//注意要少一位,最后的那个符号不需要 str[i]=(int)(array[i]-'0');
//		cout<<str[i];}return len-1;
}
void search2(BiTree p,BiTree &q,char key)//找到值为key的结点并赋值 
{if(p!=NULL){if(p->data==key)q=p;else{search2(p->lchild,q,key);search2(p->rchild,q,key);}}
}BiTree lowestCommonAncestor(BiTree root, BiTree p, BiTree q) {//最主要的函数,找到最近的共同祖先       if(root==p||root==q||!root)return root; BiTree left=lowestCommonAncestor(root->lchild,  p, q);BiTree right=lowestCommonAncestor(root->rchild,  p, q);      if(!left&&!right)return NULL;else if(left&&!right)return left;else if(right&&!left)return right;return root;
}
void findlowestCommonAncestor(BiTree L,int ch1,int ch2){BiTree P,Q,S;P=(BiTNode*)malloc(sizeof(BiTNode));Q=(BiTNode*)malloc(sizeof(BiTNode));search2(L,P,ch1);//找到值为ch1的结点 cout<<"第一个结点的值为:"<<P->data<<endl;search2(L,Q,ch2);//找到值为ch2的结点 cout<<"第二个结点的值为:"<<Q->data<<endl;S=lowestCommonAncestor(L, P, Q);//找祖先 cout<<"最近共同祖先结点的值为:"<<S->data<<endl;
}
void preordertravels(BiTNode *b)//前序遍历 根左右 
{if(b==NULL)return;else{printf("%4d",b->data);preordertravels(b->lchild);preordertravels(b->rchild);}
}
int zisunnum[MaxSize];int ii=0;//存储子孙结点的值 
int zisunmax=0,zisunmin=10000;
void preordertravels1(BiTNode *b,BiTNode *b1)//该结点的子孙结点 
{if(b==NULL)return;else{//cout<<b->data<<b1->data<<endl;if(b->data!=b1->data){if(zisunmax<b->data) zisunmax=b->data;if(zisunmin>b->data) zisunmin=b->data;zisunnum[ii++]=b->data;		printf("%4d",b->data);	}		preordertravels1(b->lchild,b1);preordertravels1(b->rchild,b1);}
}
void inordertravels(BiTNode *b)//中序遍历 左根右 
{if(b==NULL)return;else{inordertravels(b->lchild);printf("%4d",b->data);inordertravels(b->rchild);}
}
void postordertravels(BiTNode *b)//后序遍历 左右根 
{if(b==NULL)return;else{postordertravels(b->lchild);postordertravels(b->rchild);printf("%4d",b->data);}
}
void print(BiTNode *b,int h)//打印二叉树 
{if(!b)return;print(b->rchild,h+1);//从上到下,右子树,根,左子树for(int i=0;i<h;i++)printf("        ");printf("%d\n",b->data);print(b->lchild,h+1);  
}
void menu(){printf("");printf("--------------请输入想要实现的功能--------------------\n");printf("*****************************************************\n");printf("********1、根据文本创建并显示纯数字二叉链表**********\n");printf("********2、前、中、后序遍历序列表示二叉树************\n");printf("********3、计算该二叉树不同结点个数******************\n");printf("********4、查找指点结点子孙和祖先并求最大数和最小数**\n");printf("********5、判断两个结点是否是直系亲属*****************\n");printf("********6、求出两个结点的共同祖先********************\n");printf("********7、判断其是否是完全二叉树********************\n");printf("********8、求出并显示第k层结点的个数****************\n");printf("***********退出程序请输入77**************************\n");printf("*****************************************************\n");printf("------------------------------------------------------\n");printf(" \n ");
}
void levelorder(BiTree T){
//	int ans=0;BiTree p;//建立一个暂存结点p=(BiTNode*)malloc(sizeof(BiTNode));queue<BiTree>q;//建立队列q.push(T);//头结点放入//printf("%4d",T->data);while(!q.empty()){//队列不为空一直执行//ans++;p=q.front();//取队列的第一个元素printf("%4d",p->data);q.pop();//删除第一个元素
//		cout<<p->lchild->data<<endl;
//		cout<<p->rchild->data<<endl;if(p->lchild!=NULL)//左孩子不为空入队列q.push(p->lchild);if(p->rchild!=NULL)//右孩子不为空入队列{q.push(p->rchild);//注意这里不兼容 !p->rchild//cout<<"YES"<<endl;}}
//	cout<<ans;
}
int bitrenodecount(BiTree T){//计算总结点个数 if(T==NULL)return 0;//如果是空树就返回0//这里并不是T->data==NULL 而是整个结点的值为NULL return bitrenodecount(T->lchild)+bitrenodecount(T->rchild)+1;//相加再加上根的个数
}
int bitree_key_x_number(BiTree T,int key){if(T==NULL)return 0;if(T->data==key)return 1+bitree_key_x_number(T->lchild,key)+bitree_key_x_number(T->rchild,key);return bitree_key_x_number(T->lchild,key)+bitree_key_x_number(T->rchild,key);
}
int bitreleadcount(BiTree T){ //计算叶子结点的个数 int m,n;if(T==NULL)//如果是空树就返回0return 0;if(T->lchild==NULL&&T->rchild==NULL)return 1;m=bitreleadcount(T->lchild);//计算左子树的结点个数n=bitreleadcount(T->rchild);//计算右子树的结点个数return m+n;//相加即为总叶子结点个数
} 
int zuzongmax=0,zuzongmin=1000;
int PrintAncestors(BiTree root, int x)//找打某个结点的祖宗结点 
{if (!root)  return 0;if (root->data == x)    return 1;//如果子树中可以找到匹配值 那么此节点肯定是祖先结点if (PrintAncestors(root->lchild, x) || PrintAncestors(root->rchild, x)){printf("%4d", root->data);if(root->data>zuzongmax)zuzongmax=root->data;if(root->data<zuzongmin)zuzongmin=root->data;return 1;}return 0;
}//打印祖先
int del_same(int date[],int n)//去除数组中相同的元素 
{int i,j,k=0;for(i=0;i<n;++i)//i用来遍历数组{for(j=i+1;j<n && date[i]-date[j];++j);if(!(j-n))//没有重复元素date[k++]=date[i];//可将date[]看作两个数组}return k;//返回删除后的有效长度
}void depth(BiTNode *b,int L,ElemType x,int *t)
{if(b!=NULL){L++;if(b->data==x){*t=L;}depth(b->lchild,L,x,t);depth(b->rchild,L,x,t);}
}
BiTNode *searchTree(BiTNode *b,ElemType x)
{if(b==NULL)return NULL;if(b->data==x)return b;else{if(!searchTree(b->lchild,x))return searchTree(b->rchild,x);}return b;
}
int SearchFather(BiTNode *b,ElemType x)
{if(b!=NULL){if(b->data==x)return 1;//找到父节点则返回1SearchFather(b->lchild,x);SearchFather(b->rchild,x);}else return -1;return 1;
}
//判断两个结点是否在同一条道路上面思想很简单
//首先看这两个结点是否在同一层,如果是在同一层则肯定不是一条路径
//不在同一层则看哪一个结点在的层数比较低、
//按照这个比较低的结点作为父结点,寻找另外挑一个结点
//如果找到了那么就在同一条路劲上面,没找到就不在同一条路劲上面 
int SearchIsWay(BiTNode *b,ElemType x,ElemType y)
{int d1=0,d2=0,flag;BiTNode *node=(BiTNode*)malloc(sizeof(BiTNode));//建立一个节点node用于存储x或者y的节点depth(b,0,x,&d1);depth(b,0,y,&d2);//返回得出两个节点深度大小if(d1==d2)return -1;//如果层数相等,说明是同辈,不在一条路径上,返回-1if(d1>d2){//d2小于d1,d2对应的节点则为父节点node=searchTree(b,y);//找到父节点flag=SearchFather(node,x);//从当前节点开始查找return flag;}if(d2>d1){//d1小于d2,d1对应的节点则为父节点node=searchTree(b,x);//找到父节点flag=SearchFather(node,y);//从当前节点开始查找return flag;}return flag;
}
int IsComBTree(BiTNode *b)
{if(b==NULL)return 1;BiTNode *q[MaxSize],*p;int front=-1,rear=-1;int flag1=1,flag2=1;//flag1为真说明二叉树为完全二叉树//flag2为真说明目前为止所有节点都有左右孩子if(b!=NULL){rear++;q[rear]=b;//根节点进入队列while(front!=rear)//队列不空{front++;p=q[front];if(p->lchild==NULL){flag2=0;if(p->rchild!=NULL)//没有左孩子有右孩子,说明不是完全二叉树flag1=0;}else{if(flag2){rear++;q[rear]=p->lchild;//左孩子进队if(p->rchild==NULL)flag2=0;else{rear++;q[rear]=p->rchild;}}elseflag1=0;}}return flag1;	}
}
int k_nodecount(BiTNode *b,ElemType k)
{int ans=0;//定义一个计数器int left,right;if(b==NULL || k<=0)return 0;if(b){if(k==1)return 1;left=k_nodecount(b->lchild,k-1);right=k_nodecount(b->rchild,k-1);//逐层查找return left+right;}return 0;	
}
//void _InOrderThread(BiTNode *root)//前序线索化 
//	{
//		if(root == NULL)
//			return ;
//		//左子树
//		_InOrderThread(root->lchild);
//		//根
//		if (root->lchild == NULL)
//		{
//			root->ltag=1;
//			root->lchild=_prev;
//		}
//		if (_prev  && _prev->rchild == NULL)
//		{
//			_prev->rtag=1;
//			_prev->rchild=root;
//		}
//		_prev=root;
//		//右子树
//		_InOrderThread(root->rchild);
//	}
int main()
{BiTree T;BiTree P;P=(BiTNode*)malloc(sizeof(BiTNode));openfile1();int aalength=0; int x1,x2,x3,x4,x5;T=CreateBiTree();int choosenum,searchkey,keynum;int allnode=bitrenodecount(T);int leafnode=bitreleadcount(T);int branchnode=allnode-leafnode;do{printf("\n");printf("\n");menu();cout<<"你的选择是:"; cin>>choosenum;switch(choosenum){case 1:printf("\n");cout<<"展示结果如下" <<endl;cout<<"横向展示二叉树" <<endl;print(T,0); break;case 2:printf("\n");cout<<"前序遍历结果为";preordertravels(T);printf("\n");cout<<"中序遍历结果为";inordertravels(T);printf("\n");cout<<"后序遍历结果为";postordertravels(T);printf("\n");cout<<"层次遍历结果为";levelorder(T); break;case 3:printf("\n"); cout<<"总结点数为:"<<allnode<<endl;cout<<"叶子结点数为:"<<leafnode<<endl;			cout<<"分支结点数为:"<<branchnode<<endl;cout<<"请输入要查找结点的值:"<<endl;cin>>searchkey;cout<<"结点数为:"<<bitree_key_x_number(T,searchkey)<<endl;break; case 4:printf("\n"); zisunmax=0;zisunmin=1000;zuzongmax=0;zuzongmin=1000;cout<<"说明:这里是按照前序序列找到的第一个结点计算"<<endl;cout<<"请输入结点的值:";cin>>keynum;P=NULL;search2(T,P,keynum);if(P!=NULL){cout<<"该二叉树存在此结点"<<endl;if(P->lchild==NULL&&P->rchild==NULL){cout<<"但是此结点无子孙结点"<<endl;}else{cout<<"该结点的子孙有";preordertravels1(P,P);printf("\n"); cout<<"子孙中最大值为:"<<zisunmax<<endl;cout<<"子孙中最小值为:"<<zisunmin<<endl;	}if(P->data==T->data){cout<<"该结点无祖宗结点"<<endl;}else{cout<<"该结点的祖宗结点为:";PrintAncestors(T,P->data);printf("\n");  cout<<"子孙中最大值为:"<<zuzongmax<<endl;cout<<"子孙中最小值为:"<<zuzongmin<<endl;}}else{cout<<"该二叉树不存在此结点"<<endl;}break;case 5:{cout<<"请输入要判断的两个结点的值"<<endl; cin>>x1>>x2;int flag1=SearchIsWay(T,x1,x2);//cout<<flag1<<endl;if(flag1==1)cout<<"这两个结点在同一条路径上面"<<endl;else cout<<"这两个结点不在同一条路径上面"<<endl; break;}case 6:{cout<<"请输入要寻找共同祖先的两个结点的值"<<endl; cin>>x3>>x4;findlowestCommonAncestor(T,x3,x4);break;}	case 7:{int flag2=IsComBTree(T);if(flag2==1)cout<<"该二叉树是完全二叉树"<<endl;else cout<<"该二叉树不是完全二叉树"<<endl;break;}case 8:{cout<<"请输入要求个数的第K层的值"<<endl; cin>>x5;cout<<"第"<<x5<<"层的结点个数为:";cout<<k_nodecount(T,x5)<<endl;break;}default:printf("请输入正确的选择!\n");break;}}while(choosenum!=77);return 0;//	findlowestCommonAncestor(T,ch1,ch2);
//    char ch1='F',ch2='E';//输入值为ch1,ch2的两个节点 
//    getchar();
//	cout<<"请输入第一个和第二个结点值"; 
//    cin>>ch1>>ch2;
//    printf("\n");}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 手写springboot starter组件示例

    Spring Boot 特性: 1.能够快速创建基于Spring的应用程序; 2.能供直接使用java main 方法启动内置的Tomcat或者Jetty服务器运行Spring Boot程序; 3.提供约定的starter POM来简化Maven的配置,让Maven的配置变得更简单; 4.根据项目的Maven依赖配置,Spring Boot自动配置Sprin…...

    2024/4/9 0:55:25
  2. C#建立网络通信详解

    C#建立网络通信可以使用Socket类或者TcpListener类,本文详细讲解使用Socket类建立网络通信。 Socket简单介绍Socket接口是TCP/IP网络的应用程序接口(API)。程序员可以用它们来开发TCP/IP网络应用程序。Socket可以看成是网络通信上的一个端点,也就是说,网络通信包括两台主机…...

    2024/5/5 13:29:26
  3. 【Jupyter】打开Jupyter notebook时,网页打不开

    这个只需要在Jupyter Notebook文件中设置一下默认浏览器即可,步骤如下: 1.打开anaconda prompt 2.运行jupyter notebook --generate-config 结果:3.复制上述文件路径,使用记事本打开 4.找到#c.NotebookApp.browser = ‘’ 在下方加入 import webbrowserwebbrowser.register…...

    2024/5/6 13:24:20
  4. Makefile使用总结

    文章目录Makefile用法文件命名规则:用途:工作原理:Makefile变量分类:使用Makefile函数函数写法:使用: Makefile用法 文件命名规则: Makefile 或者 makefile 用途: 用于项目的代码编译管理,一次可以编译多个文件,且再次编译时不会对还没有修改过的文件进行重新编译就节…...

    2024/4/29 22:13:17
  5. 再见requests!Python下一代 http客户端出炉啦!

    小编玩Python大概是3-4年前,那个时间爬虫非常流行,到处都是爬虫的文章和视频,很多人入门Python都是从爬虫开始。几乎所有学Python都知道requests这个库,它大名鼎鼎K神的得意之作,非常好用。但是随时Python异步async的大流行,由于requests本身是阻塞的导致在使用异步的时候…...

    2024/4/24 3:48:48
  6. python文件对象的常用方法——读写定位关闭

    1、读 read #读取的指定字节,默认1024 readline #读取文件的一行内容 readliness #读取文件的所有内容,返回一个列表 f=open(D:/westos.txt) print(f.read()) #最基本的读取方式,可以读取文件的所有内容 print(f.readline()) #一行一行的读取文件的内容 print(f.readlines…...

    2024/4/25 19:06:44
  7. flowable 6.5.0 流程图片乱码解决

    添加一个配置类,完事clean项目,重启,清理浏览器缓存,清理之前生成的流程图片FlowableConfigimport org.flowable.spring.SpringProcessEngineConfiguration; import org.flowable.spring.boot.EngineConfigurationConfigurer; import org.springframework.context.annotati…...

    2024/5/4 11:43:08
  8. python爬虫之JS混淆加密、字体反爬

    1.JS混淆加密 我们之前爬取有道翻译的翻译内容时,我们通过fiddler抓取url地址时,我们发现如果我们直接将相关参数传入,会报错。只是因为,某些参数是变化的。因此,我们需要解读JS文件,取得相关参数的生成算法,利用python生成参数,再传入。 我们继续以有道翻译为例讲解如…...

    2024/5/5 1:00:08
  9. verilog分频电路

    二分频电路: module div2( input clk, input rst_n, output reg clk_o ); always@(posedge clk or negedge rst_n) begin if(rst_n) clk_o <= 1’b0; else clk_o <= ~clk; end endmodule 八分频电路: module div4( input clk, input rst_n, output reg clk_o ); reg [2:…...

    2024/5/5 10:48:46
  10. 数据可视化应用在哪方面

    大数据是新一代信息技术之一,它的应用逐渐改变了传统的营销方式,使企业营销更加先进。在日常生活和工作中,人们也会产生大量的数据信息,许多企业都会通过数据可视化来释放其价值。如今,大数据已无所不在,并且正越来越广泛的被应用到金融、互联网、科学、电商、工业甚至渗…...

    2024/5/6 5:49:08
  11. hadoop压缩方式deflate、gzip、bzip2、lzo、snappy

    关于压缩 压缩会减少磁盘空间、磁盘IO以及网络IO的负担,但会增加CPU负担 在任意的MapReduce阶段都可以启动压缩 使用原则运算密集型的job,少用压缩 IO密集型的Job,多用压缩MR支持的压缩压缩格式 Hadoop集成 算法 扩展名 是否可splic 更换压缩格式是否需要修改代码DEFLATE 直…...

    2024/5/6 11:20:14
  12. 面向对象-三大特征

    最近准备面试,将之前学习的知识进行整理,记录一下学习日志。 这次复习的知识点是面向对象的三大特性,一些注意的点和知识点。 封装 封装是指把一个对象的状态信息(属性),隐藏在一个对象的内部,不允许外部对象直接访问对象内部的信息;但是对象本身可以提供相应的接口来被…...

    2024/5/7 11:28:48
  13. Intellij Idea整合JProfiler插件

    JProfiler的安装 下载脚本之家-JProfiler软件下载安装 下载后解压,双击jprofiler_windows-x64_11_1_3.exe进行安装继续完成安装即可 Idea添加JProfiler插件 下载 JProfiler插件官网下载 安装1.File-> Settings->Plugins 在该页面点击齿轮按钮,选择从本地磁盘安装插件:…...

    2024/5/8 4:39:28
  14. 被创业公司领导穿小鞋,一怒之下我拿了6个offer,最终跳槽到ebay

    本文作者是学习群的一位程序媛,原本在重庆工作,后面又来上海求职,拿了数家公司offer。来上海的第一家公司为明星创业者公司,但无奈公司内部制度不完善,被领导穿小鞋,又再一次求职。这次也拿了几家公司的offer,最终入职ebay大数据组。一路走来不易,要了解更多她,可以看…...

    2024/5/6 18:28:32
  15. pycharm、webstorm 命令行 Smart commands execution Highlighted commands can be interpreted and executed

    解决办法https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008464899-What-s-the-smart-commands-execution1. 在pycharm 界面中 双击 Shift按键 输入 registry2. 把下图中对那个选项的勾去掉3. 然后 close就行了...

    2024/4/26 2:05:44
  16. vsftpd服务与客户机的传输和下载

    文章目录vsftpd实验尝试ftp服务器安装软件包服务器与客户端之间的网络(同一个网段)匿名用户上传下载文件本地用户的上传和下载虚拟用户上传和下载编辑pam认证模块支持虚拟用户的登录虚拟用户指定上传文件的权限 vsftpd实验尝试ftp服务器 安装软件包 服务器与客户端之间的网络…...

    2024/4/27 5:40:37
  17. Python 实现图像快速傅里叶变换和离散余弦变换!

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强、去噪、压缩编码等众多领域。本文手工实现了 二维离散傅里叶变换 和 二维离散余弦变换 算法,并在多个图像样本上进行测试,以探究二者的变换效果。1. 傅里叶变换实验原理对一幅图像进行 离散傅…...

    2024/5/9 9:12:04
  18. 2021 肖秀荣考研政治讲真题(上下册)306M

    2021 肖秀荣考研政治讲真题(上下册)肖秀荣306M 链接:https://pan.baidu.com/s/1MGUolLBkOMVNpxECKV_NwA 提取码:2dtr...

    2024/5/5 14:15:13
  19. 账号密码外泄检测,看看你已经外泄了哪些网站的账号密码

    账号密码外泄检测是通过Firefox Monitor进行的。 Firefox Monitor 是由 Mozilla 提供的一款互联网账号隐私数据泄露查询和通知服务,在上月新增支持中文等 26 种语言。 访问 monitor.firefox.com,输入你的邮箱地址,即可查询出账号在已知数据泄露事件中的泄露信息。 此外,Fir…...

    2024/5/5 5:45:20
  20. Xdebug----Failed loading

    https://blog.csdn.net/zeng133/article/details/83820890...

    2024/4/19 12:40:54

最新文章

  1. ARTS Week 26

    Algorithm 本周的算法题为 35. 搜索插入位置 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1:输入: nums [1,…...

    2024/5/9 14:38:30
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/7 10:36:02
  3. WPS二次开发专题:WPS SDK实现文档打印功能

    作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;QQ:250325397&#xff09; 在办公场景或者家教场景中经常碰到需要对文档进行打印…...

    2024/5/8 13:49:57
  4. 17、Lua 文件 I-O

    Lua 文件 I/O Lua 文件 I/O简单模式完全模式 Lua 文件 I/O LuaI/O 库用于读取和处理文件。分为简单模式&#xff08;和C一样&#xff09;、完全模式。 简单模式&#xff08;simple model&#xff09;拥有一个当前输入文件和一个当前输出文件&#xff0c;并且提供针对这些文件…...

    2024/5/8 0:52:46
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/8 19:32:33
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/9 7:40:42
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/9 2:44:26
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/8 20:33:13
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/9 3:15:57
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/9 5:40:03
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/9 7:40:40
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/8 20:58:56
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/9 1:35:21
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/9 4:12:16
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/9 7:40:35
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/8 18:06:50
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/9 7:40:34
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/9 1:42:21
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/9 5:02:59
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/9 4:31:45
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/8 12:44:41
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/8 9:51:44
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/9 6:36:49
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/9 4:33:29
  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