
数据结构
文章平均质量分 88
雪落之下
纵有狂风,依然前行.
纵有暴雨,那便淋漓尽致.
纵使风暴交加,那也勇往直前.
纵有疾风起,人生不言弃.
展开
-
后缀表达式(是什么,如何转换)
后缀表达式(也称为逆波兰表达式)是一种数学表达式的表示方法,其中操作符位于操作数的后面。这种表示法消除了括号,并且在计算机科学和计算中非常有用,因为它更容易计算和解析。与中缀表达式(通常我们使用的数学表达式,例如"a * (b + c)")不同,后缀表达式的运算符放在操作数之后,例如:“a b c + *”。后缀表达式的计算方法是从左到右遍历表达式,遇到操作数时将其压入栈,遇到操作符时从栈中弹出所需数量的操作数进行计算,然后将结果重新压入栈。原创 2023-10-16 10:52:31 · 6636 阅读 · 0 评论 -
数据结构 排序
时间复杂度表示排序算法执行所需的时间量级,常见的排序算法中,直接插入排序、折半插入排序、希尔排序的时间复杂度为O(n^2),快速排序和堆排序的时间复杂度为O(nlogn),二路归并排序和基数排序的时间复杂度为O(nk),其中k为位数。空间复杂度表示排序算法执行所需的额外空间量级,直接插入排序、折半插入排序、冒泡排序、快速排序、堆排序、二路归并排序的空间复杂度为O(1),简单选择排序的空间复杂。插入排序的基本思想是将待排序的元素逐个插入到已排序序列中的适当位置,从而得到一个新的有序序列。原创 2023-07-06 19:25:04 · 490 阅读 · 0 评论 -
数据结构 查找
哈希表查找和二叉搜索树查找能够在O(1)或O(log n)的时间内完成查找,但需要额外的空间来存储哈希表或二叉搜索树。时间复杂度为O(log n)。折半查找也称为二分查找,它要求数据结构中的元素必须按照关键字的大小有序排列,通过将待查找范围逐渐缩小一半来快速定位目标元素。分块查找又称为索引顺序查找,它将数据结构分为若干块,每块中的元素可以是无序的,但块与块之间必须按照关键字的大小有序排列。顺序查找是一种简单的查找方法,它按顺序逐个比较待查找元素与数据结构中的元素,直到找到匹配的元素或遍历完整个数据结构。原创 2023-07-06 15:55:27 · 1733 阅读 · 0 评论 -
数据结构 六.图
图的定义:在计算机科学中,图是由节点(顶点)和连接节点的边组成的一种数据结构。图可以用于表示不同对象之间的关系,如网络中的计算机节点、社交网络中的用户等。这些示例演示了在C语言中执行图的基本操作的方法。请注意,这些示例中的图表示使用邻接矩阵来存储连接关系,你可以根据需要选择其他图的存储结构来实现相应的操作。图的遍历是指从图中的某个起始节点出发,按照一定的规则访问图中的所有。原创 2023-06-27 19:35:43 · 858 阅读 · 0 评论 -
数据结构 树
顺序存储:使用数组来表示二叉树的节点,按照层次遍历的顺序存储节点的数据。对于某个节点的索引为i,它的左子节点的索引为2i,右子节点的索引为2i+1。哈夫曼树的特点是权值较大的节点离根节点较近,权值较小的节点离根节点较远。二叉树是一种特殊的树结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。线索二叉树是在二叉树的基础上,利用空指针的空闲域或者指针域指向前驱节点或后继节点,形成一种特殊的二叉树结构。线索二叉树可以提高遍历二叉树的效率,可以快速找到一个节点的前驱节点或后继节点。原创 2023-06-21 10:37:33 · 1117 阅读 · 0 评论 -
数据结构 串
在数据结构中,串(String)是由零个或多个字符组成的有限序列。它是一种常见的数据类型,常用于表示文本、字符串和符号序列等信息。串可以包含任意字符,包括字母、数字、符号以及空格等。主串(Main String)是指一个串中的完整序列,它可以包含一个或多个字串。主串是整个串的基础,在处理串的问题时,通常会对主串进行操作。字串(Substring)是指主串中连续的一段字符序列。换句话说,字串是主串的一部分,它由主串中的一个或多个字符按照顺序组成。字串可以包含主串中的所有字符,也可以只包含其中的一部分。原创 2023-06-18 10:16:57 · 1342 阅读 · 0 评论 -
数据结构 栈和队列
5. 访问效率:顺序存储结构的元素在内存中是连续存储的,对于 CPU 缓存等硬件有较好的利用效率,因此在访问速度上可能更快。特殊矩阵的压缩存储可以大幅减少存储空间的占用,提高存储效率,并在某些情况下加速矩阵的运算和操作。需要注意的是,多维数组的存储方式可能会影响程序的性能,特别是对于大型多维数组和对数组访问频繁的场景。总之,栈和队列都是重要的数据结构,在不同的应用场景中发挥着关键的作用。栈和队列都是常见的数据结构,可以使用不同的存储结构进行实现,包括顺序存储结构和链式存储结构。函数判断栈是否为空。原创 2023-06-15 20:23:20 · 4667 阅读 · 3 评论 -
数据结构 线性表
其中,数组实现的线性表具有随机访问的优势,可以通过索引直接访问元素,而链表实现的线性表具有动态插入和删除的优势。哈希表:哈希表是一种基于数组的线性表,通过哈希函数将关键字映射到数组的索引位置,用于高效地查找、插入和删除元素。链表:链表是一种链式存储的线性表,适用于频繁插入和删除元素的场景。这些只是线性表在各个领域中的一些应用示例,实际上线性表作为一种基础数据结构,几乎在所有计算机科学和软件开发的领域中都有广泛的应用。,并实现了初始化、获取长度、判断是否为空、获取元素、插入元素、删除元素和输出线性表的函数。原创 2023-06-14 18:55:24 · 1648 阅读 · 0 评论 -
数据结构 一绪论
1.数据:数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合。2.数据元素:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一个数据元素,它由学号、姓名、性别等数据项组成。3.数据对象:数据对象是具有相同性值的数据元素的集合,是数据的一个子集。4.数据类型:数据类型是一个值的集合和定义再此集合上的一组操作的总称。1)原子类型。,常见复杂度(数据结构,算法,)原创 2023-06-12 17:02:43 · 1142 阅读 · 1 评论