数据结构、算法
youngchanlll
这个作者很懒,什么都没留下…
展开
-
对红黑树的认识总结
版权声明:本文为CSDN博主「张彦峰ZYF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/xiaofeng10330111/article/details/106080394 目录 一、对红黑树的基本理解 (一)对红黑树的基本定义理解 (二)对红黑树是“近似平衡”的理解 1.将红色节点从红黑树中去掉,分析包含黑色节点转载 2021-05-24 12:23:16 · 55 阅读 · 0 评论 -
数据结构及算法——归并排序
一、归并排序的思想其原理是假设初始序列含有n个记录,则可以将n个记录看成是n个有序的子序列,每个子序列长度为1,然后两两进行归并,得到[n/2](即不小于n/2的最小整数)个长度为2或者1(当序列的元素为奇数个时最后可能存在一个单独的子序列)的有序子序列;再进行两两归并,如此重复,直到得到一个长度为n的有序序列为止,此排序方法称作为2路归并排序。二、归并排序代码(来源于大话数据结构)#include <iostream>#include <initializer_list>原创 2021-05-23 22:20:01 · 218 阅读 · 0 评论 -
数据结构及算法——快速排序
一、关于快速排序的思想快速排序是一种分治的思想,它通过一趟排序将待排序记录分割成独立的两个部分,其中的一部分关键字均比另一部分的关键字小,再分别对这两部分记录继续进行排序,以便达到整个序列有序的目的。二、快速排序的代码(来源于大话数据结构)#include <iostream>#include <initializer_list>#define MAXSIZE 10000#define TRUE 1#define FALSE 0#define MAX_LENGTH_I原创 2021-05-22 22:36:49 · 210 阅读 · 0 评论 -
关于二叉树深度递归图助理解
递归三要素:1、函数的功能;2、递归结束条件;3、函数等价关系式。这些相关的文章上已经讲了很多了,这里不做过多的文字描述,仅仅以最简单的左斜二叉树的深度递归求解作为例子,以图示的方式表示辅助理解递归在做什么。图中每个方块代表每次递归函数调用,红色部分代表未执行部分,即因为函数已经在该未执行部分前面退出,回到调用该函数的上级函数中,方块上的数字表示函数的返回值。...原创 2021-05-10 16:05:37 · 199 阅读 · 0 评论 -
关于KMP改进算法中nextval数组的求解
本篇博文在学习KMP改进算法后根据自己理解所做的记录。下面根据自己的理解写出了nextval数组求解及KMP改进算法的代码:#include <iostream>#include <string>using namespace std;//通过计算返回子串的next数组void get_nextval(const string &s, int *nextval){ nextval[0]=-1; nextval[1]=0; //原创 2021-04-28 11:32:27 · 258 阅读 · 0 评论