随笔分类 -  数据结构

数据结构知识整理
摘要:用邻接矩阵构造图时,若存储的是一个无向图,则时间复杂度为O(n^2 + n*e),其中,对邻接矩阵的初始化耗费的时间为O(n^2); 对于DFS,BFS遍历来说,时间复杂度和存储结构有关: n表示有n个顶点,e表示有e条边。 1.若采用邻接矩阵存储, 时间复杂度为O(n^2); 2.若采用邻接链表存 阅读全文
posted @ 2022-12-22 21:31 kuailest 阅读(1369) 评论(0) 推荐(0) 编辑
摘要:题目描述 定义哈希函数为H(key) = key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。 输入 测试次数t 每组测试数据格式如下: 哈希表长m、关键字个数n n个关键字 查找次数k k个待查关键字 输出 对每组测试数据,输出以下信息: 构造的 阅读全文
posted @ 2022-12-12 22:38 kuailest 阅读(372) 评论(0) 推荐(0) 编辑
摘要:构造哈夫曼树步骤是, 选择两个权值最小的点构造树,新树根权值为左右子树权值之和,新的权值放回到序列中,继续按照上述不走构造树,直到只有一颗树为止。权值排序一下:2 3 5 6 8选择2和3构造树,权值序列变为5 5 6 8/ \2 3选择 5 56 8 10/ \5 5/ \2 3选择 6,8构造权 阅读全文
posted @ 2022-12-12 22:30 kuailest 阅读(518) 评论(0) 推荐(0) 编辑
摘要:1. 八进制常量:开头必须是0,且八进制是0-7之间组成的数,例如,029就是错误的八进制表示方式。 2. 十六进制常量:0X开头,包含字母ABCDEF,不区分大小写,例如0x与0X一样,0Xaa与0xAA,都是正确的。 3. 实数型常量:必须有小数点,例如定义double a=1就是错误的,必须写 阅读全文
posted @ 2022-12-12 22:08 kuailest 阅读(530) 评论(0) 推荐(0) 编辑
摘要:对带权有向图可用 v1可以从v0开始写,都可以 如下图 填好表格 将第一行和第一列填入下一个表,判断第一行或第一列有无穷的,则这个元素的列或行的值填原来的,同时对角线填原理的值,如上图 在看空的值,给他画一个十字。若这个空位的值前一个表格原来的值比从这个元素画十字与红字相交的两个元素之和要大,则填入 阅读全文
posted @ 2022-12-11 22:12 kuailest 阅读(58) 评论(0) 推荐(0) 编辑
摘要:一、用const修饰函数的参数 函数参数类型前加const指明该参数为常量,在函数内部不可改变。 void func(const int x) { //x不可以在内部进行赋值等操作. } 注:当参数为引用传递或者指针传递作为输出时,都不能加const 二、用const修饰函数的返回值## 函数返回时 阅读全文
posted @ 2022-12-10 21:20 kuailest 阅读(141) 评论(0) 推荐(0) 编辑
摘要:首先他们完全不同 在c语言中 1、“字符“”用单引号作为定界符,“字符串”用双引号作为定界符;2、“字符”在屏幕上打印一个字符的时候,需要在printf函数中,使用“%c”这个占位符。“字符串”需要用使用的是“%s”这个占位符;3、 “字符”和“字符串”还有一个区别,“字符”占据一个字节,但是“字符 阅读全文
posted @ 2022-12-04 23:01 kuailest 阅读(4619) 评论(0) 推荐(0) 编辑
摘要:先来个表格方便理解 深度优先搜索(DFS) 广度优先搜索(BFS) 1、DFS从根节点开始搜索,并从根节点尽可能远地探索这些节点。2、使用堆栈数据结构来记住下一个节点访问。3、DFS所需的内存少于BFS所需的内存。4、它是通过LIFO列表应用的。5、寻找最短距离的理想选择。6、该算法用于解决问题,拓 阅读全文
posted @ 2022-12-04 22:44 kuailest 阅读(909) 评论(0) 推荐(0) 编辑
摘要:1.绪论 2.线性表 3.栈和队列 4.数和二叉树 5.图 6.查找 7.排序 阅读全文
posted @ 2022-12-04 22:35 kuailest 阅读(99) 评论(0) 推荐(0) 编辑
摘要:1,派生类继承了基类的所有成员函数和数据成员(构造函数、析构函数和操作符重载函数外)。 2,当不指明继承方式时,默认为私有继承。 3,基类的私有成员仅在基类中可见,在派生类中是不可见的。基类的私有成员可以由派生类继承,但在派生类中不可见。尽管在派生类中不能直接访问基类的私有成员,但可以通过间接的方式 阅读全文
posted @ 2022-12-04 22:24 kuailest 阅读(100) 评论(0) 推荐(0) 编辑
摘要:在必定条件下,不一样类型的数据之间能够进行类型转换,如能够将整型数据赋给双精度型变量。在赋值以前,先把整型数据转换成双精度型数据,而后再把它赋给双精度型变量。这种不一样类型数据之间的自动转换和赋值,称为赋值兼容。在基类和派生类对象之间也存有赋值兼容关系,基类和派生类对象之间的赋值兼容规则是指在须要基 阅读全文
posted @ 2022-12-01 22:32 kuailest 阅读(313) 评论(0) 推荐(0) 编辑
摘要:关系图表 数组中的子数组、子序列、子段以及字符串的子串、子序列解释 类型 名称 连续性 数组 子数组 连续 子段 连续 子序列 不一定连续 字符串 子串 连续 子序列 不一定连续 数组,段和串都是连续的。序列是可断开的。 数组 1.子数组 子数组的定义:一个或连续多个数组中的元素组成一个子数组(子数 阅读全文
posted @ 2022-11-11 22:36 kuailest 阅读(1546) 评论(0) 推荐(0) 编辑
摘要:最长公共子序列和最长公共子串区别 最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。 例如 X = {a, Q, 1, 1}; 阅读全文
posted @ 2022-11-10 23:34 kuailest 阅读(198) 评论(0) 推荐(0) 编辑
摘要:最长公共子序列和最长公共子串区别 最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。 例如 X = {a, Q, 1, 1}; 阅读全文
posted @ 2022-11-09 00:08 kuailest 阅读(76) 评论(0) 推荐(0) 编辑
摘要:最小生成树 在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。 求最小生成树的两种方法 1.Kruskal算法 此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 2.Prim算法 此算法可以称为“加点法”,每次 阅读全文
posted @ 2022-11-03 21:28 kuailest 阅读(195) 评论(0) 推荐(0) 编辑
摘要:堆的性质 分为大根堆和小根堆,性质为结点的左右孩子大于或小于根节点 (1)堆是一颗完全二叉树; (2)小(大)顶堆中的每一个节点都不小于(不大于)它的父节点; (3)堆的插入、删除元素的时间复杂度都是O(log n); (4)建堆的时间复杂度是O(n); (5)堆排序的时间复杂度是O(nlog n) 阅读全文
posted @ 2022-10-31 22:47 kuailest 阅读(242) 评论(0) 推荐(0) 编辑
摘要:树的遍历通常分为前序遍历、中序遍历、后序遍历、层序遍历四种情况。 对于遍历方式只是打印顺序而已,所以四种遍历复杂度均相同。 1.非递归遍历(辅助栈) 时间复杂度:O(N) 空间复杂度:O(N) 由于每个节点都要进栈和出栈,所以时间复杂度为O(N),同样空间复杂度也为O(N),N为结点数。 2.递归遍 阅读全文
posted @ 2022-10-31 22:04 kuailest 阅读(1796) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-10-29 22:48 kuailest 阅读(34) 评论(0) 推荐(0) 编辑
摘要:BT树:二叉树 度为2的树 完全二叉树: 最下层所有的结点都连续集中在最左边,这就是完全二叉树 满二叉树: 节点数达到最大值,所有叶子结点必须在同一层上 AVL树:平衡二叉树 左右两个子树的高度差绝对值不超过1 BST树:二叉排序树、二叉查找树、二叉搜索树 左子树的所有节点的值均小于它的根节点的值右 阅读全文
posted @ 2022-10-27 11:46 kuailest 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-10-27 11:27 kuailest 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示