DS|二叉树

题目一:DS二叉树 -- 二叉树构建与遍历

题目描述:

给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘#’表示,例如AB#C##D##),建立该二叉树的二叉链式存储结构,并输出该二叉树的先序遍历、中序遍历和后序遍历结果。

输入要求:

第一行输入一个整数t,表示有t个二叉树

第二行起输入每个二叉树的先序遍历结果,空树用字符‘#’表示,连续输入t行。

输出要求:

输出每个二叉树的先序遍历、中序遍历和后序遍历结果。

输入样例:

2
AB#C##D##
AB##C##

输出样例:

ABCD
BCAD
CBDA
ABC
BAC
BCA

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
using namespace std;

struct BNode {
	char data;
	BNode* lChild;
	BNode* rChild;
};

class BTree {
public:
	BNode* root;
	BTree() :root(NULL) {}
	BNode* creatBTree() {
		BNode* tmp;
		char ch;
		cin >> ch;
		if (ch == '#') tmp = NULL;
		else {
			tmp = new BNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}

	void Preorder(BNode* cur) {
		if (cur != NULL) {
			cout << cur->data;
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}
};

int main() {
	int t;
	cin >> t;
	while (t--) {
		BTree tree;
		tree.root = tree.creatBTree();
		tree.Preorder(tree.root);
		cout << endl;
		tree.Inorder(tree.root);
		cout << endl;
		tree.Postorder(tree.root);
		cout << endl;
	}

}

题目二:DS二叉树 -- 叶子数量

题目描述:

计算一颗二叉树包含的叶子结点数量。

提示:叶子是指它的左右孩子为空。

建树方法采用“先序遍历+空树用0表示”的方法,即给定一颗二叉树的先序遍历的结果为AB0C00D00,其中空节点用字符‘0’表示。则该树的逻辑结构如下图。

输入要求:

第一行输入一个整数t,表示有t个测试数据

第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行

输出要求:

逐行输出每个二叉树的包含的叶子数量

输入样例:

3
AB0C00D00
AB00C00
ABC00D00E00

输出样例:

2
2
3

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
using namespace std;

struct BNode {
	char data;
	BNode* lChild;
	BNode* rChild;
};

class BTree {
public:
	BNode* root;
	BTree() :root(NULL) {}
	BNode* creatBTree() {
		BNode* tmp;
		char ch;
		cin >> ch;
		if (ch == '0') tmp = NULL;
		else {
			tmp = new BNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}

	void Preorder(BNode* cur) {
		if (cur != NULL) {
			cout << cur->data;
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}

	void countLeaves(BNode* cur, int& count) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) count++;
			countLeaves(cur->lChild, count), countLeaves(cur->rChild, count);
		}
	}
};

int main() {
	int t;
	cin >> t;
	while (t--) {
		int count = 0;
		BTree tree;
		tree.root = tree.creatBTree();
		tree.countLeaves(tree.root, count);
		cout << count << endl;
	}
	return 0;
}

题目三:DS二叉树 -- 父子结点

题目描述:

给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构。

编写程序输出该树的所有叶子结点和它们的父亲结点

输入要求:

第一行输入一个整数t,表示有t个二叉树

第二行起,按照题目表示的输入方法,输入每个二叉树的先序遍历,连续输入t行

输出要求:

第一行按先序遍历,输出第1个示例的叶子节点

第二行输出第1个示例中与叶子相对应的父亲节点

以此类推输出其它示例的结果

输入样例:

3
AB0C00D00
AB00C00
ABCD0000EF000

输出样例:

C D 
B A 
B C 
A A 
D F 
C E

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
using namespace std;

struct BNode {
	char data;
	BNode* lChild;
	BNode* rChild;
};

class BTree {
public:
	BNode* root;
	BTree() :root(NULL) {}
	BNode* creatBTree() {
		BNode* tmp;
		char ch;
		cin >> ch;
		if (ch == '0') tmp = NULL;
		else {
			tmp = new BNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}

	void Preorder(BNode* cur) {
		if (cur != NULL) {
			cout << cur->data;
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}

	void countLeaves(BNode* cur, int& count) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) count++;
			countLeaves(cur->lChild, count), countLeaves(cur->rChild, count);
		}
	}

	void printLeaves(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) cout << cur->data << " ";
			printLeaves(cur->lChild), printLeaves(cur->rChild);
		}
	}

	void printLeavesFather(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild != NULL && cur->lChild->lChild == NULL && cur->lChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->lChild);
			if (cur->rChild != NULL && cur->rChild->lChild == NULL && cur->rChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->rChild);
		}
	}
};

int main() {
	int t;
	cin >> t;
	while (t--) {
		BTree tree;
		tree.root = tree.creatBTree();
		tree.printLeaves(tree.root);
		cout << endl;
		tree.printLeavesFather(tree.root);
		cout << endl;
	}
	return 0;
}

题目四:DS二叉树 -- 层次遍历

题目描述:

层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。

建树方法采用“先序遍历+空树用0表示”的方法

建议使用队列结构实现,算法框架如下:

定义一个空白队列和一个树结点指针p

设T是指向根结点的指针变量,若二叉树为空,则返回;否则,令p=T,p入队,执行以下循环:

(1)队首元素出队到p;

(2)访问p所指向的结点; 

(3)p所指向的结点的左、右子结点依次入队。

(4)跳转步骤1循环,直到队列空为止

例如把上述算法中的访问操作定义为输出,算法结果就是把二叉树按层次遍历输出

输入要求:

第一行输入一个整数t,表示有t个测试数据

第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行

输出要求:

逐行输出每个二叉树的层次遍历结果

输入样例:

2
AB0C00D00
ABCD00E000FG00H0I00

输出样例:

ABDC
ABFCGHDEI

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;

struct BNode {
	char data;
	BNode* lChild;
	BNode* rChild;
};

class BTree {
public:
	BNode* root;
	BTree() :root(NULL) {}
	BNode* creatBTree() {
		BNode* tmp;
		char ch;
		cin >> ch;
		if (ch == '0') tmp = NULL;
		else {
			tmp = new BNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}

	void Preorder(BNode* cur) {
		if (cur != NULL) {
			cout << cur->data;
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}

	void countLeaves(BNode* cur, int& count) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) count++;
			countLeaves(cur->lChild, count), countLeaves(cur->rChild, count);
		}
	}

	void printLeaves(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) cout << cur->data << " ";
			printLeaves(cur->lChild), printLeaves(cur->rChild);
		}
	}

	void printLeavesFather(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild != NULL && cur->lChild->lChild == NULL && cur->lChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->lChild);
			if (cur->rChild != NULL && cur->rChild->lChild == NULL && cur->rChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->rChild);
		}
	}

	void levelDFSTree(BNode* cur) {
		queue<BNode*> Q;
		BNode* p = cur;
		if (p) Q.push(p);
		while (!Q.empty()) {
			p = Q.front();
			Q.pop();
			if (p) {
				cout << p->data;
				Q.push(p->lChild), Q.push(p->rChild);
			}
		}
		cout << endl;
	}
};

int main() {
	int t;
	cin >> t;
	while (t--) {
		BTree tree;
		tree.root = tree.creatBTree();
		tree.levelDFSTree(tree.root);
	}
	return 0;
}

题目五:DS二叉树 -- 二叉树高度

题目描述:

给出一棵二叉树,求它的高度。

注意,二叉树的层数是从1开始

输出要求:

第一行输入一个整数t,表示有t个二叉树

第二行起输入每个二叉树的先序遍历结果,空树用字符‘0’表示,连续输入t行

输出要求:

每行输出一个二叉树的高度

输入样例:

1
AB0C00D00

输出样例:

3

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;

struct BNode {
	char data;
	BNode* lChild;
	BNode* rChild;
};

class BTree {
public:
	BNode* root;
	BTree() :root(NULL) {}
	BNode* creatBTree() {
		BNode* tmp;
		char ch;
		cin >> ch;
		if (ch == '0') tmp = NULL;
		else {
			tmp = new BNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}

	void Preorder(BNode* cur) {
		if (cur != NULL) {
			cout << cur->data;
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}

	void countLeaves(BNode* cur, int& count) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) count++;
			countLeaves(cur->lChild, count), countLeaves(cur->rChild, count);
		}
	}

	void printLeaves(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) cout << cur->data << " ";
			printLeaves(cur->lChild), printLeaves(cur->rChild);
		}
	}

	void printLeavesFather(BNode* cur) {
		if (cur != NULL) {
			if (cur->lChild != NULL && cur->lChild->lChild == NULL && cur->lChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->lChild);
			if (cur->rChild != NULL && cur->rChild->lChild == NULL && cur->rChild->rChild == NULL) cout << cur->data << " ";
			printLeavesFather(cur->rChild);
		}
	}

	void levelDFSTree(BNode* cur) {
		queue<BNode*> Q;
		BNode* p = cur;
		if (p) Q.push(p);
		while (!Q.empty()) {
			p = Q.front();
			Q.pop();
			if (p) {
				cout << p->data;
				Q.push(p->lChild), Q.push(p->rChild);
			}
		}
		cout << endl;
	}

	int TreeHeight(BNode* cur) {
		if (cur == NULL) return 0;
		else return max(TreeHeight(cur->lChild), TreeHeight(cur->rChild)) + 1;
	}
};

int main() {
	int t;
	cin >> t;
	while (t--) {
		BTree tree;
		tree.root = tree.creatBTree();
		cout << tree.TreeHeight(tree.root) << endl;
	}
	return 0;
}

题目六:DS二叉树 -- 二叉树之数组存储

题目描述:

二叉树可以采用数组的方法进行存储,把数组中的数据依次自上而下,自左至右存储到二叉树结点中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点就在数组中用0来表示。如下图所示

从上图可以看出,右边的是一颗普通的二叉树,当它与左边的完全二叉树对比,发现它比完全二叉树少了第5号结点,所以在数组中用0表示,同样它还少了完全二叉树中的第10、11号结点,所以在数组中也用0表示。

结点存储的数据均为非负整数

输入要求:

第一行输入一个整数t,表示有t个二叉树

第二行起,每行输入一个数组,先输入数组长度,再输入数组内数据,每个数据之间用空格隔开,输入的数据都是非负整数

连续输入t行

输出要求:

每行输出一个示例的先序遍历结果,每个结点之间用空格隔开

输入样例:

3
3 1 2 3
5 1 2 3 0 4
13 1 2 3 4 0 5 6 7 8 0 0 9 10

输出样例:

1 2 3 
1 2 4 3 
1 2 4 7 8 3 5 9 10 6 

代码示例:

#include <iostream>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;

class BTNode {
public:
	int data;
	BTNode* lChild;
	BTNode* rChild;
	BTNode() :lChild(NULL), rChild(NULL) {}
};

class BTree {
public:
	BTNode* root;
	BTree() :root(NULL) {}
	~BTree() { DeleteTree(); }
	BTNode* creatBTree() {
		BTNode* tmp;
		int ch;
		cin >> ch;
		if (ch == 0) tmp = NULL;
		else {
			tmp = new BTNode;
			tmp->data = ch;
			tmp->lChild = creatBTree();
			tmp->rChild = creatBTree();
		}
		return tmp;
	}
	BTNode* creatBTree(queue<int> qint) {
		BTNode* tmp = new BTNode;
		BTNode* empty = new BTNode;
		BTNode bridge;
		queue<BTNode*> qnode;
		if (!qint.front()) return NULL;
		tmp->data = qint.front();
		qint.pop();
		qnode.push(tmp);
		while (!qint.empty()) {
			if (qint.front() == 0) {
				qnode.front()->lChild = NULL;
				qnode.push(empty);
			}
			else {
				qnode.front()->lChild = new BTNode;
				qnode.front()->lChild->data = qint.front();
				qnode.push(qnode.front()->lChild);
			}
			qint.pop();

			if (qint.front() == 0) {
				qnode.front()->rChild = NULL;
				qnode.push(empty);
			}
			else {
				qnode.front()->rChild = new BTNode;
				qnode.front()->rChild->data = qint.front();
				qnode.push(qnode.front()->rChild);
			}
			qint.pop();

			qnode.pop();
		}

		return tmp;
	}
	void Destory(BTNode* cur) {
		if (cur != NULL) {
			Destory(cur->lChild), Destory(cur->rChild);
			delete cur;
		}
	}
	void DeleteTree() { Destory(root); root = NULL; }

	void Preorder(BTNode* cur) {
		if (cur != NULL) {
			cout << cur->data << " ";
			Preorder(cur->lChild), Preorder(cur->rChild);
		}
	}

	void Inorder(BTNode* cur) {
		if (cur != NULL) {
			Inorder(cur->lChild);
			cout << cur->data;
			Inorder(cur->rChild);
		}
	}

	void Postorder(BTNode* cur) {
		if (cur != NULL) {
			Postorder(cur->lChild), Postorder(cur->rChild);
			cout << cur->data;
		}
	}

	void Countleaves(BTNode* cur, int& count) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) count++;
			Countleaves(cur->lChild, count), Countleaves(cur->rChild, count);
		}
	}

	void Printleaves(BTNode* cur) {
		if (cur != NULL) {
			if (cur->lChild == NULL && cur->rChild == NULL) cout << cur->data << " ";
			Printleaves(cur->lChild), Printleaves(cur->rChild);
		}
	}

	void PrintleavesFather(BTNode* cur) {
		if (cur != NULL) {
			if (cur->lChild != NULL && cur->lChild->lChild == NULL && cur->lChild->rChild == NULL) cout << cur->data << " ";
			PrintleavesFather(cur->lChild), PrintleavesFather(cur->rChild);
			if (cur->rChild != NULL && cur->rChild->lChild == NULL && cur->rChild->rChild == NULL) cout << cur->data << " ";
		}
	}

	void levelDFSTree(BTNode* cur) {
		queue<BTNode*> Q;
		BTNode* p = cur;
		if (p) Q.push(p);
		while (!Q.empty()) {
			p = Q.front();
			Q.pop();
			if (p) {
				cout << p->data;
				Q.push(p->lChild), Q.push(p->rChild);
			}
		}
		cout << endl;
	}

	int TreeHeight(BTNode* cur) {
		if (cur == NULL) return 0;
		else return max(TreeHeight(cur->lChild), TreeHeight(cur->rChild)) + 1;
	}
};


int main() {
	int t;
	cin >> t;
	while (t--) {
		queue<int> que;
		int n;
		cin >> n;
		while (n--) {
			int number;
			cin >> number;
			que.push(number);
		}
		BTree tree;
		tree.root = tree.creatBTree(que);
		tree.Preorder(tree.root);
		cout << endl;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/295983.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【面试高频算法解析】算法练习5 深度优先搜索

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

【代码随想录】刷题笔记Day46

前言 刚考完自辩&#xff0c;Chat回答举例什么的真方便。早上做组会PPT去了&#xff0c;火速来刷题&#xff01; 139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 单词是物品&#xff0c;字符串s是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把…

1.3进制,码(8421),化简规则、卡诺图化简、性质,触发器(转换与设计、应用),电路图,电路设计

十进制与原码、反码、补码之间的转换 正数的原码、反码、补码相同&#xff0c;符号位为0 负数的原码为、符号位1&#xff0c;二进制数 反码&#xff0c;符号位不变、其它取反&#xff0c; 补码为&#xff1a;反码最低有效位1 运算 卡诺图化简 奇偶校验码 检查1的个数&…

使用CentOS 7.6搭建HTTP隧道代理服务器

在现代网络环境中&#xff0c;HTTP隧道代理服务器因其灵活性和安全性而受到广泛关注。CentOS 7.6&#xff0c;作为一个稳定且功能强大的Linux发行版&#xff0c;为搭建此类服务器提供了坚实的基础。 首先&#xff0c;我们需要明确HTTP隧道代理的基本原理。HTTP隧道代理允许客户…

字节填充与0比特填充以及数据链路的基本问题

目录 字节填充&#xff1a; 比特填充&#xff1a; 数据链路有三个基本问题 1.封装成帧 2.透明传输 3.差错检测 首先介绍一下PPP的帧结构&#xff1a; 首部的第一个字段和尾部的第二个字段都是标志字段F(Flag)&#xff0c;规定为0x7E (符号“0x”表示它后面的字符是用十六…

python练习3【题解///考点列出///错题改正】

一、单选题 1.【单选题】 ——可迭代对象 下列哪个选项是可迭代对象&#xff08; D&#xff09;&#xff1f; A.(1,2,3,4,5) B.[2,3,4,5,6] C.{a:3,b:5} D.以上全部 知识点补充——【可迭代对象】 可迭代对象&#xff08;iterable&#xff09;是指可以通过迭代&#xff…

发票信息提取v1.2.0

程序介绍 “发票信息提取”是一款用于提取电子发票的PDF、XML文件中的开票信息到excel表格的软件&#xff0c;无需联网及进行复杂配置&#xff0c;打开即用。目前支持增值税电子发票&#xff08;非数电票&#xff09;原始PDF文件&#xff0c;及数电票的XML文件。 更新内容 增加…

【I2C】i2c-tools工具使用,以及开发调试

i2c调试 eeprom 手动创建eeprom设备调试&#xff0c;例如0x50 是FRU的地址&#xff0c;i2c-3是bus 创建设备 echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-4/new_device如果设备正确&#xff0c;将成功被创建&#xff0c;并且生成/sys/bus/i2c/devices/4-0050/eeprom&am…

智能语音机器人NXCallbot

受出海公司业务全球化的影响&#xff0c;智能客服逐渐从便捷应用变为市场刚需。新基建七大领域中&#xff0c;人工智能及场景应用的基础建设是最核心的领域&#xff0c;而智能客服作为商业化实际应用的核心场景之一&#xff0c;能提升企业运营效率&#xff0c;为行业客户赋能。…

智能分析网关V4在工业园区周界防范场景中的应用

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

“编程界的隐形斗篷:C语言作用域与生命周期的喜怒哀乐”

少年们&#xff0c;大家好。我是博主那一脸阳光。 前言&#xff1a;理解C语言作用域与生命周期&#xff0c;犹如掌握了变量在程序中的“活动地带”与“存活时刻”&#xff0c;有助于避免数据冲突、优化内存使用、提升代码质量和模块化程度&#xff0c;增强程序稳定性和安全性…

windows下使用PowerShell切割大数据文件

测试文件为24.4G文件 打开PowerShell窗口&#xff0c;使用以下命令 $filePath 为指向文件路径 $outputPath 输出到指定文件夹 $chunkSize 单个文件控制切割大小 将命令修改完后&#xff0c;直接粘贴到powershell窗口&#xff0c;点击回车即可进行切割 $filePath "D:\…

软件测试|SQL TOP提取顶部数据该如何使用?

简介 在SQL查询语言中&#xff0c;TOP子句是一个非常有用的功能&#xff0c;它允许我们从数据库中提取指定数量的顶部数据记录。本文将深入探讨SQL TOP子句的使用方法&#xff0c;以及在实际应用中的一些常见场景和技巧。 SQL TOP SQL是一种用于管理和操作关系型数据库的强大…

AJAX(三)跨域

一、同源策略 同源策略最早由Netscape公司提出&#xff0c;是浏览器的一种安全策略。 同源&#xff1a;协议、域名、端口号必须完全相同。&#xff08;同一个来源&#xff09; 违背同源策略就是跨域。 AJAX发送请求时是默认要遵循同源策略的&#xff0c;不是同源策略&#…

YOLOv8改进 | Neck篇 | 利用ASF-YOLO改进特征融合层(适用于分割和目标检测)

一、本文介绍 本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,…

C 程序员进阶之路常备口袋的 10 个宝藏

虽然 Java 和 Python 等更现代的语言公认容易学习&#xff0c;但 C 基本上都是大学计算机类相关课程的入门语言。为什么&#xff1f;这。。。 C 语言的重要性&#xff0c;有很多理由可以说服你。最重要的还是因为学习 C 是以后学习更高级语言的良好基础&#xff0c;绝大部分现…

mysql5.7安装-windows安装版本

下载地址 官网地址:https://www.mysql.com/官网下载地址:https://dev.mysql.com/downloads/mysql/阿里云镜像站下载:https://mirrors.aliyun.com/mysql/华为云镜像站地址:https://mirrors.huaweicloud.com/home华为云镜像站下载:https://mirrors.huaweicloud.com/mysql/Downlo…

如何实现安卓端与苹果端互通的多种方案

随着移动设备用户的爆炸性增长&#xff0c;跨平台应用开发变得尤为重要。在Android与iOS之间实现互通对于推广应用、增加用户覆盖面和提升用户体验有至关重要的作用。以下是实现Android与iOS互通的多种方案&#xff0c;以及每种方案的实现方法、细节注意点、适合团队的规模和建…

大数据Doris(五十):数据导出的其他导出案例参考

文章目录 数据导出的其他导出案例参考 一、​​​​​

macosx编译qgroundcontrol源码(Qt6.7)

1.克隆源码: clone --recursive http://github.com/mavlink/qgroundcontrol.git 克隆成功 3.编译 编译环境要求: 编译方法: 使用QtCreator编译 使用命令行编译 打开QGroundControl.pro并编译IOS版本 旧版本使用Qt 5.15.2 run qmake 新版本使用Qt 6.6或者更高 IOS工程输出要…