
数据结构算法
文章平均质量分 60
Every DAV inci
这个作者很懒,什么都没留下…
展开
-
leetcode209. Minimum Size Subarray Sum
建议再想一个时间复杂度是nlogn的方法。但是这题还提供了一个深入的跟进思考。暴力解法在leetcode中会超时。也可以用双指针滑动窗口来进行。可以用暴力解法来进行。以及双循环变量使用时。原创 2024-09-02 14:20:50 · 450 阅读 · 0 评论 -
如何学好数据结构
如何学好数据结构知道数据结构讲的是什么模块化类型化合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入本文全为干货,没有晦涩难懂的专业名词,只有自己的心得体会和有效的学习方法,希望可以帮到各位被数据结构犯难的同学知道数据结构讲的是什么在我们原创 2023-08-06 13:16:58 · 569 阅读 · 0 评论 -
AVL-Review
F(3) = F(0) + F(1) + 1 = 4, 即如果树的深度为2, 那么树中至少有4个节点。F(6) = 33 ----> 即如果树的深度要为6, 那么该树拥有的最少节点应为33。F(n)所求的皆为深度为n时的最少节点数, 如果小于该节点数, 则无法有第n层。:树的根节点到该节点的边的个数,树的深度等于树中该节点的最大层次。F(0) = 1, 即如果树的深度为0, 那么树中至少有1个节点。F(1) = 2, 即如果树的深度为1, 那么树中至少有2个节点。原创 2022-10-24 20:29:45 · 656 阅读 · 0 评论 -
稀疏矩阵知识点总结
如果但题目后句又规定了a[i, j](i原创 2022-09-23 22:17:08 · 657 阅读 · 0 评论 -
三元组表示的稀疏矩阵转置(编程题)
两个矩阵要同时分别进行三元组中元素的检索和赋值,所以定义两个变量来分别表示两个三元组中元素的位置,并且最后要进行变量的更新。首先要初始化一个以三元组形式表示的矩阵,存储原矩阵的转置矩阵,即创建了一个结构体变量要为该结构体变量开辟空间。表示一个系数矩阵的思路:先以三元组的形式将稀疏矩阵进行构建, 再对整个稀疏矩阵中的节点属性进行表示。通过矩阵的列序进行索引,在每一列中都对三元表中的元素进行检索,检索到就进行行列下标的互换并赋原值。在该步骤中要注意两个结构体变量之间的引用关系,首先从。原创 2022-09-23 22:14:06 · 1659 阅读 · 0 评论 -
冒泡排序和选择排序
冒泡排序和选择排序 用了c++之后再回到c语言写排序好陌生(垂头) 记得大一的时候总是搞不清楚这两个排序,现在回过头来看发现还是要根据图来理解,而不是找代码的特征来记(扇耳刮子)冒泡排序:可以看到第一个数组肯定是从0开始作比较的,并且比较到最后一次由于已经固定一个最大值,所以最后一次就没必要比较了,所以循环上限要减去1;随着最大值一个一个的被固定,所以二次循环的比较次数应该是越来越少的,大循环执行一次就固定一个最大值所以二次循环的范围上限要在外部循环范围上限的基础上再减去iint n;原创 2021-12-17 22:43:49 · 212 阅读 · 0 评论 -
AVL Insertion(30分)
AVL Insertion(30分)You are supposed to implement the Insert function, which inserts an integer Key into an AVL tree T. The resulting tree must be returned.Format of function:AVLTree Insert ( AVLTree T, int Key );where AVLTree is defined as the followin原创 2021-11-29 00:11:51 · 685 阅读 · 0 评论 -
三元组顺序表表示的稀疏矩阵转置(10分)
三元组顺序表表示的稀疏矩阵转置(10分)本题要求实现一个函数,实现三元组顺序表表示的稀疏矩阵转置。函数接口定义:struct tripletable * trans(struct tripletable *t1);其中 t1 是用户传入的参数。 函数须返回转置后的三元组顺序表指针。裁判测试程序样例:#include <stdio.h>#include <stdlib.h>#define M 100struct node{ int i,j,v;};st原创 2021-11-29 00:11:45 · 3878 阅读 · 0 评论 -
哈夫曼树及哈夫曼编码(10分)
哈夫曼树及哈夫曼编码(10分)*函数SelectTwoMin(int upbound, HuffmanTree HT, int &s1, int &s2)是从1到upbound中找出father为0的节点赋给s1,s2,(为了保证答案唯一,请让s1的节点编号小于s2),函数HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, int w, int n)是构造哈夫曼树以及计算哈夫曼编码。保证输入的权重值小于1000。函数接口定义:原创 2021-11-29 00:11:38 · 3055 阅读 · 0 评论 -
KMP算法(15分)
KMP算法(15分)函数get_nextval(char T[], int nextval[])是计算字符串T的next数组,函数Index_KMP(char S[], char T[], int pos, int next[])是KMP算法。函数接口定义:void get_nextval(char T[], int next[]);int Index_KMP(char S[], char T[], int pos, int next[]);其中 T 是模式串,S是主串,next是next数组。原创 2021-11-29 00:11:31 · 3613 阅读 · 0 评论 -
三元组顺序表的转置
三元组顺序表的转置基本概念在学习线性代数的时候,经常用到矩阵。在C语言中,表示矩阵的最直观形式就是二维数组。然而在实际应用中,很多高阶矩阵中的非零元素非常少,这个时候如果继续使用二维数组存储,那么就会浪费很多存储空间。在数据结构中,我们用三元组存储稀疏矩阵。三元组定义为(i,v,j),这三个值一次表示矩阵的行、列、值。有了基本的概念之后,就可以定义数据结构了定义一个结构体,来表示三元组的基本属性typedef struct{ int row, col; int e;}Triple;然原创 2021-11-28 00:37:38 · 3134 阅读 · 1 评论 -
数据结构与算法——二叉搜索树操作集、AVL与伸展树
二叉树、平衡二叉树、伸展树二叉搜索树(BST , Binary Search Tree)也称为二叉排序树或者二叉查找树定义:对于任何一个节点,左子树的关键值总小于该节点,右子树的关键值总大于该节点,且对左右子树的任何一个节点都满足上述条件。(递归定义)基本操作:Find;FindMin;FindMax;Insert;Delete二叉搜索树的操作集:<数据结构浙大>04-树7 二叉搜索树的操作集 (30 分)_m0_60791400的博客-优快云博客****平衡因子:某个节点的平衡因子就是那个节点原创 2021-11-28 00:32:28 · 303 阅读 · 0 评论 -
数据结构与算法——稀疏矩阵&内存计算&广义表
数据结构与算法题型——chapter 2:稀疏矩阵&内存计算&广义表pta错题集稀疏矩阵一般的压缩存储方法是三元组和十字链表稀疏矩阵:矩阵压缩之后在另一个数组中的下标表示要掌握三个方法:带入排除法、递推法、计算法带入排除就是把特殊情况带入选项中验证是否满足,从而排除选项之后得到正确结果递推法:将数据列举出来,然后发现规律,从而得到一般表达式,然后与选项比对计算法:一定要熟悉等差数列,从数列的角度找到计算方法然后得出公式、计算结果,最后与选项比对下面是题:就是求等差数列,因原创 2021-11-28 00:19:52 · 482 阅读 · 0 评论