
数据结构
文章平均质量分 88
Cai-Crayon
https://github.com/ZhuoZhuoCrayon
展开
-
数据结构-栈stack(链栈,顺序栈)
一、栈的概念1)介绍栈STL时已经有写,大家可以翻翻,传送门:点击打开链接2)没有提过栈底,栈底:在顺序栈中指的是 -1下标,大家自己往下看嘻嘻。二、顺序栈1.顺序栈图解2.特点 1)空间有限,因为是一次性分配数组空间,有栈满情况。 2)出栈入栈是下标top变化,实际出栈只是下标后退一位,实际数值还在数组中,浪费内存。3.扔一段代码/*顺序栈*/#include<iostrea...原创 2018-04-15 10:16:20 · 968 阅读 · 0 评论 -
数据结构-堆(Heap)
数据结构-堆(Heap) 我认识的堆: 1.建立在完全二叉树的基础上2.排序算法的一种,也是稳定效率最高的一种3.可用于实现STL中的优先队列(priority_queue) 优先队列:一种特殊的队列,队列中元素出栈的顺序是按照元素的优先权大小,而不是元素入队的先后顺序4.两类: a.最大堆: ①根的值大于左右子树的值 ...原创 2018-08-18 21:50:05 · 22488 阅读 · 3 评论 -
数据结构-二叉树基础知识总结
数据结构-二叉树基础知识总结 ①二叉树之递归实现篇:[递归实现]-二叉树 包括如下递归操作:a.构造删除b.先序遍历,中序遍历,后序遍历c.层次遍历 ②二叉树之非递归实现篇:[非递归]-二叉树 比起递归实现难啃,但啃完对二叉树肯定有更深刻的理解,包括如下非递归操作:a.构造删除b.先序遍历,中序遍历,后序遍历c.层次遍历 ③线索二...原创 2018-07-21 22:58:45 · 699 阅读 · 1 评论 -
数据结构-哈夫曼树(Huffman)
哈夫曼树 哈夫曼树概述 (1)总括:哈夫曼(Huffman)树又称为最优二叉树,是一类带权路径长度最短的树(2)树的路径长度:树根到每个结点的路径长度之和(对于节点个数相同的二叉树来说,路径长度最短树是完全二叉树)(3)权值(Weight):每个叶子结点所赋予的特殊值(4)叶子带权路径长度:一个叶子结点的权值与该结点到根的路径长度的乘积(5)二叉树的带权路径长度(W...原创 2018-07-21 20:49:20 · 2843 阅读 · 0 评论 -
数据结构-线索二叉树(中序线索二叉树及遍历)
1.二叉树线索化 二叉树的遍历是按照一定的规则把二叉树中的节点按照一定的次序排列成线性序列进行访问的,实质上就是对一个非线性结构进行线索化操作,使得每个节点(除第一个和最后一个外)都有前驱和后继节点,有时为了运算方便需要记录这些前驱和后继节点,称为二叉树线索化,而对于不同的遍历规则,又分为先序线索二叉树,中序线索二叉树,后序线索二叉树。2.线索二叉树的定义 (1)思路: ...原创 2018-07-15 11:42:02 · 23225 阅读 · 12 评论 -
数据结构-二叉树[非递归遍历](先序遍历,中序遍历,后续遍历,层次遍历)
数据结构-二叉树[非递归遍历]1.二叉树概念2.二叉树的构造及删除 不得不说下二叉树的构造,本来我是想找非递归实现的,结果只看到了完全二叉树和满二叉树(下文有)的构造方法,所以这一部分我暂时函数用前序的方法构造和删除,然后二叉树的概念在上篇文:二叉树的递归实现有介绍所以放个传送门大家自己去看看。 传送门: 点击打开链接3.完全二叉树和满二叉树的非递归构造 (1)思路:利用完...原创 2018-07-14 22:05:16 · 585 阅读 · 0 评论 -
数据结构-线索二叉树(后序线索二叉树及遍历)
后序线索二叉树 线索化的概念及相关图解 在上一篇中详细介绍了中序线索二叉树,线索化图解及相关概念都放在那篇博客啦,放个传送门线索二叉树详细解析(含图解):传送门包括还有先序线索二叉树:传送门 后序线索二叉树 (1)后序线索二叉树的构造 ①思路:在这里说下构造的原因,与先序中序线索二叉树不同,在遍历时后序时先把孩子全部遍历了再回到父...原创 2018-07-20 12:09:32 · 45534 阅读 · 2 评论 -
数据结构-线索二叉树(先序线索二叉树及遍历)
先序线索二叉树 线索化的概念及相关图解 在上一篇中详细介绍了中序线索二叉树,线索化图解及相关概念都放在那篇博客啦,放个传送门线索二叉树详细解析(含图解):传送门 先序线索二叉树 (1)先序线索化 ①思路: a.根节点:若左孩子节点空,左孩子节点指向前驱节点(前一次访问的节点Pre_No...原创 2018-07-19 23:06:26 · 6654 阅读 · 0 评论 -
数据结构-二叉树[递归实现](构造,析构,先序遍历,中序遍历,后续遍历,层次遍历)
一、二叉树概念1.定义 二叉树(Binary Tree)是n(n不小于0)个节点组成的有限集合,且满足以下条件之一 (1)n=0时,为空二叉树(无节点) (2)n>0时,为非空二叉树,由一个根节点和两颗互不相交的子树(左子树,右子树)的二叉树构成2.常见的二叉树 (1)斜树 所有节点只有左子树或者右子树的二叉树 (2)满二叉...原创 2018-07-12 13:09:42 · 4985 阅读 · 2 评论 -
数据结构-链表实现(单链表,双链表,类实现)
1.单链表1)单的意思就是说只有一个方向,所以只能往一个方向增加节点。2)也因为单(身)所以处理起来很寂寞,注意几点吧: A)创建和遍历需要一个头节点(不含数据),和一个尾节点。 B)删除和插入都要在前一节点(比如要删除第二个节点,需要在第一个节点操作,又如在第三个节点前插入一个节点,得在第二个节点操作),所以后面类实现的成员函数一般都是找目标的前一节点。类实现(创建,析构,删除,插入...原创 2018-04-06 11:34:46 · 823 阅读 · 0 评论 -
约瑟夫环的链表实现
这篇算是预告吧-------以后会陆续出数据结构的类实现代码和STL详细汇总。所以,关注一下我是不错的嘻嘻:)------------------------------------------------分界线-------------------------------------------------------------------------1.刚开始做这道题我是把头节点一起连进环里...原创 2018-04-04 17:01:56 · 1859 阅读 · 2 评论 -
数据结构-并查集
数据结构-并查集 何为并查集 简述并查集(Union Find)是一种用于管理分组的数据结构。它具备两个操作:(1)查询元素a和元素b是否为同一组 (2) 将元素a和b合并为同一组。在一些应用问题中,我们常需把n个不同的元素划分成若干组不相交的集合,开始时各个元素自成单元素集合,然后按照一定条件将归于同一类的元素的集合合并,在此过程中需反复查询元素归属于哪个集合。并...原创 2018-08-23 20:40:56 · 574 阅读 · 0 评论