数据结构
暗紫色的乔松(-_^)
但行远方,莫问前程
展开
-
数据结构(C++)折半查找,折半插入排序,双向冒泡排序,二叉排序树
【代码】数据结构(C++)折半查找,折半插入排序,双向冒泡排序,二叉排序树。原创 2023-02-04 09:39:44 · 153 阅读 · 0 评论 -
数据结构(C++)拓扑排序
【代码】数据结构(C++)拓扑排序。原创 2023-02-03 23:59:29 · 52 阅读 · 0 评论 -
数据结构(C++)最短路径(Dijkstra)
在非网图中,最短路径是指两顶点之间经历的边数最少的路径。路径的第一个顶点称为源点,最后一个顶点称为终点。Dijkstra算法用来求单源点最短路径:给定源点v,求该点到其余各个顶点的最短路径。在网图中,最短路径是指两顶点之间经历的边上权值之和最少的路径。原创 2023-02-03 23:33:00 · 243 阅读 · 0 评论 -
数据结构(C++)最小生成树(Prim)
连通图的生成树是包含图中全部顶点的一个极小连通子图。无向连通网的生成树各边的权值之和称为该生成树的代价,在图的所有生成树中,代价最小的生成树称为最小生成树。原创 2023-02-03 23:06:15 · 211 阅读 · 0 评论 -
数据结构(C++)图的遍历(邻接表,邻接矩阵)
【代码】数据结构(C++)图的遍历(邻接表,邻接矩阵)原创 2023-02-03 21:59:24 · 110 阅读 · 0 评论 -
数据结构(C++)图论基础
图是由顶点的有穷非空集合和顶点之间边的集合组成,表示为G=(V,E)。G表示一个图,V是顶点的集合,E是顶点之间边的集合。,如果顶点vi和vj之间存在路径,则称vi和vj是连通的。若任意顶点vi和vj之间均有路径,则称该图是连通图。:在有向图中,如果任意两顶点之间都存在方向互为相反的两条弧,则称为有向完全图。重要公式:在具有n个顶点e条边的无向图中,度数之和等于边数的两倍。,对任意顶点vi和vj,若从顶点vi到vj均有路径,则称该图是。通常情况下,路径指的都是简单路径,回路指的都是简单回路。原创 2023-02-02 21:08:32 · 594 阅读 · 0 评论 -
数据结构(C++)树和二叉树
在树中将数据元素称为结点。某结点所拥有的子树的个数成为该结点的度。树中各结点度的最大值称为该树的度。度为0的结点称为叶子结点,也称为终端结点,度不为0的结点称为分支结点,也称为非终端结点。某结点的子树的根结点称为该结点的孩子结点,反之,该结点称为其孩子结点的双亲结点。具有同一个双亲的孩子结点互称为兄弟结点。如果从结点x到结点y有一条路径,那么x就称为y的祖先,y称为x的子孙。原创 2023-02-01 22:09:32 · 193 阅读 · 0 评论 -
数据结构(C++)顺序表、单链表
单链表比顺序表要重要一些,比较突出的重点就是插入删除的操作!迅速过一遍顺序表,代码实现如下,采用结构化编程。原创 2023-01-31 21:43:45 · 54 阅读 · 0 评论 -
数据结构(C++)Hash算法,插入排序,希尔排序,选择排序,冒泡排序,归并排序,快速排序,堆排序,基数排序
原理:选择一个增量序列,按照增量序列元素个数进行多次排序,每次排序根据对应的增量将待排序的数列分成若干个长度为m的子序列,分别对子表进行插入排序,当增量为1的时候,整个序列作为一个表来处理,表长度就是整个序列的长度。出现冲突时,可以用拉链法,就是用链表来解决冲突,用一个链表数组,来存储相应数据,当出现冲突时,依次添加到链表的后面进行处理。复杂度:最好可以达到O(n1.3),最坏是O(n2),平均O(nlog2n)~O(n2)复杂度:最好可以达到O(nlog2n),最坏是O(n2),平均O(nlog2n)原创 2023-01-15 23:27:01 · 690 阅读 · 0 评论