- 博客(24)
- 收藏
- 关注
原创 P5731 【深基5.习6】蛇形方阵
给出一个不大于9的正整数n,输出n×n的蛇形方阵。从左上角填上1开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用3个字符,前面使用空格补齐。
2025-03-22 17:20:06
851
原创 第九章 红黑树和set与map 平衡二叉树部分
上一部分,我们介绍了二叉搜索树,同时我们提到了,在一些特殊情况下(比如插入的元素是有序的),二叉搜索树会退化成链表,导致查询的时间复杂度退化成 O(n)。为了解决这个问题,我们可以使用平衡二叉树。
2025-03-16 15:03:12
944
原创 堆和 priority_queue
堆(heap)是一颗有着特殊性质的完全二叉树,可以用来实现优先级队列(priority queue)。如果根结点大于等于子树结点的权值,则称为大根堆;反之称为小根堆。
2025-03-12 19:36:26
1005
原创 洛谷 P3884 [JLOI2009] 二叉树问题
4483其中宽度表示二叉树上同一层最多的结点个数,节点uv之间的距离表示从u到v的最短有向路径上向根节点的边数的两倍加上向叶节点的边数。给定一颗以 1 号结点为根的二叉树,请求出其深度、宽度和两个指定节点xy之间的距离。
2025-03-10 22:11:26
1346
原创 第七章 二叉树
二叉树是一种特殊的树型结构,它的特点是每个结点最多只有两颗子树(即二叉树中不存在度大于2的结点),且二叉树的子树有左右之分,其次序不能任意颠倒。⼆叉的意思是这种树的每⼀个结点最多只有两个孩⼦结点。注意这⾥是多有两个孩⼦,也可能没有孩⼦或者是只有⼀个孩⼦。⼆叉树结点的两个孩⼦,⼀个被称为左孩⼦,⼀个被称为右孩⼦。其顺序是固定的,就像⼈的左⼿和右⼿,不能颠倒混淆。
2025-03-08 20:21:32
1032
原创 第六章 树
vector数组用到了容器vector,较链式前向星更为耗时。通常情况下,两种情况都可以使用,不会因此超时。做题过程中,任选其一即可。
2025-03-07 23:38:17
1098
原创 第五章 队列和queue
本章与前几章十分相似,用法也较为类似,主要掌握其用法即可。队列同样是一种访问受限的线性表,他只允许在表的一端进行插入操作,同时在另一端进行删除操作。
2025-03-06 18:13:50
618
原创 洛谷 P1241 括号序列
SSSABAB()[](())([])()[]()[()])(())([()现在,给定一个仅由构成的字符串s配对结束后,对于s中全部未配对的括号,请你在其旁边添加一个字符,使得该括号和新加的括号匹配。
2025-03-01 18:49:39
1333
原创 第三章 链表和list
根据前两部分的学习和总结,我们注意到,链表是通过指针来维护数据元素之间的逻辑关系的,因此在本章利用数组模拟单链表时,数组中的下标仅代表其物理地址,而不代表其逻辑地址,务必进行区分。这里我们再次对两种链表进行模拟总结
2025-02-23 00:32:54
709
原创 第三章 链表和list 双向链表部分
int h;/* 头指针 */int e[N];/* 数据域 */int ne[N];/* 指针域 */int id;/* 分配地址给新结点 *//* 新增:前驱指针 */int mp[N];/* 标记各值位置的数组 */
2025-02-23 00:12:45
320
原创 第三章 链表和list 单链表部分
本章涉及链表和list的基本操作,因为个人感觉理解较为复杂,在此分为多部分进行总结,本篇涉及其中的单链表的创建、插入、删除、查找等。
2025-02-21 17:06:51
994
原创 第一章 数据结构、算法与STL
定义:在计算机科学中,数据结构是⼀种数据组织、管理和存储的格式。它是相互之间存在⼀种或多种特定关系的数据元素的集合。翻译:数据结构就是数据的组织形式,研究的是把数据按照何种形式存储在计算机中。算法(Algorithm)是指对于解题⽅案的准确⽽完整的描述,是⼀系列解决问题的清晰指令,算法代表着⽤系统的⽅法描述解决问题的策略机制。也就是说,能够对⼀定规范的输⼊,在有限时间内获得所要求的输出。算法是可以没有输⼊的,⼀定要有输出的。没有输出的算法是没有意义的。
2025-02-16 01:12:21
1041
原创 第 3 章 条件判断与循环
例如:以上代码没有输出,因为else总是跟它上面的最近的if匹配,因此else匹配的是第二个if,以下排版更易理解:或者可以进行如下改写使得else匹配第一个if:多采用程序块可以让代码更加清晰明了计算机无法精确表示浮点数,因此不能直接用来比较两个浮点数是否相等,例如:需要允许一定误差,改写如下:5. continue语句不会跳过for循环中的表达式3即变量调整表达式。while循环中使用continue可能会跳过变量调整表达式,导致程序陷入死循环,例如:而for循环中使用continue不会
2025-01-25 22:52:41
313
原创 Markdown学习笔记
KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车或者利用空行进行换行。Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的。] 或者 ```math 中的数学表达式将会在块内显示。普通括号()里面的图片地址及图片标题是图片的网址及图片的标题。
2025-01-16 20:33:21
1069
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人