- 博客(17)
- 收藏
- 关注
原创 数据结构学习笔记5_树和并查集(C++实现)
空树:节点数为0。非空树:根节点(有且仅有一个)、分支节点(有后继节点)、叶子节点(没有后继节点)组成。除根节点,任何节点有且仅有一个前驱,任何节点可以有多个后继。子树之间互不相交。兄弟节点:同父同层。堂兄弟节点:不同父同层。路径长度:两节点之间的边数(路径只能从上往下)。深度从上往下数,高度从下往上数。节点的度:子节点数量。树的度:各节点的度的最大值。m叉树:每个结点最多有m个子节点,可以允许小于m。树的结点树 = 总度数 + 1有序树:各子树的左右顺序确定,不能调换。
2024-11-12 16:11:49
1111
原创 数据结构学习笔记6_排序(C++实现)
大根堆排序:每次建立好大根堆后,根节点一定是最大的元素,将第一个元素和最后一个元素互换,则前n-1个又要重新建立大根堆,建立后的第一个元素又是最大的,则与倒数第二个互换后继续重新建立大根堆,重复操作(2. 一次对比后,就构建好了败者树,之后取出冠军,增加新元素,基于已经构建好的败者树,在自己的组别上一路向上挑战,挑战成功则代替其位置,挑战失败则留在原位置。选一个基准,比基准小的放左边,比基准大的放右边,放好后左和右边再分别选基准,思路一样,不断划分,递归实现。(非严格的k叉归并树,存在度为2的节点)↓。
2024-11-12 16:11:24
859
原创 数据结构学习笔记4_字符串和KMP算法(C++实现)
next数组求法:当第j个字符匹配失败时,看j之前的字符有多少位是重复了模式串的头部字符。next数组优化,针对模式串中存在相同的字符。
2024-11-12 16:10:55
466
原创 045:魔兽世界三(开战) + 自己思路及代码
北大mooc,程序设计与算法(三)描述魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市,城市从西向东依次编号为1,2,3 … N ( N
2022-07-04 14:38:50
1426
3
原创 C++学习——系列五:继承和多态
C++学习——系列五1. 继承(1). 基本概念(2). 继承和复合(3). public 派生方式的赋值兼容规则2. 多态(1). 虚函数(2).
2022-03-09 16:36:25
98
原创 C++学习——系列四:运算符重载
C++学习——系列四运算符重载的基本概念赋值运算符重载流插入和流提取运算符重载类型转换运算符重载自增自减运算符重载
2022-02-09 10:23:28
108
原创 013:魔兽世界之一:备战
北大mooc,程序设计与算法(三)题目描述魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市。红司令部,City 1,City 2,……,City n,蓝司令部两军的司令部都会制造武士。武士一共有 dragon 、ninja、iceman、lion、wolf 五种。每种武士都有编号、生命值、攻击力这三种属性。双方的武士编号都是从1开始计算。红方制造出来的第n个武士,编号就是n。同样,蓝方制造出来的第n个武士,编号也是n。武士在刚降生的时候有一个生命值。在
2022-02-08 22:20:14
547
原创 018:别叫,这个大整数已经很简化了
程序设计与算法(三)题目018:别叫,这个大整数已经很简化了!程序填空,输出指定结果#include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> using namespace std;const int MAX = 110; class CHugeInt {// 在此处补充你的代码};int main() { char s[210];
2022-02-08 21:49:06
702
原创 C++学习——系列二:类的学习1
C++学习——系列二1.类和对象的基本概念(1)基本概念(2)类成员可访问范围2.构造函数(1)构造函数的使用(2)复制构造函数(3)类型转换构造函数3.析构函数
2022-02-05 20:04:28
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅