![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构基础
JaneandDaria
这个作者很懒,什么都没留下…
展开
-
《剑指offer》数据结构
数组数组中的内存是连续的,可以根据下标在 O(1) 时间 读、写 任何元素,时间效率高,因此可以用来实现简单的哈希表为了解决数组空间效率不高的问题,人们设计了多种动态数组,比如C++的STL中的vector数组的名字也是一个指针,指向数组的第一个元素在32位系统上,对任意指针求sizeof,结果都是4#include <stdio.h>int main(){ ...原创 2019-10-20 14:18:22 · 278 阅读 · 0 评论 -
稀疏矩阵
定义值相同的元素或者零元素在矩阵中的分布有一定规律则为特殊矩阵;反之,则为稀疏矩阵转置对于一个mn的矩阵M,其转置矩阵T为nm的矩阵,将行列值相互交换可得三元组顺序表rowcole1212139252431-33414432444184515#define MAXSIZE 12500...原创 2018-09-25 22:36:43 · 2813 阅读 · 0 评论 -
树的定义和基本术语
树 tree:n个结点的有限集在任意一棵非空树中:(1)有且仅有一个根root (2)当n>1时,其余结点可分为m个互不相交的有限集T1,T2…(子树 subtree)结点 node结点的度 degree:结点拥有的子树数树的度 :degree(max)叶子 leaf:终端结点结点的层次 level深度 depth:level(max)孩子 child:结点子树的根双亲 ...原创 2018-09-25 22:56:18 · 409 阅读 · 0 评论 -
图的连通性
定义生成树:包含图中全部n个顶点,但只有足以构成一棵树的n-1条边深度优先生成树、广度有限生成树最小生成树:权值最小且没有回路有向无环图:无环的有向图构造最小生成树的算法普里姆算法:不断寻找顶点相邻且权值最小的边的另一个顶点克鲁斯卡尔算法:选择代价最小的边,若该边依附的顶点落在不同的连通分量上,则将此边加入,否则舍去此边而选择下一条代价最小的边...原创 2018-10-13 15:58:56 · 607 阅读 · 0 评论 -
AOV-网和AOE-网
定义AOV-网 Activity On Vertex Network:用顶点表示活动,用弧表示活动间的优先关系的有向图,用来研究完成活动的先后次序,即进行拓扑排序AOE-网 Activity On Edge:顶点表示时间结点,弧表示活动,权表示活动持续的时间,用来估算工程的完成时间,即求关键路径的操作拓扑排序在有向图中选一个没有前驱的顶点并输出之从图中删除该顶点和所有以它为尾的弧...原创 2018-10-13 16:24:25 · 2402 阅读 · 0 评论 -
静态查找表
定义查找表:由同一类型的数据元素构成的集合,数据元素之间存在着完全松散的关系静态查找表:只对数据进行查询或检索平均查找长度(Average Search Length):和给定值进行比较的的关键字 个数的期望值ASL=∑i=1nPiCiASL=\sum_{i=1}^n P_iC_iASL=∑i=1nPiCiPiP_iPi为查找表中第iii个记录的概率,且∑i=1nPi=1\su...原创 2018-10-16 23:22:51 · 1759 阅读 · 0 评论 -
图的定义和术语
图中的数据元素称为顶点(Vertex)有向图(Diagraph):弧(Arc):&lt;v,w&gt;&lt;v,w&gt;<v,w> 弧尾(Tail):vvv 弧头(Head):www无向图(Undiagraph):边(Edge):(v,w)(v,w)(v,w)子图度(Degree):与顶点vvv相关联的边的数目,记为TD(V)T...原创 2018-10-10 20:49:18 · 317 阅读 · 0 评论 -
二叉树简介
定义二叉树(Binary Tree):每个结点至多两棵子树,且子树有左右之分,次序不能颠倒完全二叉树:(1)叶结点只可能在倒数两层上出现(2)任一结点有右分支必有左分支性质在二叉树的第iii层至多有2i−12^{i-1}2i−1个结点深度为kkk的二叉树至多有2k−12^k-12k−1个结点,最多时为满二叉树nin_ini为度为iii的结点数,则结点总数n=n0+n1+n2n=...原创 2018-10-10 21:19:38 · 221 阅读 · 0 评论