算法与数据结构
文章平均质量分 83
学习过程中的一些记录
R_Arisa
这个作者很懒,什么都没留下…
展开
-
查找树(BST到2-3树再到红黑树)
简单记录二叉查找树、和红黑树的思路和代码,以及从BST到红黑树过渡的2-3树。原创 2023-04-01 23:38:25 · 332 阅读 · 0 评论 -
一些排序算法
看算法第四版整理的关于排序算法的部分。文章目录选择排序思路评估插入排序思路评估希尔排序思路评估归并排序思路评估快速排序思路评估堆排序二叉堆思路评估总结下面的排序思路都默认做升序排序选择排序思路找到数组中最小的元素,将其和数组首元素交换位置。再找到剩下元素中最小的元素,将其和数组第二个元素交换位置,如此往复。评估选择排序需要大概N2/2N^2 / 2N2/2次比较,和NNN次交换。优点数据移动最少,交换次数和数组的大小是线性关系。缺点无论输入如何排序时间不会减少。插入排序思路维原创 2022-03-30 17:18:38 · 990 阅读 · 0 评论 -
七巧板的四色问题
学习了数据结构图的相关知识后,实验是实现DFS,BFS算法,并且输出七巧板四色问题的所有方案这样一个图的邻接矩阵为首先是类的定义因为七巧板的图相对比较稀疏,所以用无向图的邻接表存储struct Edge { int adjvex; //邻接顶点的序号 Edge* next; //下一个邻接点};enum Color {red, yellow, blue, green, white}...原创 2020-04-23 23:01:43 · 2495 阅读 · 3 评论 -
用二叉树储存表达式
学习了数据结构的第三章二叉树后,实验是用二叉树来储存表达式。首先是类的定义。struct Node{ char ch; //结点存储数字或者运算符 Node* lchild; Node* rchild;};class BinaryTree {private: Node* root;public: Node* getroot(); //获得根节点 BinaryTree(); ...原创 2020-04-10 22:06:10 · 1103 阅读 · 3 评论 -
BF算法和KMP算法
今天数据结构学习了两个字符串匹配算法,BF算法和KMP算法。字符串匹配算法就是在文本串中匹配模式串。BF算法和KMP算法都是一种字符串匹配算法。课本讲的过于笼统,不能理解KMP算法,因此在网上找些资料后整理笔记如下。下面用P表示模式串,用T表示文本串。BF算法BF(brute force)算法即暴力算法。从第一个字符开始匹配,每当匹配失败时,文本串回溯到开始匹配的下一个字符重新匹配。相当...原创 2020-03-25 11:43:11 · 618 阅读 · 0 评论 -
n人过桥问题
学习了数据结构第一章的顺序表后,实验要求是使用顺序表存储数据,实现n人过桥问题,代码如下。首先是顺序表的简单定义const int incresize = 10; //数组满时,每次增加10个空间struct Node { char name[10]; //姓名 int time; //耗时};class SeqList {private: int maxsize = 10; /...原创 2020-03-23 18:38:29 · 383 阅读 · 0 评论