【算法竞赛】树模型
【算法竞赛】树模型
Mr.zwX
2019年进入电子科技大学接触计算机(方向涉及:机器学习/深度学习(CV、NLP、GNN)、时空数据挖掘、一点点开发(部分后端/前端)),2022年在电子科技大学实验室科研,2023年在复旦大学NLP组实习,2023年9月至今,在北京大学人工智能研究院科研(模型加速/压缩、隐私计算)...保持努力,anyway,这个平台是我记录一些乱七八糟计算机笔记的地方,供(记性不好的)自己复习,同时也分享给大家
如需联系:请发邮件至wenxuan225@qq.com
展开
-
【数据结构】树与二叉树
1 易错概念树中的度不同于图中的度,树中的度指出度(子树数目),而图中的度指总度数(出+入)叶结点是指度数为0的结点,也称为终端结点树的度指树中所有结点度的最大值2 二叉树的数学性质二叉树的第i层上最多有2n−12^{n-1}2n−1个结点深度为k的二叉树最多有2k−12^{k}-12k−1个结点对任意一棵二叉树T,叶结点数为n0n_0n0,度数为2的结点数为n1n_1n1,则n0=n2+1.n_0=n_2+1.n0=n2+1.证明:总结点=n0+n1+n2.总边数=n1+2n原创 2020-08-01 16:38:58 · 641 阅读 · 0 评论 -
通过遍历结果推二叉树的构造
要点前序遍历的第一个元素可以确定根结点后续遍历的最后一个元素可以确定根结点确定了根节点后,通过中序遍历对左右子树进行划分重复上述过程,找根结点并划分左右子树,递归处理,最终得到一棵完整的二叉树说明前序+中序=唯一二叉树后续+中序=唯一二叉树前序+后续不能确定一棵二叉树前中与后中其实构造过程相当类似,推过一次就能理解到实例1 前+中前序遍历的顺序是: CABGHEDF...原创 2020-05-05 23:58:55 · 216 阅读 · 0 评论 -
【最小生成树】Kruskal和Prim算法
概括简单来说,最小生成树就是在连通的赋权图中找出具有最小权的生成树。树不可以形成回路生成树种的每一个结点和线段都是从图中取出的最小生成树对应的权值最小Kruskal算法从赋权图中找出权重小的边,放进右图中的树中,检查不能出现回路#include<bits/stdc++.h>using namespace std;#define N 100//图的结构体str...原创 2020-04-29 23:07:49 · 245 阅读 · 0 评论 -
【数据结构习题】树
关于一些数据结构中树的小练习与知识点,不定期更新总结内容1、前中后缀表达式中:A-B/C+D*E加完整括号:((A-(B/C))+(D*E))移动符号并去掉括号前:+(-(A/(B C))*(D E)) ------> +-A/BC*DE后:((A (B C)/)-(D E)*)+ ------> ABC/-DE*+2、一棵树的度是可以小于2的3、100个结点的完...原创 2020-04-26 11:38:04 · 2799 阅读 · 0 评论 -
【堆排序思想】找出100万个数据中的前100大数据
生成随机数据存入txt文件中首先在c++代码的文件下新建一个txt文件,命名为test.txt,然后在generate_random.cpp中写如下代码:#include<bits/stdc++.h>const long long N = 1000001;using namespace std;long long x[N];int main(){ fstream fso...原创 2020-04-16 20:20:34 · 2033 阅读 · 0 评论 -
【二叉树】堆排序算法的实现
思路初始化树将无序数组有序化,通常是升序用大顶堆,降序用小顶堆(反着想将新的数放在末梢,如果比父结点大,则交换上去构造目标顶堆将堆顶元素和末尾元素交换,那么大数就到了末尾,小的回到了堆顶,再与左右二子对比,与比它大的数继续交换过来,那么大数又回到堆顶,循环上述操作,大数就逐渐放在了末尾处。#include<bits/stdc++.h>using namespace...原创 2020-03-26 11:56:39 · 233 阅读 · 0 评论