
【数据结构与算法】
Kevin's life
自强不息,突破自我
展开
-
树与二叉树
树的基本概念:1、结点的度 结点的度是子结点的个数。 例如:结点1有三个字结点2,3,4,所以结点1的度为3。2、树的度 树的度等于所有结点度中度最高的值。 例如:上图中结点度最高为3,所以树的度为3。3、叶子结点 叶子结点是度为0的结点即没有子结点的结点。 例如:上图中3,5,6,7,9,10。4、分支结点原创 2018-04-17 16:42:47 · 324 阅读 · 6 评论 -
数据结构基础
数据结构图:1、线性表 概念:数据元素的排列方式是线性。 分类:分类规则是根据上图中元素的存储结构来划分的。1)顺序表 基本思想:元素的存储空间是连续的。在内存中是以顺序存储,内存划分的区域是连续的。存储结构如下图:2)链表 基本思想:元素的存储空间是离散的,单独的(物理),它们可以通过在逻辑上指针的联系使得它成为了整体的链表。存储结构如下图: 1.单链表: 2.循环链表:...原创 2018-04-17 15:25:01 · 212 阅读 · 4 评论 -
数据结构—图
图的相关定义:在图中的数据元素,我们称之为顶点(Vertex),顶点集合有穷非空。在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。图按照边的有无方向分为无向图和有向图。无向图由顶点和边组成,有向图由顶点和弧构成。弧有弧尾和弧头之分,带箭头一端为弧头。图按照边或弧的多少分稀疏图和稠密图。如果图中的任意两个顶点之间都存在边叫做完...原创 2018-04-21 16:34:18 · 314 阅读 · 8 评论 -
排序算法
排序算法分类 空间复杂度:注: 1 归并排序可以通过手摇算法将空间复杂度降到O(1),但是时间复杂度会提高。 2 基数排序时间复杂度为O(N*M),其中N为数据个数,M为数据位数。时间复杂度记忆:冒泡、选择、直接 排序需要两个for循环,每次只关注一个元素,平均时间复杂度为O(n2)O(n2)(一遍找元素O(n)O(...原创 2018-04-21 16:54:37 · 244 阅读 · 10 评论 -
五大算法设计思想
分治法概念:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。思想策略:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。特征:1) 该问题的规模缩小到一定的程度就可以容易地解决 2...原创 2018-05-12 10:18:38 · 24952 阅读 · 85 评论