数据结构
qq_43674811
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-排序
直接插入排序 快速排序 快速排序的不稳定性:会退化为O(n^2) 改良:pivot可以随机选取,但是依旧无法改变最坏时间复杂度 堆排序 堆排序就是利用完全二叉树中父节点与孩子结点的内在关系进行排序。 最坏时间复杂度也是O(nlogn),不会依据序列顺序而变化 不稳定,对小文件有效,对大文件无效 归并排序 不是原地排序,需要空间复杂度O(n) ...原创 2021-09-23 17:27:48 · 149 阅读 · 0 评论 -
数据结构-堆
模拟堆 数组建树: //建树时间复杂度O(n) void buildtree(int n) { for(int i=1;i<=n;i++) cin>>h[i]; for(int i=n/2;i;i--) down(i); } 删除和插入都记得改变cnt!原创 2021-09-18 23:56:43 · 102 阅读 · 0 评论 -
数据结构-矩阵和广义表
三角矩阵和对称矩阵的存储 其中k是索引下标,第n*(n+1)/2+1存储的是常数。 对称矩阵可以参考下三角矩阵的存储方式。 对角矩阵存储 0号位置存的是主对角线 稀疏矩阵的存储 三元组查找,删除,增添耗时 使用十字链表法: 其中M.chead和M.rhead分别代表行,列的头指针 ...原创 2021-09-16 03:34:22 · 205 阅读 · 0 评论 -
数据结构-霍夫曼树
题目 合并果子 https://www.acwing.com/video/127/ 上图结构是一颗完全二叉树,叶子节点是要合并的果子 耗费体力等于所有的叶子节点权值乘以叶子节点到根节点的距离 注意点: 1.要把权值最小的放在最深的层次上 2.n堆进行一轮合并后,变为n-1堆,n-1堆的合并依然满足第一点(最优子结构) 在这里插入代码片 ...原创 2021-09-16 02:57:05 · 1109 阅读 · 0 评论 -
数据结构-树
基本概念 1.根节点为第一层(layer) 2.把结点的子树棵树称为结点的度(degree),树中结点的最大的度成为树的度 3.满足连通、边数等于顶点数1的结构一定是一棵树 4.结点的深度是从根节点数起,结点的高度是从最底层叶子节点数起 5.多棵树组成森林 6.满二叉树,完全二叉树 二叉树 生成结点: node* newNode(int v) { node* Node=new Node; Node->data=v; Node->lchild=Node->rchild=NULL; r原创 2021-09-11 09:47:42 · 193 阅读 · 0 评论 -
数据结构-图论
最小生成树 MST性质 Prime算法 U集合 为落在最小生成树中的顶点,TE集合 为最小生成树中的边集合,V-U集合 为尚未落在最小生成树中的顶点集原创 2021-09-10 16:18:36 · 251 阅读 · 0 评论
分享