数据结构
MElephant-L
以己之力,追吾所愿
展开
-
2018.5.19(二叉树的遍历-递归(系统压栈))
二叉树前根序、中根序、后根序遍历分析 借鉴大神博客 https://blog.csdn.net/prince_jun/article/details/7699024 前根序遍历 #include<iostream> #include<cstdio> #include<cstring> using namespace s原创 2018-05-19 21:20:04 · 412 阅读 · 0 评论 -
2018.6.6(最小生成树)
最小生成树:构造的连通网的最小代价生成树 普里姆(prim)算法 算法详解: 如图所示无向图 prim算法是任意找一点,取与这一点相关的所有边中权值最小的边,这条边又开辟了一块新结点,依次操作,直到n个结点连通,且只有(n-1)条边; 假设n=9,当前取的边数为total=0,取的第一个点为v0点,定义一个优先队列Q(排序方式是由小到大),与v0相连的边有两条,分别加...原创 2018-06-06 15:49:20 · 196 阅读 · 0 评论 -
2018.5.23(二叉树-中序遍历中查找某一结点的后继结点)
#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; struct Tree { int data; Tree *parent;//存储某一结点的父结点 Tree *left,*right; }; Tree *Insert(Tree *ro...原创 2018-05-23 19:55:41 · 860 阅读 · 0 评论 -
2018.6.3(图的建立--Adjacency List)
大话数据结构 #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; const int maxn=110; struct Edge_Node//边表结点 { int data;//邻接点域,存储该顶点对应的下标 int weight;//存...原创 2018-06-03 14:32:04 · 3131 阅读 · 2 评论 -
2018.5.22(树的图形化显示-理解)
//需在加头文件#include<windows.h> //GraphShow()函数中x,y为输出结点的坐标,k=0,1,2分别代表结点为根,左子,右子,space控制输出的树宽度 //改程序仅能在windows平台上运行 #include<iostream> #include<cstdio> #include<cstdlib> #include&...翻译 2018-05-22 20:09:53 · 1101 阅读 · 0 评论 -
2018.5.22(二叉树的遍历-非递归(手动压栈))
遍历解释–递归版https://blog.csdn.net/Violet_ljp/article/details/80378033 手动压栈 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;stack&gt; #include&lt;cst原创 2018-05-22 20:02:09 · 225 阅读 · 0 评论 -
2018.5.26(求完全二叉树的结点个数)
完全二叉树: 一棵树去除掉最大阶层后为一满二叉树,且阶层最大那层的结点均向左靠齐,则该二叉树为完全二叉树; 求完全二叉树的结点个数要求时间复杂度低于O(n) 思路剖析: 调用递归解决问题,先求出当前树的深度,在判断当前根结点的左右子树哪个为满二叉树,如果左二叉树为满二叉树,调用递归函数Is_FBT(head-&amp;gt;right,total_node+(1&amp;lt;...原创 2018-05-26 17:36:31 · 1509 阅读 · 0 评论 -
2018.5.26(平衡二叉树?)
平衡二叉树概念:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 面向对象代码 #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; class Tree { public: int data; Tre...原创 2018-05-26 09:28:56 · 182 阅读 · 0 评论 -
2018.5.19(链表)c语言版
#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstdlib&gt; using namespace std; struct List { int data; List *next; }; List *Create_01()//按输入顺序建立链表; { List *head=NULL,*tail=...原创 2018-05-19 17:08:01 · 162 阅读 · 0 评论 -
2018.9.19(二叉树)
链表表示 题目描述:用链表建立二叉树。 有一棵深度为N(N&amp;lt;=20)的树,请用链表建立二叉树。 【输入格式】 第一行为一正整数N,表示有多少个元素,第二行为N个元素 【输出格式】 按数组顺序输出即可。 【输入样例】 9 6 3 8 5 2 9 4 7 10 【输出样例】 6 3 2 5 4 8 7 9 10 #include&amp;lt;iostream&amp;gt; #incl...原创 2018-05-19 20:27:26 · 202 阅读 · 0 评论 -
2018.6.8(prefex tree)
#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; struct Trie { int pass; int end; Trie *next[26]; }; void Initial(Trie *node)//传入参数前,确保实参已经分配好...原创 2018-06-08 09:44:15 · 223 阅读 · 0 评论