
★数据结构
yyzsir
Mr.Y在努力成为一个全栈攻城狮!
展开
-
线性表
线性表是一种最简单、最常用的数据结构,用它可以描述各种线性放置的数据,实现相应的操作。一个线性表是n个数据元素的有限序列,表中的数据元素,除第一个和最后一个外,有且仅有一个直接前驱和一个直接后继(第一个和最后一个元素除外)。长度为n的线性表可描述为L=(D,R),D表示数据对象,R表示相邻关系。当n=0时,线性表为空表。 线性表有两种存储结构——顺序存储的顺序表(常用的数组)和链式存储的链...原创 2018-05-29 20:01:56 · 363 阅读 · 0 评论 -
栈
栈是限定仅在表尾进行插入和删除操作的线性表。栈的特性是后进先出(last in first out)。对于栈的两种操作压栈Push和出栈Pop,有一个非常有趣的段子,如何辨别一个人是不是程序员,那就问他Push的反义词是啥。回答Pull的肯定不是,回答Pop的才是真正的程序员!一.顺序栈#include<iostream>using namespace std;const ...原创 2018-10-19 20:29:35 · 212 阅读 · 0 评论 -
二叉链表的先序建立、求二叉树的高度和叶子结点个数
二叉树(Binary Tree)是一种特殊的树形数据结构,特点是:每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且有左右子树之分,而且二叉树是有序树。首先我们来熟悉一下二叉树的性质:在二叉树的第i层上结点个数至多为&nbsp;2i−1\ 2^{i-1}&nbsp;2i−1 (i&gt;=1)深度为k的二叉树至多有&nbsp;2k−1\ 2^k-1&nbsp;2k−1个结点(...原创 2019-01-17 20:48:37 · 3539 阅读 · 0 评论 -
Prim算法求最小生成树
求无向网的最小生成树的算法有两种:Prim和Kruskal,它们都是利用最小生成树的MST性质得到的。我们先来介绍Prim算法,Kruskal我们后续介绍。Prim算法思想:逐渐长成一棵最小生成树。假设G=(V,E)是连通无向网,T=(V,TE)是求得的G的最小生成树中边的集合,U是求得的G的最小生成树所含的顶点集。初态时,任取一个顶点u加入U,使得U={u},TE=Ø。重复下述操作:找出U和...原创 2019-01-18 20:54:53 · 46104 阅读 · 4 评论